package com.oying.modules.system.rest;
|
|
import com.oying.utils.R;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.RequiredArgsConstructor;
|
import com.oying.domain.dto.EmailDto;
|
import com.oying.service.EmailService;
|
import com.oying.modules.system.service.VerifyService;
|
import com.oying.utils.enums.CodeBiEnum;
|
import com.oying.utils.enums.CodeEnum;
|
import org.springframework.http.HttpStatus;
|
import org.springframework.http.ResponseEntity;
|
import org.springframework.web.bind.annotation.*;
|
import java.util.Objects;
|
|
/**
|
* @author Z
|
* @date 2018-12-26
|
*/
|
@RestController
|
@RequiredArgsConstructor
|
@RequestMapping("/api/code")
|
@Api(tags = "系统:验证码管理")
|
public class VerifyController {
|
|
private final VerifyService verificationCodeService;
|
private final EmailService emailService;
|
|
@PostMapping(value = "/resetEmail")
|
@ApiOperation("重置邮箱,发送验证码")
|
public ResponseEntity<Object> resetEmail(@RequestParam String email){
|
EmailDto emailDto = verificationCodeService.sendEmail(email, CodeEnum.EMAIL_RESET_EMAIL_CODE.getKey());
|
emailService.send(emailDto,emailService.find());
|
return new ResponseEntity<>(R.success(),HttpStatus.OK);
|
}
|
|
@PostMapping(value = "/email/resetPass")
|
@ApiOperation("重置密码,发送验证码")
|
public ResponseEntity<Object> resetPass(@RequestParam String email){
|
EmailDto emailDto = verificationCodeService.sendEmail(email, CodeEnum.EMAIL_RESET_PWD_CODE.getKey());
|
emailService.send(emailDto,emailService.find());
|
return new ResponseEntity<>(R.success(),HttpStatus.OK);
|
}
|
|
@GetMapping(value = "/validated")
|
@ApiOperation("验证码验证")
|
public ResponseEntity<Object> validated(@RequestParam String email, @RequestParam String code, @RequestParam Integer codeBi){
|
CodeBiEnum biEnum = CodeBiEnum.find(codeBi);
|
switch (Objects.requireNonNull(biEnum)){
|
case ONE:
|
verificationCodeService.validated(CodeEnum.EMAIL_RESET_EMAIL_CODE.getKey() + email ,code);
|
break;
|
case TWO:
|
verificationCodeService.validated(CodeEnum.EMAIL_RESET_PWD_CODE.getKey() + email ,code);
|
break;
|
default:
|
break;
|
}
|
return new ResponseEntity<>(R.success(),HttpStatus.OK);
|
}
|
}
|