疯狂的狮子li
2022-07-06 c33aa5c9698d9b3e15660fa4719bc5583b07dd49
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
@@ -5,6 +5,8 @@
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.RandomUtil;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.CaptchaType;
@@ -36,6 +38,7 @@
 *
 * @author Lion Li
 */
@Anonymous
@Slf4j
@Validated
@Api(value = "验证码操作处理", tags = {"验证码管理"})
@@ -45,7 +48,6 @@
    private final CaptchaProperties captchaProperties;
    private final SmsProperties smsProperties;
    private final SmsTemplate smsTemplate;
    private final ISysConfigService configService;
    /**
@@ -59,13 +61,14 @@
        if (smsProperties.getEnabled()) {
            R.fail("当前系统没有开启短信功能!");
        }
        String key = Constants.CAPTCHA_CODE_KEY + phonenumber;
        String key = CacheConstants.CAPTCHA_CODE_KEY + phonenumber;
        String code = RandomUtil.randomNumbers(4);
        RedisUtils.setCacheObject(key, code, Duration.ofMinutes(Constants.CAPTCHA_EXPIRATION));
        // 验证码模板id 自行处理 (查数据库或写死均可)
        String templateId = "";
        Map<String, String> map = new HashMap<>(1);
        map.put("code", code);
        SmsTemplate smsTemplate = SpringUtils.getBean(SmsTemplate.class);
        SmsResult result = smsTemplate.send(phonenumber, templateId, map);
        if (!result.isSuccess()) {
            log.error("验证码短信发送异常 => {}", result);
@@ -88,7 +91,7 @@
        }
        // 保存验证码信息
        String uuid = IdUtil.simpleUUID();
        String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid;
        String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid;
        // 生成验证码
        CaptchaType captchaType = captchaProperties.getType();
        boolean isMath = CaptchaType.MATH == captchaType;