package com.izouma.nineth.web; import com.izouma.nineth.config.Constants; import com.izouma.nineth.exception.BusinessException; import com.izouma.nineth.service.CaptchaService; import com.izouma.nineth.service.sms.SmsService; import lombok.AllArgsConstructor; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.regex.Pattern; @RestController @RequestMapping("/sms") @AllArgsConstructor public class SmsController { private SmsService smsService; private CaptchaService captchaService; @GetMapping("/sendVerify") public String sendVerify(@RequestParam String phone) { throw new BusinessException("此接口已停用,请重启APP或刷新网页"); // if (!Pattern.matches(Constants.Regex.PHONE, phone)) { // throw new BusinessException("请输入正确的手机号"); // } // return smsService.sendVerify(phone); } @GetMapping("/sendSecureVerify") public String sendVerify(@RequestParam String phone, @RequestParam String captcha, @RequestParam String captchaKey) { if (!Pattern.matches(Constants.Regex.PHONE, phone)) { throw new BusinessException("请输入正确的手机号"); } if (!captchaService.verify(captchaKey, captcha)) { throw new BusinessException("验证码错误"); } return smsService.sendVerify(phone); } @GetMapping("/verify") public String verify(@RequestParam String phone, @RequestParam String code) throws SmsService.SmsVerifyException { return smsService.verify(phone, code); } }