mirror of
https://github.com/continew-org/continew-admin.git
synced 2025-09-11 06:57:12 +08:00
优化:基于阿里巴巴 Java 开发手册(黄山版)优化常量及包命名
1.编程规约>常量定义>第4条: 【推荐】不要使用一个常量类维护所有常量,要按常量功能进行归类,分开维护。 说明:大而全的常量类,杂乱无章,使用查找功能才能定位到要修改的常量,不利于理解,也不利于维护。 正例:缓存相关常量放在类 CacheConsts 下;系统配置相关常量放在类 SystemConfigConsts 下。 2.编程规约>常量定义>第5条: 【推荐】常量的复用层次有五层:跨应用共享常量、应用内共享常量、子工程内共享常量、包内共享常 量、类内共享常量。 1)跨应用共享常量:放置在二方库中,通常是 client.jar 中的 constant 目录下。 2)应用内共享常量:放置在一方库中,通常是子模块中的 constant 目录下。 反例:易懂常量也要统一定义成应用内共享常量,两个程序员在两个类中分别定义了表示“是”的常量: 类 A 中:public static final String YES = "yes"; 类 B 中:public static final String YES = "y"; A.YES.equals(B.YES),预期是 true,但实际返回为 false,导致线上问题。 3)子工程内部共享常量:即在当前子工程的 constant 目录下。 4)包内共享常量:即在当前包下单独的 constant 目录下。 5)类内共享常量:直接在类内部 private static final 定义。
This commit is contained in:
@@ -34,7 +34,7 @@ import top.charles7c.cnadmin.auth.model.request.LoginRequest;
|
||||
import top.charles7c.cnadmin.auth.model.vo.LoginVO;
|
||||
import top.charles7c.cnadmin.auth.model.vo.UserInfoVO;
|
||||
import top.charles7c.cnadmin.auth.service.LoginService;
|
||||
import top.charles7c.cnadmin.common.consts.CacheConstants;
|
||||
import top.charles7c.cnadmin.common.constant.CacheConsts;
|
||||
import top.charles7c.cnadmin.common.model.dto.LoginUser;
|
||||
import top.charles7c.cnadmin.common.model.vo.R;
|
||||
import top.charles7c.cnadmin.common.util.ExceptionUtils;
|
||||
@@ -62,7 +62,7 @@ public class LoginController {
|
||||
@PostMapping("/login")
|
||||
public R<LoginVO> login(@Validated @RequestBody LoginRequest loginRequest) {
|
||||
// 校验验证码
|
||||
String captchaKey = RedisUtils.formatKey(CacheConstants.CAPTCHA_CACHE_KEY, loginRequest.getUuid());
|
||||
String captchaKey = RedisUtils.formatKey(CacheConsts.CAPTCHA_CACHE_KEY, loginRequest.getUuid());
|
||||
String captcha = RedisUtils.getCacheObject(captchaKey);
|
||||
ValidationUtils.throwIfBlank(captcha, "验证码已失效");
|
||||
RedisUtils.deleteCacheObject(captchaKey);
|
||||
|
@@ -42,7 +42,7 @@ import cn.hutool.core.util.RandomUtil;
|
||||
|
||||
import top.charles7c.cnadmin.common.config.properties.CaptchaProperties;
|
||||
import top.charles7c.cnadmin.common.config.properties.ContiNewAdminProperties;
|
||||
import top.charles7c.cnadmin.common.consts.CacheConstants;
|
||||
import top.charles7c.cnadmin.common.constant.CacheConsts;
|
||||
import top.charles7c.cnadmin.common.model.vo.CaptchaVO;
|
||||
import top.charles7c.cnadmin.common.model.vo.R;
|
||||
import top.charles7c.cnadmin.common.util.*;
|
||||
@@ -74,7 +74,7 @@ public class CaptchaController {
|
||||
|
||||
// 保存验证码
|
||||
String uuid = IdUtil.fastSimpleUUID();
|
||||
String captchaKey = RedisUtils.formatKey(CacheConstants.CAPTCHA_CACHE_KEY, uuid);
|
||||
String captchaKey = RedisUtils.formatKey(CacheConsts.CAPTCHA_CACHE_KEY, uuid);
|
||||
RedisUtils.setCacheObject(captchaKey, captcha.text(),
|
||||
Duration.ofMinutes(captchaImage.getExpirationInMinutes()));
|
||||
|
||||
@@ -88,8 +88,8 @@ public class CaptchaController {
|
||||
public R getMailCaptcha(
|
||||
@NotBlank(message = "邮箱不能为空") @Pattern(regexp = RegexPool.EMAIL, message = "邮箱格式错误") String email)
|
||||
throws MessagingException {
|
||||
String limitCacheKey = CacheConstants.LIMIT_CACHE_KEY;
|
||||
String captchaCacheKey = CacheConstants.CAPTCHA_CACHE_KEY;
|
||||
String limitCacheKey = CacheConsts.LIMIT_CACHE_KEY;
|
||||
String captchaCacheKey = CacheConsts.CAPTCHA_CACHE_KEY;
|
||||
String limitCaptchaKey = RedisUtils.formatKey(limitCacheKey, captchaCacheKey, email);
|
||||
long limitTimeInMillisecond = RedisUtils.getTimeToLive(limitCaptchaKey);
|
||||
CheckUtils.throwIf(() -> limitTimeInMillisecond > 0,
|
||||
@@ -106,7 +106,7 @@ public class CaptchaController {
|
||||
MailUtils.sendHtml(email, String.format("【%s】邮箱验证码", properties.getName()), content);
|
||||
|
||||
// 保存验证码
|
||||
String captchaKey = RedisUtils.formatKey(CacheConstants.CAPTCHA_CACHE_KEY, email);
|
||||
String captchaKey = RedisUtils.formatKey(CacheConsts.CAPTCHA_CACHE_KEY, email);
|
||||
RedisUtils.setCacheObject(captchaKey, captcha, Duration.ofMinutes(expirationInMinutes));
|
||||
RedisUtils.setCacheObject(limitCaptchaKey, captcha, Duration.ofSeconds(captchaMail.getLimitInSeconds()));
|
||||
return R.ok(String.format("发送成功,验证码有效期 %s 分钟", expirationInMinutes));
|
||||
|
@@ -38,7 +38,7 @@ import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
|
||||
import top.charles7c.cnadmin.common.consts.CacheConstants;
|
||||
import top.charles7c.cnadmin.common.constant.CacheConsts;
|
||||
import top.charles7c.cnadmin.common.model.dto.LoginUser;
|
||||
import top.charles7c.cnadmin.common.model.query.PageQuery;
|
||||
import top.charles7c.cnadmin.common.model.vo.PageDataVO;
|
||||
@@ -74,7 +74,7 @@ public class OnlineUserController {
|
||||
|
||||
// 获取 Token Session
|
||||
SaSession saSession = StpUtil.getTokenSessionByToken(token);
|
||||
LoginUser loginUser = saSession.get(CacheConstants.LOGIN_USER_CACHE_KEY, new LoginUser());
|
||||
LoginUser loginUser = saSession.get(CacheConsts.LOGIN_USER_CACHE_KEY, new LoginUser());
|
||||
|
||||
// 检查是否符合查询条件
|
||||
if (Boolean.TRUE.equals(checkQuery(query, loginUser))) {
|
||||
|
@@ -30,8 +30,8 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.ReUtil;
|
||||
|
||||
import top.charles7c.cnadmin.common.consts.CacheConstants;
|
||||
import top.charles7c.cnadmin.common.consts.RegExpConstants;
|
||||
import top.charles7c.cnadmin.common.constant.CacheConsts;
|
||||
import top.charles7c.cnadmin.common.constant.RegExpConsts;
|
||||
import top.charles7c.cnadmin.common.model.vo.R;
|
||||
import top.charles7c.cnadmin.common.util.ExceptionUtils;
|
||||
import top.charles7c.cnadmin.common.util.RedisUtils;
|
||||
@@ -89,7 +89,7 @@ public class UserCenterController {
|
||||
String rawNewPassword =
|
||||
ExceptionUtils.exToNull(() -> SecureUtils.decryptByRsaPrivateKey(updatePasswordRequest.getNewPassword()));
|
||||
ValidationUtils.throwIfBlank(rawNewPassword, "新密码解密失败");
|
||||
ValidationUtils.throwIf(() -> !ReUtil.isMatch(RegExpConstants.PASSWORD, rawNewPassword),
|
||||
ValidationUtils.throwIf(() -> !ReUtil.isMatch(RegExpConsts.PASSWORD, rawNewPassword),
|
||||
"密码长度 6 到 32 位,同时包含数字和字母");
|
||||
|
||||
// 修改密码
|
||||
@@ -105,7 +105,7 @@ public class UserCenterController {
|
||||
ValidationUtils.throwIfBlank(rawCurrentPassword, "当前密码解密失败");
|
||||
|
||||
// 校验验证码
|
||||
String captchaKey = RedisUtils.formatKey(CacheConstants.CAPTCHA_CACHE_KEY, updateEmailRequest.getNewEmail());
|
||||
String captchaKey = RedisUtils.formatKey(CacheConsts.CAPTCHA_CACHE_KEY, updateEmailRequest.getNewEmail());
|
||||
String captcha = RedisUtils.getCacheObject(captchaKey);
|
||||
ValidationUtils.throwIfBlank(captcha, "验证码已失效");
|
||||
ValidationUtils.throwIfNotEqualIgnoreCase(updateEmailRequest.getCaptcha(), captcha, "验证码错误");
|
||||
|
@@ -30,7 +30,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import top.charles7c.cnadmin.common.annotation.CrudRequestMapping;
|
||||
import top.charles7c.cnadmin.common.base.BaseController;
|
||||
import top.charles7c.cnadmin.common.base.BaseRequest;
|
||||
import top.charles7c.cnadmin.common.consts.Constants;
|
||||
import top.charles7c.cnadmin.common.constant.SysConsts;
|
||||
import top.charles7c.cnadmin.common.model.vo.R;
|
||||
import top.charles7c.cnadmin.system.model.query.UserQuery;
|
||||
import top.charles7c.cnadmin.system.model.request.UpdateUserRoleRequest;
|
||||
@@ -55,7 +55,7 @@ public class UserController extends BaseController<UserService, UserVO, UserDeta
|
||||
@SaCheckPermission("system:user:add")
|
||||
protected R<Long> add(@Validated(BaseRequest.Add.class) @RequestBody UserRequest request) {
|
||||
Long id = baseService.add(request);
|
||||
return R.ok(String.format("新增成功,请牢记默认密码:%s", Constants.DEFAULT_PASSWORD), id);
|
||||
return R.ok(String.format("新增成功,请牢记默认密码:%s", SysConsts.DEFAULT_PASSWORD), id);
|
||||
}
|
||||
|
||||
@Operation(summary = "重置密码", description = "重置用户登录密码为默认密码")
|
||||
@@ -63,7 +63,7 @@ public class UserController extends BaseController<UserService, UserVO, UserDeta
|
||||
@PatchMapping("/{userId}/password")
|
||||
public R resetPassword(@PathVariable Long userId) {
|
||||
baseService.resetPassword(userId);
|
||||
return R.ok(String.format("重置密码成功,请牢记默认密码:%s", Constants.DEFAULT_PASSWORD));
|
||||
return R.ok(String.format("重置密码成功,请牢记默认密码:%s", SysConsts.DEFAULT_PASSWORD));
|
||||
}
|
||||
|
||||
@Operation(summary = "分配角色", description = "为用户新增或移除角色")
|
||||
|
Reference in New Issue
Block a user