mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-10-31 22:57:17 +08:00 
			
		
		
		
	refactor: 适配 ContiNew Starter Redisson 自动配置
This commit is contained in:
		| @@ -41,13 +41,13 @@ import top.charles7c.cnadmin.auth.model.resp.UserInfoResp; | ||||
| import top.charles7c.cnadmin.auth.service.LoginService; | ||||
| import top.charles7c.cnadmin.common.constant.CacheConsts; | ||||
| import top.charles7c.cnadmin.common.model.dto.LoginUser; | ||||
| import top.charles7c.cnadmin.common.util.RedisUtils; | ||||
| import top.charles7c.cnadmin.common.util.SecureUtils; | ||||
| import top.charles7c.cnadmin.common.util.helper.LoginHelper; | ||||
| import top.charles7c.cnadmin.common.util.validate.ValidationUtils; | ||||
| import top.charles7c.cnadmin.monitor.annotation.Log; | ||||
| import top.charles7c.cnadmin.system.model.resp.UserDetailResp; | ||||
| import top.charles7c.cnadmin.system.service.UserService; | ||||
| import top.charles7c.continew.starter.cache.redisson.util.RedisUtils; | ||||
| import top.charles7c.continew.starter.core.util.ExceptionUtils; | ||||
|  | ||||
| /** | ||||
| @@ -71,9 +71,9 @@ public class AuthController { | ||||
|     @PostMapping("/account") | ||||
|     public LoginResp accountLogin(@Validated @RequestBody AccountLoginReq loginReq) { | ||||
|         String captchaKey = RedisUtils.formatKey(CacheConsts.CAPTCHA_KEY_PREFIX, loginReq.getUuid()); | ||||
|         String captcha = RedisUtils.getCacheObject(captchaKey); | ||||
|         String captcha = RedisUtils.get(captchaKey); | ||||
|         ValidationUtils.throwIfBlank(captcha, "验证码已失效"); | ||||
|         RedisUtils.deleteCacheObject(captchaKey); | ||||
|         RedisUtils.delete(captchaKey); | ||||
|         ValidationUtils.throwIfNotEqualIgnoreCase(loginReq.getCaptcha(), captcha, "验证码错误"); | ||||
|         // 用户登录 | ||||
|         String rawPassword = ExceptionUtils.exToNull(() -> SecureUtils.decryptByRsaPrivateKey(loginReq.getPassword())); | ||||
| @@ -88,10 +88,10 @@ public class AuthController { | ||||
|     public LoginResp emailLogin(@Validated @RequestBody EmailLoginReq loginReq) { | ||||
|         String email = loginReq.getEmail(); | ||||
|         String captchaKey = RedisUtils.formatKey(CacheConsts.CAPTCHA_KEY_PREFIX, email); | ||||
|         String captcha = RedisUtils.getCacheObject(captchaKey); | ||||
|         String captcha = RedisUtils.get(captchaKey); | ||||
|         ValidationUtils.throwIfBlank(captcha, "验证码已失效"); | ||||
|         ValidationUtils.throwIfNotEqualIgnoreCase(loginReq.getCaptcha(), captcha, "验证码错误"); | ||||
|         RedisUtils.deleteCacheObject(captchaKey); | ||||
|         RedisUtils.delete(captchaKey); | ||||
|         String token = loginService.emailLogin(email); | ||||
|         return LoginResp.builder().token(token).build(); | ||||
|     } | ||||
| @@ -102,10 +102,10 @@ public class AuthController { | ||||
|     public LoginResp phoneLogin(@Validated @RequestBody PhoneLoginReq loginReq) { | ||||
|         String phone = loginReq.getPhone(); | ||||
|         String captchaKey = RedisUtils.formatKey(CacheConsts.CAPTCHA_KEY_PREFIX, phone); | ||||
|         String captcha = RedisUtils.getCacheObject(captchaKey); | ||||
|         String captcha = RedisUtils.get(captchaKey); | ||||
|         ValidationUtils.throwIfBlank(captcha, "验证码已失效"); | ||||
|         ValidationUtils.throwIfNotEqualIgnoreCase(loginReq.getCaptcha(), captcha, "验证码错误"); | ||||
|         RedisUtils.deleteCacheObject(captchaKey); | ||||
|         RedisUtils.delete(captchaKey); | ||||
|         String token = loginService.phoneLogin(phone); | ||||
|         return LoginResp.builder().token(token).build(); | ||||
|     } | ||||
|   | ||||
| @@ -53,9 +53,9 @@ import top.charles7c.cnadmin.common.constant.RegexConsts; | ||||
| import top.charles7c.cnadmin.common.model.resp.CaptchaResp; | ||||
| import top.charles7c.cnadmin.common.model.resp.R; | ||||
| import top.charles7c.cnadmin.common.util.MailUtils; | ||||
| import top.charles7c.cnadmin.common.util.RedisUtils; | ||||
| import top.charles7c.cnadmin.common.util.TemplateUtils; | ||||
| import top.charles7c.cnadmin.common.util.validate.CheckUtils; | ||||
| import top.charles7c.continew.starter.cache.redisson.util.RedisUtils; | ||||
|  | ||||
| /** | ||||
|  * 验证码 API | ||||
| @@ -83,8 +83,7 @@ public class CaptchaController { | ||||
|         // 保存验证码 | ||||
|         String uuid = IdUtil.fastUUID(); | ||||
|         String captchaKey = RedisUtils.formatKey(CacheConsts.CAPTCHA_KEY_PREFIX, uuid); | ||||
|         RedisUtils.setCacheObject(captchaKey, captcha.text(), | ||||
|             Duration.ofMinutes(captchaImage.getExpirationInMinutes())); | ||||
|         RedisUtils.set(captchaKey, captcha.text(), Duration.ofMinutes(captchaImage.getExpirationInMinutes())); | ||||
|         return CaptchaResp.builder().uuid(uuid).img(captcha.toBase64()).build(); | ||||
|     } | ||||
|  | ||||
| @@ -108,8 +107,8 @@ public class CaptchaController { | ||||
|         MailUtils.sendHtml(email, String.format("【%s】邮箱验证码", projectProperties.getName()), content); | ||||
|         // 保存验证码 | ||||
|         String captchaKey = RedisUtils.formatKey(captchaKeyPrefix, email); | ||||
|         RedisUtils.setCacheObject(captchaKey, captcha, Duration.ofMinutes(expirationInMinutes)); | ||||
|         RedisUtils.setCacheObject(limitCaptchaKey, captcha, Duration.ofSeconds(captchaMail.getLimitInSeconds())); | ||||
|         RedisUtils.set(captchaKey, captcha, Duration.ofMinutes(expirationInMinutes)); | ||||
|         RedisUtils.set(limitCaptchaKey, captcha, Duration.ofSeconds(captchaMail.getLimitInSeconds())); | ||||
|         return R.ok(String.format("发送成功,验证码有效期 %s 分钟", expirationInMinutes)); | ||||
|     } | ||||
|  | ||||
| @@ -136,8 +135,8 @@ public class CaptchaController { | ||||
|         CheckUtils.throwIf(!smsResponse.isSuccess(), "验证码发送失败"); | ||||
|         // 保存验证码 | ||||
|         String captchaKey = RedisUtils.formatKey(captchaKeyPrefix, phone); | ||||
|         RedisUtils.setCacheObject(captchaKey, captcha, Duration.ofMinutes(expirationInMinutes)); | ||||
|         RedisUtils.setCacheObject(limitCaptchaKey, captcha, Duration.ofSeconds(captchaSms.getLimitInSeconds())); | ||||
|         RedisUtils.set(captchaKey, captcha, Duration.ofMinutes(expirationInMinutes)); | ||||
|         RedisUtils.set(limitCaptchaKey, captcha, Duration.ofSeconds(captchaSms.getLimitInSeconds())); | ||||
|         return R.ok(String.format("发送成功,验证码有效期 %s 分钟", expirationInMinutes)); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -40,7 +40,6 @@ import top.charles7c.cnadmin.common.constant.CacheConsts; | ||||
| import top.charles7c.cnadmin.common.constant.RegexConsts; | ||||
| import top.charles7c.cnadmin.common.enums.SocialSourceEnum; | ||||
| import top.charles7c.cnadmin.common.model.resp.R; | ||||
| import top.charles7c.cnadmin.common.util.RedisUtils; | ||||
| import top.charles7c.cnadmin.common.util.SecureUtils; | ||||
| import top.charles7c.cnadmin.common.util.helper.LoginHelper; | ||||
| import top.charles7c.cnadmin.common.util.validate.ValidationUtils; | ||||
| @@ -53,6 +52,7 @@ import top.charles7c.cnadmin.system.model.resp.AvatarResp; | ||||
| import top.charles7c.cnadmin.system.model.resp.UserSocialBindResp; | ||||
| import top.charles7c.cnadmin.system.service.UserService; | ||||
| import top.charles7c.cnadmin.system.service.UserSocialService; | ||||
| import top.charles7c.continew.starter.cache.redisson.util.RedisUtils; | ||||
| import top.charles7c.continew.starter.core.util.ExceptionUtils; | ||||
|  | ||||
| import me.zhyd.oauth.model.AuthCallback; | ||||
| @@ -114,10 +114,10 @@ public class UserCenterController { | ||||
|             ExceptionUtils.exToNull(() -> SecureUtils.decryptByRsaPrivateKey(updateReq.getCurrentPassword())); | ||||
|         ValidationUtils.throwIfBlank(rawCurrentPassword, "当前密码解密失败"); | ||||
|         String captchaKey = RedisUtils.formatKey(CacheConsts.CAPTCHA_KEY_PREFIX, updateReq.getNewPhone()); | ||||
|         String captcha = RedisUtils.getCacheObject(captchaKey); | ||||
|         String captcha = RedisUtils.get(captchaKey); | ||||
|         ValidationUtils.throwIfBlank(captcha, "验证码已失效"); | ||||
|         ValidationUtils.throwIfNotEqualIgnoreCase(updateReq.getCaptcha(), captcha, "验证码错误"); | ||||
|         RedisUtils.deleteCacheObject(captchaKey); | ||||
|         RedisUtils.delete(captchaKey); | ||||
|         userService.updatePhone(updateReq.getNewPhone(), rawCurrentPassword, LoginHelper.getUserId()); | ||||
|         return R.ok("修改成功"); | ||||
|     } | ||||
| @@ -129,10 +129,10 @@ public class UserCenterController { | ||||
|             ExceptionUtils.exToNull(() -> SecureUtils.decryptByRsaPrivateKey(updateReq.getCurrentPassword())); | ||||
|         ValidationUtils.throwIfBlank(rawCurrentPassword, "当前密码解密失败"); | ||||
|         String captchaKey = RedisUtils.formatKey(CacheConsts.CAPTCHA_KEY_PREFIX, updateReq.getNewEmail()); | ||||
|         String captcha = RedisUtils.getCacheObject(captchaKey); | ||||
|         String captcha = RedisUtils.get(captchaKey); | ||||
|         ValidationUtils.throwIfBlank(captcha, "验证码已失效"); | ||||
|         ValidationUtils.throwIfNotEqualIgnoreCase(updateReq.getCaptcha(), captcha, "验证码错误"); | ||||
|         RedisUtils.deleteCacheObject(captchaKey); | ||||
|         RedisUtils.delete(captchaKey); | ||||
|         userService.updateEmail(updateReq.getNewEmail(), rawCurrentPassword, LoginHelper.getUserId()); | ||||
|         return R.ok("修改成功"); | ||||
|     } | ||||
|   | ||||
| @@ -71,6 +71,9 @@ spring.data: | ||||
|     # 是否开启 SSL | ||||
|     ssl: | ||||
|       enabled: false | ||||
|   redisson: | ||||
|     enabled: true | ||||
|     mode: single | ||||
|  | ||||
| --- ### Spring Cache 配置 | ||||
| spring.cache: | ||||
|   | ||||
| @@ -73,6 +73,9 @@ spring.data: | ||||
|     # 是否开启 SSL | ||||
|     ssl: | ||||
|       enabled: false | ||||
|   redisson: | ||||
|     enabled: true | ||||
|     mode: single | ||||
|  | ||||
| --- ### Spring Cache 配置 | ||||
| spring.cache: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user