From 2aabdb83ad578b0c9213a18d1fb1257349e2bc3f Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期五, 17 二月 2023 10:47:32 +0800 Subject: [PATCH] fix 修复 管理员登出动态租户未清理导致二次无法登录 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/CaptchaController.java | 23 +++++++++++++---------- 1 files changed, 13 insertions(+), 10 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/CaptchaController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/CaptchaController.java index d38d154..bfb127a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/CaptchaController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/CaptchaController.java @@ -5,8 +5,8 @@ import cn.hutool.captcha.generator.CodeGenerator; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.RandomUtil; -import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.Constants; +import com.ruoyi.common.core.constant.GlobalConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.SpringUtils; import com.ruoyi.common.core.utils.StringUtils; @@ -17,7 +17,8 @@ import com.ruoyi.common.sms.entity.SmsResult; import com.ruoyi.common.web.config.properties.CaptchaProperties; import com.ruoyi.common.web.enums.CaptchaType; -import com.ruoyi.system.service.ISysConfigService; +import com.ruoyi.web.domain.vo.CaptchaVo; +import jakarta.validation.constraints.NotBlank; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.expression.Expression; @@ -27,7 +28,6 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; -import jakarta.validation.constraints.NotBlank; import java.time.Duration; import java.util.HashMap; import java.util.Map; @@ -46,7 +46,6 @@ private final CaptchaProperties captchaProperties; private final SmsProperties smsProperties; - private final ISysConfigService configService; /** * 鐭俊楠岃瘉鐮� @@ -59,7 +58,7 @@ if (!smsProperties.getEnabled()) { return R.fail("褰撳墠绯荤粺娌℃湁寮�鍚煭淇″姛鑳斤紒"); } - String key = CacheConstants.CAPTCHA_CODE_KEY + phonenumber; + String key = GlobalConstants.CAPTCHA_CODE_KEY + phonenumber; String code = RandomUtil.randomNumbers(4); RedisUtils.setCacheObject(key, code, Duration.ofMinutes(Constants.CAPTCHA_EXPIRATION)); // 楠岃瘉鐮佹ā鏉縤d 鑷澶勭悊 (鏌ユ暟鎹簱鎴栧啓姝诲潎鍙�) @@ -79,14 +78,16 @@ * 鐢熸垚楠岃瘉鐮� */ @GetMapping("/captchaImage") - public R<Map<String, Object>> getCode() { - boolean captchaEnabled = configService.selectCaptchaEnabled(); + public R<CaptchaVo> getCode() { + CaptchaVo captchaVo = new CaptchaVo(); + boolean captchaEnabled = captchaProperties.getEnable(); if (!captchaEnabled) { - return R.ok(Map.of("captchaEnabled", false)); + captchaVo.setCaptchaEnabled(false); + return R.ok(captchaVo); } // 淇濆瓨楠岃瘉鐮佷俊鎭� String uuid = IdUtil.simpleUUID(); - String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid; + String verifyKey = GlobalConstants.CAPTCHA_CODE_KEY + uuid; // 鐢熸垚楠岃瘉鐮� CaptchaType captchaType = captchaProperties.getType(); boolean isMath = CaptchaType.MATH == captchaType; @@ -102,7 +103,9 @@ code = exp.getValue(String.class); } RedisUtils.setCacheObject(verifyKey, code, Duration.ofMinutes(Constants.CAPTCHA_EXPIRATION)); - return R.ok(Map.of("uuid", uuid, "img", captcha.getImageBase64())); + captchaVo.setUuid(uuid); + captchaVo.setImg(captcha.getImageBase64()); + return R.ok(captchaVo); } } -- Gitblit v1.9.3