xin
2025-06-03 95dc030ad8e77303207a1a42a3afd9a7a6612d75
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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);
    }
}