style: 优化常量命名风格,XxxConsts => XxxConstants

This commit is contained in:
Charles7c 2023-11-22 23:06:50 +08:00
parent a40e609ea1
commit ec28705b6f
49 changed files with 164 additions and 163 deletions

View File

@ -42,7 +42,7 @@ import top.charles7c.cnadmin.common.model.query.PageQuery;
import top.charles7c.cnadmin.common.model.query.SortQuery; import top.charles7c.cnadmin.common.model.query.SortQuery;
import top.charles7c.cnadmin.common.model.resp.PageDataResp; import top.charles7c.cnadmin.common.model.resp.PageDataResp;
import top.charles7c.cnadmin.common.model.resp.R; import top.charles7c.cnadmin.common.model.resp.R;
import top.charles7c.continew.starter.core.constant.StringConsts; import top.charles7c.continew.starter.core.constant.StringConstants;
/** /**
* 控制器基类 * 控制器基类
@ -212,7 +212,7 @@ public abstract class BaseController<S extends BaseService<L, D, Q, C>, L, D, Q,
private void checkPermission(Api api) { private void checkPermission(Api api) {
CrudRequestMapping crudRequestMapping = this.getClass().getDeclaredAnnotation(CrudRequestMapping.class); CrudRequestMapping crudRequestMapping = this.getClass().getDeclaredAnnotation(CrudRequestMapping.class);
String path = crudRequestMapping.value(); String path = crudRequestMapping.value();
String permissionPrefix = String.join(StringConsts.COLON, StrUtil.splitTrim(path, StringConsts.SLASH)); String permissionPrefix = String.join(StringConstants.COLON, StrUtil.splitTrim(path, StringConstants.SLASH));
StpUtil.checkPermission(String.format("%s:%s", permissionPrefix, api.name().toLowerCase())); StpUtil.checkPermission(String.format("%s:%s", permissionPrefix, api.name().toLowerCase()));
} }
} }

View File

@ -30,7 +30,7 @@ import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import top.charles7c.cnadmin.common.config.properties.LocalStorageProperties; import top.charles7c.cnadmin.common.config.properties.LocalStorageProperties;
import top.charles7c.continew.starter.core.constant.StringConsts; import top.charles7c.continew.starter.core.constant.StringConstants;
/** /**
* Web MVC 配置 * Web MVC 配置
@ -52,8 +52,8 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
@Override @Override
public void addResourceHandlers(ResourceHandlerRegistry registry) { public void addResourceHandlers(ResourceHandlerRegistry registry) {
LocalStorageProperties.LocalStoragePath path = localStorageProperties.getPath(); LocalStorageProperties.LocalStoragePath path = localStorageProperties.getPath();
String avatarUtl = "file:" + path.getAvatar().replace(StringConsts.BACKSLASH, StringConsts.SLASH); String avatarUtl = "file:" + path.getAvatar().replace(StringConstants.BACKSLASH, StringConstants.SLASH);
String fileUrl = "file:" + path.getFile().replace(StringConsts.BACKSLASH, StringConsts.SLASH); String fileUrl = "file:" + path.getFile().replace(StringConstants.BACKSLASH, StringConstants.SLASH);
registry.addResourceHandler(localStorageProperties.getFilePattern()).addResourceLocations(fileUrl) registry.addResourceHandler(localStorageProperties.getFilePattern()).addResourceLocations(fileUrl)
.setCachePeriod(0); .setCachePeriod(0);
registry.addResourceHandler(localStorageProperties.getAvatarPattern()).addResourceLocations(avatarUtl) registry.addResourceHandler(localStorageProperties.getAvatarPattern()).addResourceLocations(avatarUtl)

View File

@ -27,7 +27,7 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ClassUtil; import cn.hutool.core.util.ClassUtil;
import top.charles7c.cnadmin.common.base.IBaseEnum; import top.charles7c.cnadmin.common.base.IBaseEnum;
import top.charles7c.continew.starter.core.constant.StringConsts; import top.charles7c.continew.starter.core.constant.StringConstants;
/** /**
* Easy Excel 枚举基类转换器 * Easy Excel 枚举基类转换器
@ -63,7 +63,7 @@ public class ExcelBaseEnumConverter implements Converter<IBaseEnum<Integer>> {
public WriteCellData<String> convertToExcelData(IBaseEnum<Integer> value, ExcelContentProperty contentProperty, public WriteCellData<String> convertToExcelData(IBaseEnum<Integer> value, ExcelContentProperty contentProperty,
GlobalConfiguration globalConfiguration) { GlobalConfiguration globalConfiguration) {
if (null == value) { if (null == value) {
return new WriteCellData<>(StringConsts.EMPTY); return new WriteCellData<>(StringConstants.EMPTY);
} }
return new WriteCellData<>(value.getDescription()); return new WriteCellData<>(value.getDescription());
} }

View File

@ -18,7 +18,7 @@ package top.charles7c.cnadmin.common.config.justauth;
import java.time.Duration; import java.time.Duration;
import top.charles7c.cnadmin.common.constant.CacheConsts; import top.charles7c.cnadmin.common.constant.CacheConstants;
import top.charles7c.continew.starter.cache.redisson.util.RedisUtils; import top.charles7c.continew.starter.cache.redisson.util.RedisUtils;
import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.cache.AuthStateCache;
@ -42,7 +42,7 @@ public class JustAuthRedisStateCache implements AuthStateCache {
@Override @Override
public void cache(String key, String value) { public void cache(String key, String value) {
// 参考 JustAuth 内置了一个基于 map state 缓存器默认缓存有效期为 3 分钟 // 参考 JustAuth 内置了一个基于 map state 缓存器默认缓存有效期为 3 分钟
RedisUtils.set(RedisUtils.formatKey(CacheConsts.SOCIAL_AUTH_STATE_KEY_PREFIX, key), value, RedisUtils.set(RedisUtils.formatKey(CacheConstants.SOCIAL_AUTH_STATE_KEY_PREFIX, key), value,
Duration.ofMinutes(3)); Duration.ofMinutes(3));
} }
@ -58,7 +58,7 @@ public class JustAuthRedisStateCache implements AuthStateCache {
*/ */
@Override @Override
public void cache(String key, String value, long timeout) { public void cache(String key, String value, long timeout) {
RedisUtils.set(RedisUtils.formatKey(CacheConsts.SOCIAL_AUTH_STATE_KEY_PREFIX, key), value, RedisUtils.set(RedisUtils.formatKey(CacheConstants.SOCIAL_AUTH_STATE_KEY_PREFIX, key), value,
Duration.ofMillis(timeout)); Duration.ofMillis(timeout));
} }
@ -71,7 +71,7 @@ public class JustAuthRedisStateCache implements AuthStateCache {
*/ */
@Override @Override
public String get(String key) { public String get(String key) {
return RedisUtils.get(RedisUtils.formatKey(CacheConsts.SOCIAL_AUTH_STATE_KEY_PREFIX, key)); return RedisUtils.get(RedisUtils.formatKey(CacheConstants.SOCIAL_AUTH_STATE_KEY_PREFIX, key));
} }
/** /**
@ -83,6 +83,6 @@ public class JustAuthRedisStateCache implements AuthStateCache {
*/ */
@Override @Override
public boolean containsKey(String key) { public boolean containsKey(String key) {
return RedisUtils.hasKey(RedisUtils.formatKey(CacheConsts.SOCIAL_AUTH_STATE_KEY_PREFIX, key)); return RedisUtils.hasKey(RedisUtils.formatKey(CacheConstants.SOCIAL_AUTH_STATE_KEY_PREFIX, key));
} }
} }

View File

@ -29,7 +29,7 @@ import top.charles7c.cnadmin.common.enums.DataScopeEnum;
import top.charles7c.cnadmin.common.model.dto.LoginUser; import top.charles7c.cnadmin.common.model.dto.LoginUser;
import top.charles7c.cnadmin.common.model.dto.RoleDTO; import top.charles7c.cnadmin.common.model.dto.RoleDTO;
import top.charles7c.cnadmin.common.util.helper.LoginHelper; import top.charles7c.cnadmin.common.util.helper.LoginHelper;
import top.charles7c.continew.starter.core.constant.StringConsts; import top.charles7c.continew.starter.core.constant.StringConstants;
import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.Function; import net.sf.jsqlparser.expression.Function;
@ -75,8 +75,8 @@ public class DataPermissionHandlerImpl implements DataPermissionHandler {
public Expression getSqlSegment(Expression where, String mappedStatementId) { public Expression getSqlSegment(Expression where, String mappedStatementId) {
try { try {
Class<?> clazz = Class<?> clazz =
Class.forName(mappedStatementId.substring(0, mappedStatementId.lastIndexOf(StringConsts.DOT))); Class.forName(mappedStatementId.substring(0, mappedStatementId.lastIndexOf(StringConstants.DOT)));
String methodName = mappedStatementId.substring(mappedStatementId.lastIndexOf(StringConsts.DOT) + 1); String methodName = mappedStatementId.substring(mappedStatementId.lastIndexOf(StringConstants.DOT) + 1);
Method[] methodArr = clazz.getMethods(); Method[] methodArr = clazz.getMethods();
for (Method method : methodArr) { for (Method method : methodArr) {
DataPermission dataPermission = method.getAnnotation(DataPermission.class); DataPermission dataPermission = method.getAnnotation(DataPermission.class);

View File

@ -26,7 +26,7 @@ import lombok.NoArgsConstructor;
* @since 2022/12/22 19:30 * @since 2022/12/22 19:30
*/ */
@NoArgsConstructor(access = AccessLevel.PRIVATE) @NoArgsConstructor(access = AccessLevel.PRIVATE)
public class CacheConsts { public class CacheConstants {
/** /**
* 登录用户键 * 登录用户键

View File

@ -26,7 +26,7 @@ import lombok.NoArgsConstructor;
* @since 2023/1/2 21:19 * @since 2023/1/2 21:19
*/ */
@NoArgsConstructor(access = AccessLevel.PRIVATE) @NoArgsConstructor(access = AccessLevel.PRIVATE)
public class FileConsts { public class FileConstants {
/** /**
* 头像支持的图片类型 * 头像支持的图片类型

View File

@ -28,7 +28,7 @@ import cn.hutool.core.lang.RegexPool;
* @since 2023/1/10 20:06 * @since 2023/1/10 20:06
*/ */
@NoArgsConstructor(access = AccessLevel.PRIVATE) @NoArgsConstructor(access = AccessLevel.PRIVATE)
public class RegexConsts implements RegexPool { public class RegexConstants implements RegexPool {
/** /**
* 用户名正则长度为 4 64 可以包含字母数字下划线以字母开头 * 用户名正则长度为 4 64 可以包含字母数字下划线以字母开头

View File

@ -19,7 +19,7 @@ package top.charles7c.cnadmin.common.constant;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import top.charles7c.continew.starter.core.constant.StringConsts; import top.charles7c.continew.starter.core.constant.StringConstants;
/** /**
* 系统相关常量 * 系统相关常量
@ -28,7 +28,7 @@ import top.charles7c.continew.starter.core.constant.StringConsts;
* @since 2023/2/9 22:11 * @since 2023/2/9 22:11
*/ */
@NoArgsConstructor(access = AccessLevel.PRIVATE) @NoArgsConstructor(access = AccessLevel.PRIVATE)
public class SysConsts { public class SysConstants {
/** /**
* 管理员角色编码 * 管理员角色编码
@ -48,7 +48,7 @@ public class SysConsts {
/** /**
* 全部权限标识 * 全部权限标识
*/ */
public static final String ALL_PERMISSION = StringConsts.ASTERISK; public static final String ALL_PERMISSION = StringConstants.ASTERISK;
/** /**
* 默认密码 * 默认密码

View File

@ -26,7 +26,7 @@ import lombok.NoArgsConstructor;
* @since 2023/9/17 14:12 * @since 2023/9/17 14:12
*/ */
@NoArgsConstructor(access = AccessLevel.PRIVATE) @NoArgsConstructor(access = AccessLevel.PRIVATE)
public class UIConsts { public class UIConstants {
/** /**
* 主色极致蓝 * 主色极致蓝

View File

@ -20,7 +20,7 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import top.charles7c.cnadmin.common.base.IBaseEnum; import top.charles7c.cnadmin.common.base.IBaseEnum;
import top.charles7c.cnadmin.common.constant.UIConsts; import top.charles7c.cnadmin.common.constant.UIConstants;
/** /**
* 启用/禁用状态枚举 * 启用/禁用状态枚举
@ -33,10 +33,10 @@ import top.charles7c.cnadmin.common.constant.UIConsts;
public enum DisEnableStatusEnum implements IBaseEnum<Integer> { public enum DisEnableStatusEnum implements IBaseEnum<Integer> {
/** 启用 */ /** 启用 */
ENABLE(1, "启用", UIConsts.COLOR_SUCCESS), ENABLE(1, "启用", UIConstants.COLOR_SUCCESS),
/** 禁用 */ /** 禁用 */
DISABLE(2, "禁用", UIConsts.COLOR_ERROR),; DISABLE(2, "禁用", UIConstants.COLOR_ERROR),;
private final Integer value; private final Integer value;
private final String description; private final String description;

View File

@ -20,7 +20,7 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import top.charles7c.cnadmin.common.base.IBaseEnum; import top.charles7c.cnadmin.common.base.IBaseEnum;
import top.charles7c.cnadmin.common.constant.UIConsts; import top.charles7c.cnadmin.common.constant.UIConstants;
/** /**
* 消息类型枚举 * 消息类型枚举
@ -33,7 +33,7 @@ import top.charles7c.cnadmin.common.constant.UIConsts;
public enum MessageTypeEnum implements IBaseEnum<Integer> { public enum MessageTypeEnum implements IBaseEnum<Integer> {
/** 系统消息 */ /** 系统消息 */
SYSTEM(1, "系统消息", UIConsts.COLOR_PRIMARY),; SYSTEM(1, "系统消息", UIConstants.COLOR_PRIMARY),;
private final Integer value; private final Integer value;
private final String description; private final String description;

View File

@ -20,7 +20,7 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import top.charles7c.cnadmin.common.base.IBaseEnum; import top.charles7c.cnadmin.common.base.IBaseEnum;
import top.charles7c.cnadmin.common.constant.UIConsts; import top.charles7c.cnadmin.common.constant.UIConstants;
/** /**
* 成功/失败状态枚举 * 成功/失败状态枚举
@ -33,10 +33,10 @@ import top.charles7c.cnadmin.common.constant.UIConsts;
public enum SuccessFailureStatusEnum implements IBaseEnum<Integer> { public enum SuccessFailureStatusEnum implements IBaseEnum<Integer> {
/** 成功 */ /** 成功 */
SUCCESS(1, "成功", UIConsts.COLOR_SUCCESS), SUCCESS(1, "成功", UIConstants.COLOR_SUCCESS),
/** 失败 */ /** 失败 */
FAILURE(2, "失败", UIConsts.COLOR_ERROR),; FAILURE(2, "失败", UIConstants.COLOR_ERROR),;
private final Integer value; private final Integer value;
private final String description; private final String description;

View File

@ -25,7 +25,7 @@ import lombok.Data;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import top.charles7c.cnadmin.common.constant.SysConsts; import top.charles7c.cnadmin.common.constant.SysConstants;
/** /**
* 登录用户信息 * 登录用户信息
@ -103,6 +103,6 @@ public class LoginUser implements Serializable {
if (CollUtil.isEmpty(roleCodes)) { if (CollUtil.isEmpty(roleCodes)) {
return false; return false;
} }
return roleCodes.contains(SysConsts.ADMIN_ROLE_CODE); return roleCodes.contains(SysConstants.ADMIN_ROLE_CODE);
} }
} }

View File

@ -30,7 +30,7 @@ import org.springframework.data.domain.Sort;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import top.charles7c.continew.starter.core.constant.StringConsts; import top.charles7c.continew.starter.core.constant.StringConstants;
/** /**
* 排序查询条件 * 排序查询条件
@ -62,10 +62,10 @@ public class SortQuery implements Serializable {
} }
List<Sort.Order> orders = new ArrayList<>(sort.length); List<Sort.Order> orders = new ArrayList<>(sort.length);
if (StrUtil.contains(sort[0], StringConsts.COMMA)) { if (StrUtil.contains(sort[0], StringConstants.COMMA)) {
// e.g "sort=createTime,desc&sort=name,asc" // e.g "sort=createTime,desc&sort=name,asc"
for (String s : sort) { for (String s : sort) {
List<String> sortList = StrUtil.splitTrim(s, StringConsts.COMMA); List<String> sortList = StrUtil.splitTrim(s, StringConstants.COMMA);
Sort.Order order = Sort.Order order =
new Sort.Order(Sort.Direction.valueOf(sortList.get(1).toUpperCase()), sortList.get(0)); new Sort.Order(Sort.Direction.valueOf(sortList.get(1).toUpperCase()), sortList.get(0));
orders.add(order); orders.add(order);

View File

@ -38,7 +38,7 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil; import cn.hutool.extra.spring.SpringUtil;
import top.charles7c.cnadmin.common.util.validate.CheckUtils; import top.charles7c.cnadmin.common.util.validate.CheckUtils;
import top.charles7c.continew.starter.core.constant.StringConsts; import top.charles7c.continew.starter.core.constant.StringConstants;
/** /**
* 邮件工具类 * 邮件工具类
@ -233,10 +233,10 @@ public class MailUtils {
} }
List<String> result; List<String> result;
if (StrUtil.contains(addresses, StringConsts.COMMA)) { if (StrUtil.contains(addresses, StringConstants.COMMA)) {
result = StrUtil.splitTrim(addresses, StringConsts.COMMA); result = StrUtil.splitTrim(addresses, StringConstants.COMMA);
} else if (StrUtil.contains(addresses, StringConsts.SEMICOLON)) { } else if (StrUtil.contains(addresses, StringConstants.SEMICOLON)) {
result = StrUtil.splitTrim(addresses, StringConsts.SEMICOLON); result = StrUtil.splitTrim(addresses, StringConstants.SEMICOLON);
} else { } else {
result = CollUtil.newArrayList(addresses); result = CollUtil.newArrayList(addresses);
} }

View File

@ -26,7 +26,7 @@ import lombok.NoArgsConstructor;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import top.charles7c.continew.starter.core.constant.StringConsts; import top.charles7c.continew.starter.core.constant.StringConstants;
/** /**
* Stream 工具类 * Stream 工具类
@ -53,7 +53,7 @@ public class StreamUtils {
*/ */
public static <E> String join(Collection<E> collection, Function<E, String> function, CharSequence delimiter) { public static <E> String join(Collection<E> collection, Function<E, String> function, CharSequence delimiter) {
if (CollUtil.isEmpty(collection)) { if (CollUtil.isEmpty(collection)) {
return StringConsts.EMPTY; return StringConstants.EMPTY;
} }
return collection.stream().map(function).filter(Objects::nonNull).collect(Collectors.joining(delimiter)); return collection.stream().map(function).filter(Objects::nonNull).collect(Collectors.joining(delimiter));
} }

View File

@ -29,7 +29,7 @@ import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.extra.servlet.JakartaServletUtil; import cn.hutool.extra.servlet.JakartaServletUtil;
import cn.hutool.extra.spring.SpringUtil; import cn.hutool.extra.spring.SpringUtil;
import top.charles7c.cnadmin.common.constant.CacheConsts; import top.charles7c.cnadmin.common.constant.CacheConstants;
import top.charles7c.cnadmin.common.model.dto.LogContext; import top.charles7c.cnadmin.common.model.dto.LogContext;
import top.charles7c.cnadmin.common.model.dto.LoginUser; import top.charles7c.cnadmin.common.model.dto.LoginUser;
import top.charles7c.cnadmin.common.service.CommonUserService; import top.charles7c.cnadmin.common.service.CommonUserService;
@ -65,10 +65,10 @@ public class LoginHelper {
loginUser.setLoginTime(null != logContext ? logContext.getCreateTime() : LocalDateTime.now()); loginUser.setLoginTime(null != logContext ? logContext.getCreateTime() : LocalDateTime.now());
// 登录并缓存用户信息 // 登录并缓存用户信息
StpUtil.login(loginUser.getId()); StpUtil.login(loginUser.getId());
SaHolder.getStorage().set(CacheConsts.LOGIN_USER_KEY, loginUser); SaHolder.getStorage().set(CacheConstants.LOGIN_USER_KEY, loginUser);
String tokenValue = StpUtil.getTokenValue(); String tokenValue = StpUtil.getTokenValue();
loginUser.setToken(tokenValue); loginUser.setToken(tokenValue);
StpUtil.getTokenSession().set(CacheConsts.LOGIN_USER_KEY, loginUser); StpUtil.getTokenSession().set(CacheConstants.LOGIN_USER_KEY, loginUser);
return tokenValue; return tokenValue;
} }
@ -78,7 +78,7 @@ public class LoginHelper {
* @return 登录用户信息获取 TokenSession 时如未登录会抛出异常 * @return 登录用户信息获取 TokenSession 时如未登录会抛出异常
*/ */
public static LoginUser getLoginUser() { public static LoginUser getLoginUser() {
LoginUser loginUser = (LoginUser)SaHolder.getStorage().get(CacheConsts.LOGIN_USER_KEY); LoginUser loginUser = (LoginUser)SaHolder.getStorage().get(CacheConstants.LOGIN_USER_KEY);
if (null != loginUser) { if (null != loginUser) {
return loginUser; return loginUser;
} }
@ -86,8 +86,8 @@ public class LoginHelper {
if (null == tokenSession) { if (null == tokenSession) {
return null; return null;
} }
loginUser = (LoginUser)tokenSession.get(CacheConsts.LOGIN_USER_KEY); loginUser = (LoginUser)tokenSession.get(CacheConstants.LOGIN_USER_KEY);
SaHolder.getStorage().set(CacheConsts.LOGIN_USER_KEY, loginUser); SaHolder.getStorage().set(CacheConstants.LOGIN_USER_KEY, loginUser);
return loginUser; return loginUser;
} }
@ -103,7 +103,7 @@ public class LoginHelper {
if (null == tokenSession) { if (null == tokenSession) {
return null; return null;
} }
return (LoginUser)tokenSession.get(CacheConsts.LOGIN_USER_KEY); return (LoginUser)tokenSession.get(CacheConstants.LOGIN_USER_KEY);
} }
/** /**

View File

@ -25,7 +25,7 @@ import lombok.extern.slf4j.Slf4j;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import top.charles7c.cnadmin.common.exception.ServiceException; import top.charles7c.cnadmin.common.exception.ServiceException;
import top.charles7c.continew.starter.core.constant.StringConsts; import top.charles7c.continew.starter.core.constant.StringConstants;
/** /**
* 业务参数校验工具类抛出 500 ServiceException * 业务参数校验工具类抛出 500 ServiceException
@ -54,7 +54,7 @@ public class CheckUtils extends Validator {
*/ */
public static void throwIfNotExists(Object obj, String entityName, String fieldName, Object fieldValue) { public static void throwIfNotExists(Object obj, String entityName, String fieldName, Object fieldValue) {
String message = String.format("%s 为 [%s] 的 %s 记录已不存在", fieldName, fieldValue, String message = String.format("%s 为 [%s] 的 %s 记录已不存在", fieldName, fieldValue,
StrUtil.replace(entityName, "DO", StringConsts.EMPTY)); StrUtil.replace(entityName, "DO", StringConstants.EMPTY));
throwIfNull(obj, message, EXCEPTION_TYPE); throwIfNull(obj, message, EXCEPTION_TYPE);
} }

View File

@ -51,7 +51,7 @@ import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import top.charles7c.cnadmin.auth.model.req.AccountLoginReq; import top.charles7c.cnadmin.auth.model.req.AccountLoginReq;
import top.charles7c.cnadmin.common.constant.SysConsts; import top.charles7c.cnadmin.common.constant.SysConstants;
import top.charles7c.cnadmin.common.model.dto.LogContext; import top.charles7c.cnadmin.common.model.dto.LogContext;
import top.charles7c.cnadmin.common.model.resp.R; import top.charles7c.cnadmin.common.model.resp.R;
import top.charles7c.cnadmin.common.util.IpUtils; import top.charles7c.cnadmin.common.util.IpUtils;
@ -63,7 +63,7 @@ import top.charles7c.cnadmin.monitor.config.properties.LogProperties;
import top.charles7c.cnadmin.monitor.enums.LogStatusEnum; import top.charles7c.cnadmin.monitor.enums.LogStatusEnum;
import top.charles7c.cnadmin.monitor.model.entity.LogDO; import top.charles7c.cnadmin.monitor.model.entity.LogDO;
import top.charles7c.cnadmin.system.service.UserService; import top.charles7c.cnadmin.system.service.UserService;
import top.charles7c.continew.starter.core.constant.StringConsts; import top.charles7c.continew.starter.core.constant.StringConstants;
import top.charles7c.continew.starter.core.util.ExceptionUtils; import top.charles7c.continew.starter.core.util.ExceptionUtils;
/** /**
@ -171,8 +171,8 @@ public class LogInterceptor implements HandlerInterceptor {
// 本框架代码规范例如@Tag(name = "部门管理 API") -> 部门管理 // 本框架代码规范例如@Tag(name = "部门管理 API") -> 部门管理
if (null != classTag) { if (null != classTag) {
String name = classTag.name(); String name = classTag.name();
logDO logDO.setModule(
.setModule(StrUtil.isNotBlank(name) ? name.replace("API", StringConsts.EMPTY).trim() : "请在该接口类上指定所属模块"); StrUtil.isNotBlank(name) ? name.replace("API", StringConstants.EMPTY).trim() : "请在该接口类上指定所属模块");
} }
// 例如@Log(module = "部门管理") -> 部门管理 // 例如@Log(module = "部门管理") -> 部门管理
if (null != classLog && StrUtil.isNotBlank(classLog.module())) { if (null != classLog && StrUtil.isNotBlank(classLog.module())) {
@ -213,8 +213,8 @@ public class LogInterceptor implements HandlerInterceptor {
* 请求对象 * 请求对象
*/ */
private void logRequest(LogDO logDO, HttpServletRequest request) { private void logRequest(LogDO logDO, HttpServletRequest request) {
logDO.setRequestUrl(StrUtil.isBlank(request.getQueryString()) ? request.getRequestURL().toString() logDO.setRequestUrl(StrUtil.isBlank(request.getQueryString()) ? request.getRequestURL().toString() : request
: request.getRequestURL().append(StringConsts.QUESTION_MARK).append(request.getQueryString()).toString()); .getRequestURL().append(StringConstants.QUESTION_MARK).append(request.getQueryString()).toString());
String method = request.getMethod(); String method = request.getMethod();
logDO.setRequestMethod(method); logDO.setRequestMethod(method);
logDO.setRequestHeaders(this.desensitize(JakartaServletUtil.getHeaderMap(request))); logDO.setRequestHeaders(this.desensitize(JakartaServletUtil.getHeaderMap(request)));
@ -224,7 +224,7 @@ public class LogInterceptor implements HandlerInterceptor {
if (requestURI.startsWith("/oauth")) { if (requestURI.startsWith("/oauth")) {
logDO.setCreateUser(null); logDO.setCreateUser(null);
} }
if (null == logDO.getCreateUser() && SysConsts.LOGIN_URI.equals(requestURI)) { if (null == logDO.getCreateUser() && SysConstants.LOGIN_URI.equals(requestURI)) {
AccountLoginReq loginReq = JSONUtil.toBean(requestBody, AccountLoginReq.class); AccountLoginReq loginReq = JSONUtil.toBean(requestBody, AccountLoginReq.class);
logDO.setCreateUser( logDO.setCreateUser(
ExceptionUtils.exToNull(() -> userService.getByUsername(loginReq.getUsername()).getId())); ExceptionUtils.exToNull(() -> userService.getByUsername(loginReq.getUsername()).getId()));

View File

@ -29,7 +29,7 @@ import org.springframework.stereotype.Service;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.NumberUtil;
import top.charles7c.cnadmin.common.constant.CacheConsts; import top.charles7c.cnadmin.common.constant.CacheConstants;
import top.charles7c.cnadmin.monitor.model.resp.DashboardAccessTrendResp; import top.charles7c.cnadmin.monitor.model.resp.DashboardAccessTrendResp;
import top.charles7c.cnadmin.monitor.model.resp.DashboardGeoDistributionResp; import top.charles7c.cnadmin.monitor.model.resp.DashboardGeoDistributionResp;
import top.charles7c.cnadmin.monitor.model.resp.DashboardPopularModuleResp; import top.charles7c.cnadmin.monitor.model.resp.DashboardPopularModuleResp;
@ -47,7 +47,7 @@ import top.charles7c.cnadmin.system.service.AnnouncementService;
*/ */
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@CacheConfig(cacheNames = CacheConsts.DASHBOARD_KEY_PREFIX) @CacheConfig(cacheNames = CacheConstants.DASHBOARD_KEY_PREFIX)
public class DashboardServiceImpl implements DashboardService { public class DashboardServiceImpl implements DashboardService {
private final LogService logService; private final LogService logService;

View File

@ -33,7 +33,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import top.charles7c.cnadmin.common.constant.SysConsts; import top.charles7c.cnadmin.common.constant.SysConstants;
import top.charles7c.cnadmin.common.model.query.PageQuery; import top.charles7c.cnadmin.common.model.query.PageQuery;
import top.charles7c.cnadmin.common.model.resp.PageDataResp; import top.charles7c.cnadmin.common.model.resp.PageDataResp;
import top.charles7c.cnadmin.common.service.CommonUserService; import top.charles7c.cnadmin.common.service.CommonUserService;
@ -76,7 +76,7 @@ public class LogServiceImpl implements LogService {
// 限定查询信息 // 限定查询信息
List<String> fieldNameList = ReflectUtils.getNonStaticFieldsName(OperationLogResp.class); List<String> fieldNameList = ReflectUtils.getNonStaticFieldsName(OperationLogResp.class);
List<String> columnNameList = List<String> columnNameList =
fieldNameList.stream().filter(n -> !n.endsWith(SysConsts.DESCRIPTION_FIELD_SUFFIX)) fieldNameList.stream().filter(n -> !n.endsWith(SysConstants.DESCRIPTION_FIELD_SUFFIX))
.map(StrUtil::toUnderlineCase).collect(Collectors.toList()); .map(StrUtil::toUnderlineCase).collect(Collectors.toList());
queryWrapper.select(columnNameList); queryWrapper.select(columnNameList);
@ -102,7 +102,7 @@ public class LogServiceImpl implements LogService {
// 限定查询信息 // 限定查询信息
List<String> fieldNameList = ReflectUtils.getNonStaticFieldsName(LoginLogResp.class); List<String> fieldNameList = ReflectUtils.getNonStaticFieldsName(LoginLogResp.class);
List<String> columnNameList = List<String> columnNameList =
fieldNameList.stream().filter(n -> !n.endsWith(SysConsts.DESCRIPTION_FIELD_SUFFIX)) fieldNameList.stream().filter(n -> !n.endsWith(SysConstants.DESCRIPTION_FIELD_SUFFIX))
.map(StrUtil::toUnderlineCase).collect(Collectors.toList()); .map(StrUtil::toUnderlineCase).collect(Collectors.toList());
queryWrapper.select(columnNameList); queryWrapper.select(columnNameList);
@ -122,7 +122,7 @@ public class LogServiceImpl implements LogService {
// 限定查询信息 // 限定查询信息
List<String> fieldNameList = ReflectUtils.getNonStaticFieldsName(SystemLogResp.class); List<String> fieldNameList = ReflectUtils.getNonStaticFieldsName(SystemLogResp.class);
List<String> columnNameList = List<String> columnNameList =
fieldNameList.stream().filter(n -> !n.endsWith(SysConsts.DESCRIPTION_FIELD_SUFFIX)) fieldNameList.stream().filter(n -> !n.endsWith(SysConstants.DESCRIPTION_FIELD_SUFFIX))
.map(StrUtil::toUnderlineCase).collect(Collectors.toList()); .map(StrUtil::toUnderlineCase).collect(Collectors.toList());
queryWrapper.select(columnNameList); queryWrapper.select(columnNameList);

View File

@ -28,7 +28,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import top.charles7c.cnadmin.common.constant.RegexConsts; import top.charles7c.cnadmin.common.constant.RegexConstants;
/** /**
* 邮箱登录信息 * 邮箱登录信息
@ -48,7 +48,7 @@ public class EmailLoginReq implements Serializable {
*/ */
@Schema(description = "邮箱", example = "123456789@qq.com") @Schema(description = "邮箱", example = "123456789@qq.com")
@NotBlank(message = "邮箱不能为空") @NotBlank(message = "邮箱不能为空")
@Pattern(regexp = RegexConsts.EMAIL, message = "邮箱格式错误") @Pattern(regexp = RegexConstants.EMAIL, message = "邮箱格式错误")
private String email; private String email;
/** /**

View File

@ -28,7 +28,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import top.charles7c.cnadmin.common.constant.RegexConsts; import top.charles7c.cnadmin.common.constant.RegexConstants;
/** /**
* 手机号登录信息 * 手机号登录信息
@ -48,7 +48,7 @@ public class PhoneLoginReq implements Serializable {
*/ */
@Schema(description = "手机号", example = "13811111111") @Schema(description = "手机号", example = "13811111111")
@NotBlank(message = "手机号不能为空") @NotBlank(message = "手机号不能为空")
@Pattern(regexp = RegexConsts.MOBILE, message = "手机号格式错误") @Pattern(regexp = RegexConstants.MOBILE, message = "手机号格式错误")
private String phone; private String phone;
/** /**

View File

@ -40,8 +40,8 @@ import top.charles7c.cnadmin.auth.service.LoginService;
import top.charles7c.cnadmin.auth.service.PermissionService; import top.charles7c.cnadmin.auth.service.PermissionService;
import top.charles7c.cnadmin.common.annotation.TreeField; import top.charles7c.cnadmin.common.annotation.TreeField;
import top.charles7c.cnadmin.common.config.properties.ProjectProperties; import top.charles7c.cnadmin.common.config.properties.ProjectProperties;
import top.charles7c.cnadmin.common.constant.RegexConsts; import top.charles7c.cnadmin.common.constant.RegexConstants;
import top.charles7c.cnadmin.common.constant.SysConsts; import top.charles7c.cnadmin.common.constant.SysConstants;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum; import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
import top.charles7c.cnadmin.common.enums.GenderEnum; import top.charles7c.cnadmin.common.enums.GenderEnum;
import top.charles7c.cnadmin.common.enums.MenuTypeEnum; import top.charles7c.cnadmin.common.enums.MenuTypeEnum;
@ -119,10 +119,10 @@ public class LoginServiceImpl implements LoginService {
String nickname = authUser.getNickname(); String nickname = authUser.getNickname();
UserDO existsUser = userService.getByUsername(username); UserDO existsUser = userService.getByUsername(username);
String randomStr = RandomUtil.randomString(RandomUtil.BASE_CHAR, 5); String randomStr = RandomUtil.randomString(RandomUtil.BASE_CHAR, 5);
if (null != existsUser || !ReUtil.isMatch(RegexConsts.USERNAME, username)) { if (null != existsUser || !ReUtil.isMatch(RegexConstants.USERNAME, username)) {
username = randomStr + IdUtil.fastSimpleUUID(); username = randomStr + IdUtil.fastSimpleUUID();
} }
if (!ReUtil.isMatch(RegexConsts.GENERAL_NAME, nickname)) { if (!ReUtil.isMatch(RegexConstants.GENERAL_NAME, nickname)) {
nickname = source.toLowerCase() + randomStr; nickname = source.toLowerCase() + randomStr;
} }
user = new UserDO(); user = new UserDO();
@ -130,9 +130,9 @@ public class LoginServiceImpl implements LoginService {
user.setNickname(nickname); user.setNickname(nickname);
user.setGender(GenderEnum.valueOf(authUser.getGender().name())); user.setGender(GenderEnum.valueOf(authUser.getGender().name()));
user.setAvatar(authUser.getAvatar()); user.setAvatar(authUser.getAvatar());
user.setDeptId(SysConsts.SUPER_DEPT_ID); user.setDeptId(SysConstants.SUPER_DEPT_ID);
Long userId = userService.save(user); Long userId = userService.save(user);
RoleDO role = roleService.getByCode(SysConsts.ADMIN_ROLE_CODE); RoleDO role = roleService.getByCode(SysConstants.ADMIN_ROLE_CODE);
userRoleService.save(Collections.singletonList(role.getId()), userId); userRoleService.save(Collections.singletonList(role.getId()), userId);
userSocial = new UserSocialDO(); userSocial = new UserSocialDO();
userSocial.setUserId(userId); userSocial.setUserId(userId);
@ -157,7 +157,7 @@ public class LoginServiceImpl implements LoginService {
} }
// 查询菜单列表 // 查询菜单列表
Set<MenuResp> menuSet = new LinkedHashSet<>(); Set<MenuResp> menuSet = new LinkedHashSet<>();
if (roleCodeSet.contains(SysConsts.ADMIN_ROLE_CODE)) { if (roleCodeSet.contains(SysConstants.ADMIN_ROLE_CODE)) {
menuSet.addAll(menuService.list()); menuSet.addAll(menuService.list());
} else { } else {
roleCodeSet.forEach(roleCode -> menuSet.addAll(menuService.listByRoleCode(roleCode))); roleCodeSet.forEach(roleCode -> menuSet.addAll(menuService.listByRoleCode(roleCode)));

View File

@ -38,7 +38,7 @@ import top.charles7c.cnadmin.common.model.dto.LoginUser;
import top.charles7c.cnadmin.common.model.query.PageQuery; import top.charles7c.cnadmin.common.model.query.PageQuery;
import top.charles7c.cnadmin.common.model.resp.PageDataResp; import top.charles7c.cnadmin.common.model.resp.PageDataResp;
import top.charles7c.cnadmin.common.util.helper.LoginHelper; import top.charles7c.cnadmin.common.util.helper.LoginHelper;
import top.charles7c.continew.starter.core.constant.StringConsts; import top.charles7c.continew.starter.core.constant.StringConstants;
/** /**
* 在线用户业务实现 * 在线用户业务实现
@ -63,9 +63,9 @@ public class OnlineUserServiceImpl implements OnlineUserService {
public List<LoginUser> list(OnlineUserQuery query) { public List<LoginUser> list(OnlineUserQuery query) {
List<LoginUser> loginUserList = new ArrayList<>(); List<LoginUser> loginUserList = new ArrayList<>();
// 查询所有登录用户 // 查询所有登录用户
List<String> tokenKeyList = StpUtil.searchTokenValue(StringConsts.EMPTY, 0, -1, false); List<String> tokenKeyList = StpUtil.searchTokenValue(StringConstants.EMPTY, 0, -1, false);
for (String tokenKey : tokenKeyList) { for (String tokenKey : tokenKeyList) {
String token = StrUtil.subAfter(tokenKey, StringConsts.COLON, true); String token = StrUtil.subAfter(tokenKey, StringConstants.COLON, true);
// 忽略已过期或失效 Token // 忽略已过期或失效 Token
if (StpUtil.stpLogic.getTokenActiveTimeoutByToken(token) < SaTokenDao.NEVER_EXPIRE) { if (StpUtil.stpLogic.getTokenActiveTimeoutByToken(token) < SaTokenDao.NEVER_EXPIRE) {
continue; continue;

View File

@ -25,7 +25,7 @@ import org.springframework.stereotype.Service;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import top.charles7c.cnadmin.auth.service.PermissionService; import top.charles7c.cnadmin.auth.service.PermissionService;
import top.charles7c.cnadmin.common.constant.SysConsts; import top.charles7c.cnadmin.common.constant.SysConstants;
import top.charles7c.cnadmin.system.service.MenuService; import top.charles7c.cnadmin.system.service.MenuService;
import top.charles7c.cnadmin.system.service.RoleService; import top.charles7c.cnadmin.system.service.RoleService;
@ -46,8 +46,8 @@ public class PermissionServiceImpl implements PermissionService {
public Set<String> listPermissionByUserId(Long userId) { public Set<String> listPermissionByUserId(Long userId) {
Set<String> roleCodeSet = this.listRoleCodeByUserId(userId); Set<String> roleCodeSet = this.listRoleCodeByUserId(userId);
// 超级管理员赋予全部权限 // 超级管理员赋予全部权限
if (roleCodeSet.contains(SysConsts.ADMIN_ROLE_CODE)) { if (roleCodeSet.contains(SysConstants.ADMIN_ROLE_CODE)) {
return CollUtil.newHashSet(SysConsts.ALL_PERMISSION); return CollUtil.newHashSet(SysConstants.ALL_PERMISSION);
} }
return menuService.listPermissionByUserId(userId); return menuService.listPermissionByUserId(userId);
} }

View File

@ -20,7 +20,7 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import top.charles7c.cnadmin.common.base.IBaseEnum; import top.charles7c.cnadmin.common.base.IBaseEnum;
import top.charles7c.cnadmin.common.constant.UIConsts; import top.charles7c.cnadmin.common.constant.UIConstants;
/** /**
* 公告状态枚举 * 公告状态枚举
@ -33,13 +33,13 @@ import top.charles7c.cnadmin.common.constant.UIConsts;
public enum AnnouncementStatusEnum implements IBaseEnum<Integer> { public enum AnnouncementStatusEnum implements IBaseEnum<Integer> {
/** 待发布 */ /** 待发布 */
PENDING_RELEASE(1, "待发布", UIConsts.COLOR_PRIMARY), PENDING_RELEASE(1, "待发布", UIConstants.COLOR_PRIMARY),
/** 已发布 */ /** 已发布 */
PUBLISHED(2, "已发布", UIConsts.COLOR_SUCCESS), PUBLISHED(2, "已发布", UIConstants.COLOR_SUCCESS),
/** 已过期 */ /** 已过期 */
EXPIRED(3, "已过期", UIConsts.COLOR_ERROR),; EXPIRED(3, "已过期", UIConstants.COLOR_ERROR),;
private final Integer value; private final Integer value;
private final String description; private final String description;

View File

@ -31,7 +31,7 @@ import org.hibernate.validator.constraints.Length;
import top.charles7c.cnadmin.common.base.BaseReq; import top.charles7c.cnadmin.common.base.BaseReq;
import top.charles7c.cnadmin.common.base.ValidateGroup; import top.charles7c.cnadmin.common.base.ValidateGroup;
import top.charles7c.cnadmin.common.constant.RegexConsts; import top.charles7c.cnadmin.common.constant.RegexConstants;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum; import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
/** /**
@ -59,7 +59,7 @@ public class DeptReq extends BaseReq {
*/ */
@Schema(description = "部门名称", example = "测试部") @Schema(description = "部门名称", example = "测试部")
@NotBlank(message = "部门名称不能为空") @NotBlank(message = "部门名称不能为空")
@Pattern(regexp = RegexConsts.GENERAL_NAME, message = "部门名称长度为 2 到 30 位,可以包含中文、字母、数字、下划线,短横线") @Pattern(regexp = RegexConstants.GENERAL_NAME, message = "部门名称长度为 2 到 30 位,可以包含中文、字母、数字、下划线,短横线")
private String name; private String name;
/** /**

View File

@ -27,7 +27,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import top.charles7c.cnadmin.common.base.BaseReq; import top.charles7c.cnadmin.common.base.BaseReq;
import top.charles7c.cnadmin.common.constant.RegexConsts; import top.charles7c.cnadmin.common.constant.RegexConstants;
/** /**
* 创建或修改字典信息 * 创建或修改字典信息
@ -47,7 +47,7 @@ public class DictReq extends BaseReq {
*/ */
@Schema(description = "字典名称", example = "公告类型") @Schema(description = "字典名称", example = "公告类型")
@NotBlank(message = "字典名称不能为空") @NotBlank(message = "字典名称不能为空")
@Pattern(regexp = RegexConsts.GENERAL_NAME, message = "字典名称长度为 2 到 30 位,可以包含中文、字母、数字、下划线,短横线") @Pattern(regexp = RegexConstants.GENERAL_NAME, message = "字典名称长度为 2 到 30 位,可以包含中文、字母、数字、下划线,短横线")
private String name; private String name;
/** /**
@ -55,7 +55,7 @@ public class DictReq extends BaseReq {
*/ */
@Schema(description = "字典编码", example = "announcement_type") @Schema(description = "字典编码", example = "announcement_type")
@NotBlank(message = "字典编码不能为空") @NotBlank(message = "字典编码不能为空")
@Pattern(regexp = RegexConsts.GENERAL_CODE, message = "字典编码长度为 2 到 30 位,可以包含字母、数字,下划线,以字母开头") @Pattern(regexp = RegexConstants.GENERAL_CODE, message = "字典编码长度为 2 到 30 位,可以包含字母、数字,下划线,以字母开头")
private String code; private String code;
/** /**

View File

@ -31,7 +31,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import top.charles7c.cnadmin.common.base.BaseReq; import top.charles7c.cnadmin.common.base.BaseReq;
import top.charles7c.cnadmin.common.constant.RegexConsts; import top.charles7c.cnadmin.common.constant.RegexConstants;
import top.charles7c.cnadmin.common.enums.DataScopeEnum; import top.charles7c.cnadmin.common.enums.DataScopeEnum;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum; import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
@ -53,7 +53,7 @@ public class RoleReq extends BaseReq {
*/ */
@Schema(description = "角色名称", example = "测试人员") @Schema(description = "角色名称", example = "测试人员")
@NotBlank(message = "角色名称不能为空") @NotBlank(message = "角色名称不能为空")
@Pattern(regexp = RegexConsts.GENERAL_NAME, message = "角色名称长度为 2 到 30 位,可以包含中文、字母、数字、下划线,短横线") @Pattern(regexp = RegexConstants.GENERAL_NAME, message = "角色名称长度为 2 到 30 位,可以包含中文、字母、数字、下划线,短横线")
private String name; private String name;
/** /**
@ -61,7 +61,7 @@ public class RoleReq extends BaseReq {
*/ */
@Schema(description = "角色编码", example = "test") @Schema(description = "角色编码", example = "test")
@NotBlank(message = "角色编码不能为空") @NotBlank(message = "角色编码不能为空")
@Pattern(regexp = RegexConsts.GENERAL_CODE, message = "角色编码长度为 2 到 30 位,可以包含字母、数字,下划线,以字母开头") @Pattern(regexp = RegexConstants.GENERAL_CODE, message = "角色编码长度为 2 到 30 位,可以包含字母、数字,下划线,以字母开头")
private String code; private String code;
/** /**

View File

@ -27,7 +27,7 @@ import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import top.charles7c.cnadmin.common.constant.RegexConsts; import top.charles7c.cnadmin.common.constant.RegexConstants;
import top.charles7c.cnadmin.common.enums.GenderEnum; import top.charles7c.cnadmin.common.enums.GenderEnum;
/** /**
@ -48,7 +48,7 @@ public class UserBasicInfoUpdateReq implements Serializable {
*/ */
@Schema(description = "昵称", example = "张三") @Schema(description = "昵称", example = "张三")
@NotBlank(message = "昵称不能为空") @NotBlank(message = "昵称不能为空")
@Pattern(regexp = RegexConsts.GENERAL_NAME, message = "昵称长度为 2 到 30 位,可以包含中文、字母、数字、下划线,短横线") @Pattern(regexp = RegexConstants.GENERAL_NAME, message = "昵称长度为 2 到 30 位,可以包含中文、字母、数字、下划线,短横线")
private String nickname; private String nickname;
/** /**

View File

@ -28,7 +28,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import top.charles7c.cnadmin.common.constant.RegexConsts; import top.charles7c.cnadmin.common.constant.RegexConstants;
/** /**
* 用户邮箱修改信息 * 用户邮箱修改信息
@ -48,7 +48,7 @@ public class UserEmailUpdateRequest implements Serializable {
*/ */
@Schema(description = "新邮箱", example = "123456789@qq.com") @Schema(description = "新邮箱", example = "123456789@qq.com")
@NotBlank(message = "新邮箱不能为空") @NotBlank(message = "新邮箱不能为空")
@Pattern(regexp = RegexConsts.EMAIL, message = "邮箱格式错误") @Pattern(regexp = RegexConstants.EMAIL, message = "邮箱格式错误")
private String newEmail; private String newEmail;
/** /**

View File

@ -28,7 +28,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import top.charles7c.cnadmin.common.constant.RegexConsts; import top.charles7c.cnadmin.common.constant.RegexConstants;
/** /**
* 用户手机号修改信息 * 用户手机号修改信息
@ -48,7 +48,7 @@ public class UserPhoneUpdateReq implements Serializable {
*/ */
@Schema(description = "新手机号", example = "13811111111") @Schema(description = "新手机号", example = "13811111111")
@NotBlank(message = "新手机号不能为空") @NotBlank(message = "新手机号不能为空")
@Pattern(regexp = RegexConsts.MOBILE, message = "手机号格式错误") @Pattern(regexp = RegexConstants.MOBILE, message = "手机号格式错误")
private String newPhone; private String newPhone;
/** /**

View File

@ -31,7 +31,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import top.charles7c.cnadmin.common.base.BaseReq; import top.charles7c.cnadmin.common.base.BaseReq;
import top.charles7c.cnadmin.common.constant.RegexConsts; import top.charles7c.cnadmin.common.constant.RegexConstants;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum; import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
import top.charles7c.cnadmin.common.enums.GenderEnum; import top.charles7c.cnadmin.common.enums.GenderEnum;
@ -53,7 +53,7 @@ public class UserReq extends BaseReq {
*/ */
@Schema(description = "用户名", example = "zhangsan") @Schema(description = "用户名", example = "zhangsan")
@NotBlank(message = "用户名不能为空") @NotBlank(message = "用户名不能为空")
@Pattern(regexp = RegexConsts.USERNAME, message = "用户名长度为 4 到 64 位,可以包含字母、数字,下划线,以字母开头") @Pattern(regexp = RegexConstants.USERNAME, message = "用户名长度为 4 到 64 位,可以包含字母、数字,下划线,以字母开头")
private String username; private String username;
/** /**
@ -61,14 +61,14 @@ public class UserReq extends BaseReq {
*/ */
@Schema(description = "昵称", example = "张三") @Schema(description = "昵称", example = "张三")
@NotBlank(message = "昵称不能为空") @NotBlank(message = "昵称不能为空")
@Pattern(regexp = RegexConsts.GENERAL_NAME, message = "昵称长度为 2 到 30 位,可以包含中文、字母、数字、下划线,短横线") @Pattern(regexp = RegexConstants.GENERAL_NAME, message = "昵称长度为 2 到 30 位,可以包含中文、字母、数字、下划线,短横线")
private String nickname; private String nickname;
/** /**
* 邮箱 * 邮箱
*/ */
@Schema(description = "邮箱", example = "123456789@qq.com") @Schema(description = "邮箱", example = "123456789@qq.com")
@Pattern(regexp = "^$|" + RegexConsts.EMAIL, message = "邮箱格式错误") @Pattern(regexp = "^$|" + RegexConstants.EMAIL, message = "邮箱格式错误")
@Length(max = 255, message = "邮箱长度不能超过 {max} 个字符") @Length(max = 255, message = "邮箱长度不能超过 {max} 个字符")
private String email; private String email;
@ -76,7 +76,7 @@ public class UserReq extends BaseReq {
* 手机号码 * 手机号码
*/ */
@Schema(description = "手机号码", example = "13811111111") @Schema(description = "手机号码", example = "13811111111")
@Pattern(regexp = "^$|" + RegexConsts.MOBILE, message = "手机号码格式错误") @Pattern(regexp = "^$|" + RegexConstants.MOBILE, message = "手机号码格式错误")
private String phone; private String phone;
/** /**

View File

@ -32,7 +32,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import top.charles7c.cnadmin.common.base.BaseServiceImpl; import top.charles7c.cnadmin.common.base.BaseServiceImpl;
import top.charles7c.cnadmin.common.constant.SysConsts; import top.charles7c.cnadmin.common.constant.SysConstants;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum; import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
import top.charles7c.cnadmin.common.util.validate.CheckUtils; import top.charles7c.cnadmin.common.util.validate.CheckUtils;
import top.charles7c.cnadmin.system.mapper.DeptMapper; import top.charles7c.cnadmin.system.mapper.DeptMapper;
@ -128,7 +128,7 @@ public class DeptServiceImpl extends BaseServiceImpl<DeptMapper, DeptDO, DeptRes
public void fillDetail(Object detailObj) { public void fillDetail(Object detailObj) {
super.fillDetail(detailObj); super.fillDetail(detailObj);
if (detailObj instanceof DeptDetailResp detail) { if (detailObj instanceof DeptDetailResp detail) {
if (Objects.equals(SysConsts.SUPER_PARENT_ID, detail.getParentId())) { if (Objects.equals(SysConstants.SUPER_PARENT_ID, detail.getParentId())) {
return; return;
} }
detail.setParentName(ExceptionUtils.exToNull(() -> this.get(detail.getParentId()).getName())); detail.setParentName(ExceptionUtils.exToNull(() -> this.get(detail.getParentId()).getName()));

View File

@ -26,7 +26,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import top.charles7c.cnadmin.common.base.BaseServiceImpl; import top.charles7c.cnadmin.common.base.BaseServiceImpl;
import top.charles7c.cnadmin.common.constant.CacheConsts; import top.charles7c.cnadmin.common.constant.CacheConstants;
import top.charles7c.cnadmin.common.model.query.SortQuery; import top.charles7c.cnadmin.common.model.query.SortQuery;
import top.charles7c.cnadmin.common.model.resp.LabelValueResp; import top.charles7c.cnadmin.common.model.resp.LabelValueResp;
import top.charles7c.cnadmin.common.util.validate.CheckUtils; import top.charles7c.cnadmin.common.util.validate.CheckUtils;
@ -46,7 +46,7 @@ import top.charles7c.cnadmin.system.service.DictItemService;
*/ */
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@CacheConfig(cacheNames = CacheConsts.DICT_KEY_PREFIX) @CacheConfig(cacheNames = CacheConstants.DICT_KEY_PREFIX)
public class DictItemServiceImpl public class DictItemServiceImpl
extends BaseServiceImpl<DictItemMapper, DictItemDO, DictItemResp, DictItemDetailResp, DictItemQuery, DictItemReq> extends BaseServiceImpl<DictItemMapper, DictItemDO, DictItemResp, DictItemDetailResp, DictItemQuery, DictItemReq>
implements DictItemService { implements DictItemService {

View File

@ -29,7 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import top.charles7c.cnadmin.common.base.BaseServiceImpl; import top.charles7c.cnadmin.common.base.BaseServiceImpl;
import top.charles7c.cnadmin.common.constant.CacheConsts; import top.charles7c.cnadmin.common.constant.CacheConstants;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum; import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
import top.charles7c.cnadmin.common.util.validate.CheckUtils; import top.charles7c.cnadmin.common.util.validate.CheckUtils;
import top.charles7c.cnadmin.system.mapper.MenuMapper; import top.charles7c.cnadmin.system.mapper.MenuMapper;
@ -47,7 +47,7 @@ import top.charles7c.cnadmin.system.service.MenuService;
*/ */
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@CacheConfig(cacheNames = CacheConsts.MENU_KEY_PREFIX) @CacheConfig(cacheNames = CacheConstants.MENU_KEY_PREFIX)
public class MenuServiceImpl extends BaseServiceImpl<MenuMapper, MenuDO, MenuResp, MenuResp, MenuQuery, MenuReq> public class MenuServiceImpl extends BaseServiceImpl<MenuMapper, MenuDO, MenuResp, MenuResp, MenuQuery, MenuReq>
implements MenuService { implements MenuService {

View File

@ -26,7 +26,7 @@ import org.springframework.stereotype.Service;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import top.charles7c.cnadmin.common.constant.CacheConsts; import top.charles7c.cnadmin.common.constant.CacheConstants;
import top.charles7c.cnadmin.common.util.helper.QueryHelper; import top.charles7c.cnadmin.common.util.helper.QueryHelper;
import top.charles7c.cnadmin.system.mapper.OptionMapper; import top.charles7c.cnadmin.system.mapper.OptionMapper;
import top.charles7c.cnadmin.system.model.entity.OptionDO; import top.charles7c.cnadmin.system.model.entity.OptionDO;
@ -44,7 +44,7 @@ import top.charles7c.cnadmin.system.service.OptionService;
*/ */
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@CacheConfig(cacheNames = CacheConsts.OPTION_KEY_PREFIX) @CacheConfig(cacheNames = CacheConstants.OPTION_KEY_PREFIX)
public class OptionServiceImpl implements OptionService { public class OptionServiceImpl implements OptionService {
private final OptionMapper baseMapper; private final OptionMapper baseMapper;

View File

@ -31,8 +31,8 @@ import cn.hutool.core.util.ObjectUtil;
import top.charles7c.cnadmin.auth.service.OnlineUserService; import top.charles7c.cnadmin.auth.service.OnlineUserService;
import top.charles7c.cnadmin.common.base.BaseServiceImpl; import top.charles7c.cnadmin.common.base.BaseServiceImpl;
import top.charles7c.cnadmin.common.constant.CacheConsts; import top.charles7c.cnadmin.common.constant.CacheConstants;
import top.charles7c.cnadmin.common.constant.SysConsts; import top.charles7c.cnadmin.common.constant.SysConstants;
import top.charles7c.cnadmin.common.enums.DataScopeEnum; import top.charles7c.cnadmin.common.enums.DataScopeEnum;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum; import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
import top.charles7c.cnadmin.common.model.dto.RoleDTO; import top.charles7c.cnadmin.common.model.dto.RoleDTO;
@ -82,7 +82,7 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleRes
} }
@Override @Override
@CacheEvict(cacheNames = CacheConsts.MENU_KEY_PREFIX, key = "#req.code == 'admin' ? 'ALL' : #req.code") @CacheEvict(cacheNames = CacheConstants.MENU_KEY_PREFIX, key = "#req.code == 'admin' ? 'ALL' : #req.code")
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void update(RoleReq req, Long id) { public void update(RoleReq req, Long id) {
String name = req.getName(); String name = req.getName();
@ -101,7 +101,7 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleRes
// 更新信息 // 更新信息
super.update(req, id); super.update(req, id);
// 更新关联信息 // 更新关联信息
if (!SysConsts.ADMIN_ROLE_CODE.equals(oldRole.getCode())) { if (!SysConstants.ADMIN_ROLE_CODE.equals(oldRole.getCode())) {
// 保存角色和菜单关联 // 保存角色和菜单关联
boolean isSaveMenuSuccess = roleMenuService.save(req.getMenuIds(), id); boolean isSaveMenuSuccess = roleMenuService.save(req.getMenuIds(), id);
// 保存角色和部门关联 // 保存角色和部门关联
@ -136,7 +136,7 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleRes
super.fillDetail(detailObj); super.fillDetail(detailObj);
if (detailObj instanceof RoleDetailResp detail) { if (detailObj instanceof RoleDetailResp detail) {
Long roleId = detail.getId(); Long roleId = detail.getId();
if (SysConsts.ADMIN_ROLE_CODE.equals(detail.getCode())) { if (SysConstants.ADMIN_ROLE_CODE.equals(detail.getCode())) {
List<MenuResp> list = menuService.list(null, null); List<MenuResp> list = menuService.list(null, null);
List<Long> menuIds = list.stream().map(MenuResp::getId).collect(Collectors.toList()); List<Long> menuIds = list.stream().map(MenuResp::getId).collect(Collectors.toList());
detail.setMenuIds(menuIds); detail.setMenuIds(menuIds);

View File

@ -38,9 +38,9 @@ import cn.hutool.core.util.StrUtil;
import top.charles7c.cnadmin.common.base.BaseServiceImpl; import top.charles7c.cnadmin.common.base.BaseServiceImpl;
import top.charles7c.cnadmin.common.config.properties.LocalStorageProperties; import top.charles7c.cnadmin.common.config.properties.LocalStorageProperties;
import top.charles7c.cnadmin.common.constant.CacheConsts; import top.charles7c.cnadmin.common.constant.CacheConstants;
import top.charles7c.cnadmin.common.constant.FileConsts; import top.charles7c.cnadmin.common.constant.FileConstants;
import top.charles7c.cnadmin.common.constant.SysConsts; import top.charles7c.cnadmin.common.constant.SysConstants;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum; import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
import top.charles7c.cnadmin.common.service.CommonUserService; import top.charles7c.cnadmin.common.service.CommonUserService;
import top.charles7c.cnadmin.common.util.FileUtils; import top.charles7c.cnadmin.common.util.FileUtils;
@ -59,7 +59,7 @@ import top.charles7c.cnadmin.system.service.DeptService;
import top.charles7c.cnadmin.system.service.RoleService; import top.charles7c.cnadmin.system.service.RoleService;
import top.charles7c.cnadmin.system.service.UserRoleService; import top.charles7c.cnadmin.system.service.UserRoleService;
import top.charles7c.cnadmin.system.service.UserService; import top.charles7c.cnadmin.system.service.UserService;
import top.charles7c.continew.starter.core.constant.StringConsts; import top.charles7c.continew.starter.core.constant.StringConstants;
import top.charles7c.continew.starter.core.util.ExceptionUtils; import top.charles7c.continew.starter.core.util.ExceptionUtils;
/** /**
@ -70,7 +70,7 @@ import top.charles7c.continew.starter.core.util.ExceptionUtils;
*/ */
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@CacheConfig(cacheNames = CacheConsts.USER_KEY_PREFIX) @CacheConfig(cacheNames = CacheConstants.USER_KEY_PREFIX)
public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserResp, UserDetailResp, UserQuery, UserReq> public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserResp, UserDetailResp, UserQuery, UserReq>
implements UserService, CommonUserService { implements UserService, CommonUserService {
@ -100,7 +100,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserRes
req.setStatus(DisEnableStatusEnum.ENABLE); req.setStatus(DisEnableStatusEnum.ENABLE);
Long userId = super.add(req); Long userId = super.add(req);
baseMapper.lambdaUpdate() baseMapper.lambdaUpdate()
.set(UserDO::getPassword, SecureUtils.md5Salt(SysConsts.DEFAULT_PASSWORD, userId.toString())) .set(UserDO::getPassword, SecureUtils.md5Salt(SysConstants.DEFAULT_PASSWORD, userId.toString()))
.set(UserDO::getPwdResetTime, LocalDateTime.now()).eq(UserDO::getId, userId).update(); .set(UserDO::getPwdResetTime, LocalDateTime.now()).eq(UserDO::getId, userId).update();
// 保存用户和角色关联 // 保存用户和角色关联
userRoleService.save(req.getRoleIds(), userId); userRoleService.save(req.getRoleIds(), userId);
@ -156,7 +156,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserRes
detail.setDeptName(ExceptionUtils.exToNull(() -> deptService.get(detail.getDeptId()).getName())); detail.setDeptName(ExceptionUtils.exToNull(() -> deptService.get(detail.getDeptId()).getName()));
List<Long> roleIdList = userRoleService.listRoleIdByUserId(detail.getId()); List<Long> roleIdList = userRoleService.listRoleIdByUserId(detail.getId());
detail.setRoleIds(roleIdList); detail.setRoleIds(roleIdList);
detail.setRoleNames(String.join(StringConsts.CHINESE_COMMA, roleService.listNameByIds(roleIdList))); detail.setRoleNames(String.join(StringConstants.CHINESE_COMMA, roleService.listNameByIds(roleIdList)));
} }
} }
@ -166,9 +166,9 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserRes
Long avatarMaxSizeInMb = localStorageProperties.getAvatarMaxSizeInMb(); Long avatarMaxSizeInMb = localStorageProperties.getAvatarMaxSizeInMb();
CheckUtils.throwIf(avatarFile.getSize() > avatarMaxSizeInMb * 1024 * 1024, "请上传小于 {}MB 的图片", avatarMaxSizeInMb); CheckUtils.throwIf(avatarFile.getSize() > avatarMaxSizeInMb * 1024 * 1024, "请上传小于 {}MB 的图片", avatarMaxSizeInMb);
String avatarImageType = FileNameUtil.extName(avatarFile.getOriginalFilename()); String avatarImageType = FileNameUtil.extName(avatarFile.getOriginalFilename());
String[] avatarSupportImgTypes = FileConsts.AVATAR_SUPPORTED_IMG_TYPES; String[] avatarSupportImgTypes = FileConstants.AVATAR_SUPPORTED_IMG_TYPES;
CheckUtils.throwIf(!StrUtil.equalsAnyIgnoreCase(avatarImageType, avatarSupportImgTypes), "头像仅支持 {} 格式的图片", CheckUtils.throwIf(!StrUtil.equalsAnyIgnoreCase(avatarImageType, avatarSupportImgTypes), "头像仅支持 {} 格式的图片",
String.join(StringConsts.CHINESE_COMMA, avatarSupportImgTypes)); String.join(StringConstants.CHINESE_COMMA, avatarSupportImgTypes));
// 上传新头像 // 上传新头像
UserDO user = super.getById(id); UserDO user = super.getById(id);
String avatarPath = localStorageProperties.getPath().getAvatar(); String avatarPath = localStorageProperties.getPath().getAvatar();
@ -236,7 +236,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserRes
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void resetPassword(Long id) { public void resetPassword(Long id) {
UserDO user = super.getById(id); UserDO user = super.getById(id);
user.setPassword(SecureUtils.md5Salt(SysConsts.DEFAULT_PASSWORD, id.toString())); user.setPassword(SecureUtils.md5Salt(SysConstants.DEFAULT_PASSWORD, id.toString()));
user.setPwdResetTime(LocalDateTime.now()); user.setPwdResetTime(LocalDateTime.now());
baseMapper.updateById(user); baseMapper.updateById(user);
} }

View File

@ -39,7 +39,7 @@ import cn.hutool.setting.dialect.PropsUtil;
import top.charles7c.cnadmin.common.enums.QueryTypeEnum; import top.charles7c.cnadmin.common.enums.QueryTypeEnum;
import top.charles7c.cnadmin.tool.enums.FormTypeEnum; import top.charles7c.cnadmin.tool.enums.FormTypeEnum;
import top.charles7c.continew.starter.core.constant.StringConsts; import top.charles7c.continew.starter.core.constant.StringConstants;
/** /**
* 字段配置实体 * 字段配置实体
@ -142,7 +142,7 @@ public class FieldConfigDO implements Serializable {
private LocalDateTime createTime; private LocalDateTime createTime;
public FieldConfigDO(@NonNull Column column) { public FieldConfigDO(@NonNull Column column) {
String columnType = StrUtil.splitToArray(column.getTypeName(), StringConsts.SPACE)[0].toLowerCase(); String columnType = StrUtil.splitToArray(column.getTypeName(), StringConstants.SPACE)[0].toLowerCase();
boolean isRequired = !column.isPk() && !column.isNullable(); boolean isRequired = !column.isPk() && !column.isNullable();
this.tableName = column.getTableName(); this.tableName = column.getTableName();
this.setColumnName(column.getName()); this.setColumnName(column.getName());

View File

@ -38,7 +38,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import top.charles7c.cnadmin.common.constant.RegexConsts; import top.charles7c.cnadmin.common.constant.RegexConstants;
/** /**
* 生成配置实体 * 生成配置实体
@ -76,7 +76,7 @@ public class GenConfigDO implements Serializable {
*/ */
@Schema(description = "包名称", example = "top.charles7c.cnadmin.system") @Schema(description = "包名称", example = "top.charles7c.cnadmin.system")
@NotBlank(message = "包名称不能为空") @NotBlank(message = "包名称不能为空")
@Pattern(regexp = RegexConsts.PACKAGE_NAME, message = "包名称格式错误") @Pattern(regexp = RegexConstants.PACKAGE_NAME, message = "包名称格式错误")
@Length(max = 60, message = "包名称不能超过 {max} 个字符") @Length(max = 60, message = "包名称不能超过 {max} 个字符")
private String packageName; private String packageName;

View File

@ -60,7 +60,7 @@ import top.charles7c.cnadmin.tool.model.resp.TableResp;
import top.charles7c.cnadmin.tool.service.GeneratorService; import top.charles7c.cnadmin.tool.service.GeneratorService;
import top.charles7c.cnadmin.tool.util.MetaUtils; import top.charles7c.cnadmin.tool.util.MetaUtils;
import top.charles7c.cnadmin.tool.util.Table; import top.charles7c.cnadmin.tool.util.Table;
import top.charles7c.continew.starter.core.constant.StringConsts; import top.charles7c.continew.starter.core.constant.StringConstants;
/** /**
* 代码生成业务实现 * 代码生成业务实现
@ -108,12 +108,12 @@ public class GeneratorServiceImpl implements GeneratorService {
genConfig = new GenConfigDO(tableName); genConfig = new GenConfigDO(tableName);
// 默认包名当前包名 // 默认包名当前包名
String packageName = ClassUtil.getPackage(GeneratorService.class); String packageName = ClassUtil.getPackage(GeneratorService.class);
genConfig.setPackageName(StrUtil.subBefore(packageName, StringConsts.DOT, true)); genConfig.setPackageName(StrUtil.subBefore(packageName, StringConstants.DOT, true));
// 默认业务名表注释 // 默认业务名表注释
List<Table> tableList = MetaUtils.getTables(dataSource, tableName); List<Table> tableList = MetaUtils.getTables(dataSource, tableName);
if (CollUtil.isNotEmpty(tableList)) { if (CollUtil.isNotEmpty(tableList)) {
Table table = tableList.get(0); Table table = tableList.get(0);
genConfig.setBusinessName(StrUtil.replace(table.getComment(), "", StringConsts.EMPTY)); genConfig.setBusinessName(StrUtil.replace(table.getComment(), "", StringConstants.EMPTY));
} }
// 默认作者名称上次保存使用的作者名称 // 默认作者名称上次保存使用的作者名称
GenConfigDO lastGenConfig = genConfigMapper.selectOne( GenConfigDO lastGenConfig = genConfigMapper.selectOne(
@ -122,7 +122,7 @@ public class GeneratorServiceImpl implements GeneratorService {
genConfig.setAuthor(lastGenConfig.getAuthor()); genConfig.setAuthor(lastGenConfig.getAuthor());
} }
// 默认表前缀sys_user -> sys_ // 默认表前缀sys_user -> sys_
int underLineIndex = StrUtil.indexOf(tableName, StringConsts.C_UNDERLINE); int underLineIndex = StrUtil.indexOf(tableName, StringConstants.C_UNDERLINE);
if (-1 != underLineIndex) { if (-1 != underLineIndex) {
genConfig.setTablePrefix(StrUtil.subPre(tableName, underLineIndex + 1)); genConfig.setTablePrefix(StrUtil.subPre(tableName, underLineIndex + 1));
} }
@ -151,7 +151,8 @@ public class GeneratorServiceImpl implements GeneratorService {
FieldConfigDO fieldConfig = fieldConfigMap.get(column.getName()); FieldConfigDO fieldConfig = fieldConfigMap.get(column.getName());
if (null != fieldConfig) { if (null != fieldConfig) {
// 更新已有字段配置 // 更新已有字段配置
String columnType = StrUtil.splitToArray(column.getTypeName(), StringConsts.SPACE)[0].toLowerCase(); String columnType =
StrUtil.splitToArray(column.getTypeName(), StringConstants.SPACE)[0].toLowerCase();
fieldConfig.setColumnType(columnType); fieldConfig.setColumnType(columnType);
fieldConfig.setComment(column.getComment()); fieldConfig.setComment(column.getComment());
} else { } else {
@ -217,7 +218,7 @@ public class GeneratorServiceImpl implements GeneratorService {
genConfigMap.put("date", DateUtil.date().toString("yyyy/MM/dd HH:mm")); genConfigMap.put("date", DateUtil.date().toString("yyyy/MM/dd HH:mm"));
String packageName = genConfig.getPackageName(); String packageName = genConfig.getPackageName();
String apiModuleName = String apiModuleName =
StrUtil.subSuf(packageName, StrUtil.lastIndexOfIgnoreCase(packageName, StringConsts.DOT) + 1); StrUtil.subSuf(packageName, StrUtil.lastIndexOfIgnoreCase(packageName, StringConstants.DOT) + 1);
genConfigMap.put("apiModuleName", apiModuleName); genConfigMap.put("apiModuleName", apiModuleName);
genConfigMap.put("apiName", StrUtil.lowerFirst(genConfig.getClassNamePrefix())); genConfigMap.put("apiName", StrUtil.lowerFirst(genConfig.getClassNamePrefix()));
@ -232,7 +233,7 @@ public class GeneratorServiceImpl implements GeneratorService {
File backendModuleFile = new File(projectPath, genConfig.getModuleName()); File backendModuleFile = new File(projectPath, genConfig.getModuleName());
// 例如D:/continew-admin/continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool // 例如D:/continew-admin/continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool
List<String> backendModuleChildPathList = CollUtil.newArrayList("src", "main", "java"); List<String> backendModuleChildPathList = CollUtil.newArrayList("src", "main", "java");
backendModuleChildPathList.addAll(StrUtil.split(genConfig.getPackageName(), StringConsts.DOT)); backendModuleChildPathList.addAll(StrUtil.split(genConfig.getPackageName(), StringConstants.DOT));
File backendParentFile = File backendParentFile =
FileUtil.file(backendModuleFile, backendModuleChildPathList.toArray(new String[0])); FileUtil.file(backendModuleFile, backendModuleChildPathList.toArray(new String[0]));
// 2生成代码 // 2生成代码
@ -244,7 +245,7 @@ public class GeneratorServiceImpl implements GeneratorService {
genConfigMap.put("className", className); genConfigMap.put("className", className);
TemplateConfig templateConfig = templateConfigEntry.getValue(); TemplateConfig templateConfig = templateConfigEntry.getValue();
File classParentFile = FileUtil.file(backendParentFile, File classParentFile = FileUtil.file(backendParentFile,
StrUtil.splitToArray(templateConfig.getPackageName(), StringConsts.DOT)); StrUtil.splitToArray(templateConfig.getPackageName(), StringConstants.DOT));
File classFile = new File(classParentFile, className + FileNameUtil.EXT_JAVA); File classFile = new File(classParentFile, className + FileNameUtil.EXT_JAVA);
// 如果已经存在且不允许覆盖则跳过 // 如果已经存在且不允许覆盖则跳过
if (classFile.exists() && !isOverride) { if (classFile.exists() && !isOverride) {

View File

@ -39,7 +39,7 @@ import top.charles7c.cnadmin.auth.model.resp.LoginResp;
import top.charles7c.cnadmin.auth.model.resp.RouteResp; import top.charles7c.cnadmin.auth.model.resp.RouteResp;
import top.charles7c.cnadmin.auth.model.resp.UserInfoResp; import top.charles7c.cnadmin.auth.model.resp.UserInfoResp;
import top.charles7c.cnadmin.auth.service.LoginService; import top.charles7c.cnadmin.auth.service.LoginService;
import top.charles7c.cnadmin.common.constant.CacheConsts; import top.charles7c.cnadmin.common.constant.CacheConstants;
import top.charles7c.cnadmin.common.model.dto.LoginUser; import top.charles7c.cnadmin.common.model.dto.LoginUser;
import top.charles7c.cnadmin.common.util.SecureUtils; import top.charles7c.cnadmin.common.util.SecureUtils;
import top.charles7c.cnadmin.common.util.helper.LoginHelper; import top.charles7c.cnadmin.common.util.helper.LoginHelper;
@ -70,7 +70,7 @@ public class AuthController {
@Operation(summary = "账号登录", description = "根据账号和密码进行登录认证") @Operation(summary = "账号登录", description = "根据账号和密码进行登录认证")
@PostMapping("/account") @PostMapping("/account")
public LoginResp accountLogin(@Validated @RequestBody AccountLoginReq loginReq) { public LoginResp accountLogin(@Validated @RequestBody AccountLoginReq loginReq) {
String captchaKey = RedisUtils.formatKey(CacheConsts.CAPTCHA_KEY_PREFIX, loginReq.getUuid()); String captchaKey = RedisUtils.formatKey(CacheConstants.CAPTCHA_KEY_PREFIX, loginReq.getUuid());
String captcha = RedisUtils.get(captchaKey); String captcha = RedisUtils.get(captchaKey);
ValidationUtils.throwIfBlank(captcha, "验证码已失效"); ValidationUtils.throwIfBlank(captcha, "验证码已失效");
RedisUtils.delete(captchaKey); RedisUtils.delete(captchaKey);
@ -87,7 +87,7 @@ public class AuthController {
@PostMapping("/email") @PostMapping("/email")
public LoginResp emailLogin(@Validated @RequestBody EmailLoginReq loginReq) { public LoginResp emailLogin(@Validated @RequestBody EmailLoginReq loginReq) {
String email = loginReq.getEmail(); String email = loginReq.getEmail();
String captchaKey = RedisUtils.formatKey(CacheConsts.CAPTCHA_KEY_PREFIX, email); String captchaKey = RedisUtils.formatKey(CacheConstants.CAPTCHA_KEY_PREFIX, email);
String captcha = RedisUtils.get(captchaKey); String captcha = RedisUtils.get(captchaKey);
ValidationUtils.throwIfBlank(captcha, "验证码已失效"); ValidationUtils.throwIfBlank(captcha, "验证码已失效");
ValidationUtils.throwIfNotEqualIgnoreCase(loginReq.getCaptcha(), captcha, "验证码错误"); ValidationUtils.throwIfNotEqualIgnoreCase(loginReq.getCaptcha(), captcha, "验证码错误");
@ -101,7 +101,7 @@ public class AuthController {
@PostMapping("/phone") @PostMapping("/phone")
public LoginResp phoneLogin(@Validated @RequestBody PhoneLoginReq loginReq) { public LoginResp phoneLogin(@Validated @RequestBody PhoneLoginReq loginReq) {
String phone = loginReq.getPhone(); String phone = loginReq.getPhone();
String captchaKey = RedisUtils.formatKey(CacheConsts.CAPTCHA_KEY_PREFIX, phone); String captchaKey = RedisUtils.formatKey(CacheConstants.CAPTCHA_KEY_PREFIX, phone);
String captcha = RedisUtils.get(captchaKey); String captcha = RedisUtils.get(captchaKey);
ValidationUtils.throwIfBlank(captcha, "验证码已失效"); ValidationUtils.throwIfBlank(captcha, "验证码已失效");
ValidationUtils.throwIfNotEqualIgnoreCase(loginReq.getCaptcha(), captcha, "验证码错误"); ValidationUtils.throwIfNotEqualIgnoreCase(loginReq.getCaptcha(), captcha, "验证码错误");

View File

@ -48,8 +48,8 @@ import cn.hutool.core.util.RandomUtil;
import top.charles7c.cnadmin.common.config.properties.CaptchaProperties; import top.charles7c.cnadmin.common.config.properties.CaptchaProperties;
import top.charles7c.cnadmin.common.config.properties.ProjectProperties; import top.charles7c.cnadmin.common.config.properties.ProjectProperties;
import top.charles7c.cnadmin.common.constant.CacheConsts; import top.charles7c.cnadmin.common.constant.CacheConstants;
import top.charles7c.cnadmin.common.constant.RegexConsts; import top.charles7c.cnadmin.common.constant.RegexConstants;
import top.charles7c.cnadmin.common.model.resp.CaptchaResp; import top.charles7c.cnadmin.common.model.resp.CaptchaResp;
import top.charles7c.cnadmin.common.model.resp.R; import top.charles7c.cnadmin.common.model.resp.R;
import top.charles7c.cnadmin.common.util.MailUtils; import top.charles7c.cnadmin.common.util.MailUtils;
@ -82,7 +82,7 @@ public class CaptchaController {
Captcha captcha = captchaImage.getCaptcha(); Captcha captcha = captchaImage.getCaptcha();
// 保存验证码 // 保存验证码
String uuid = IdUtil.fastUUID(); String uuid = IdUtil.fastUUID();
String captchaKey = RedisUtils.formatKey(CacheConsts.CAPTCHA_KEY_PREFIX, uuid); String captchaKey = RedisUtils.formatKey(CacheConstants.CAPTCHA_KEY_PREFIX, uuid);
RedisUtils.set(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(); return CaptchaResp.builder().uuid(uuid).img(captcha.toBase64()).build();
} }
@ -90,10 +90,10 @@ public class CaptchaController {
@Operation(summary = "获取邮箱验证码", description = "发送验证码到指定邮箱") @Operation(summary = "获取邮箱验证码", description = "发送验证码到指定邮箱")
@GetMapping("/mail") @GetMapping("/mail")
public R getMailCaptcha( public R getMailCaptcha(
@NotBlank(message = "邮箱不能为空") @Pattern(regexp = RegexConsts.EMAIL, message = "邮箱格式错误") String email) @NotBlank(message = "邮箱不能为空") @Pattern(regexp = RegexConstants.EMAIL, message = "邮箱格式错误") String email)
throws MessagingException { throws MessagingException {
String limitKeyPrefix = CacheConsts.LIMIT_KEY_PREFIX; String limitKeyPrefix = CacheConstants.LIMIT_KEY_PREFIX;
String captchaKeyPrefix = CacheConsts.CAPTCHA_KEY_PREFIX; String captchaKeyPrefix = CacheConstants.CAPTCHA_KEY_PREFIX;
String limitCaptchaKey = RedisUtils.formatKey(limitKeyPrefix, captchaKeyPrefix, email); String limitCaptchaKey = RedisUtils.formatKey(limitKeyPrefix, captchaKeyPrefix, email);
long limitTimeInMillisecond = RedisUtils.getTimeToLive(limitCaptchaKey); long limitTimeInMillisecond = RedisUtils.getTimeToLive(limitCaptchaKey);
CheckUtils.throwIf(limitTimeInMillisecond > 0, "发送验证码过于频繁,请您 {}s 后再试", limitTimeInMillisecond / 1000); CheckUtils.throwIf(limitTimeInMillisecond > 0, "发送验证码过于频繁,请您 {}s 后再试", limitTimeInMillisecond / 1000);
@ -115,9 +115,9 @@ public class CaptchaController {
@Operation(summary = "获取短信验证码", description = "发送验证码到指定手机号") @Operation(summary = "获取短信验证码", description = "发送验证码到指定手机号")
@GetMapping("/sms") @GetMapping("/sms")
public R getSmsCaptcha( public R getSmsCaptcha(
@NotBlank(message = "手机号不能为空") @Pattern(regexp = RegexConsts.MOBILE, message = "手机号格式错误") String phone) { @NotBlank(message = "手机号不能为空") @Pattern(regexp = RegexConstants.MOBILE, message = "手机号格式错误") String phone) {
String limitKeyPrefix = CacheConsts.LIMIT_KEY_PREFIX; String limitKeyPrefix = CacheConstants.LIMIT_KEY_PREFIX;
String captchaKeyPrefix = CacheConsts.CAPTCHA_KEY_PREFIX; String captchaKeyPrefix = CacheConstants.CAPTCHA_KEY_PREFIX;
String limitCaptchaKey = RedisUtils.formatKey(limitKeyPrefix, captchaKeyPrefix, phone); String limitCaptchaKey = RedisUtils.formatKey(limitKeyPrefix, captchaKeyPrefix, phone);
long limitTimeInMillisecond = RedisUtils.getTimeToLive(limitCaptchaKey); long limitTimeInMillisecond = RedisUtils.getTimeToLive(limitCaptchaKey);
CheckUtils.throwIf(limitTimeInMillisecond > 0, "发送验证码过于频繁,请您 {}s 后再试", limitTimeInMillisecond / 1000); CheckUtils.throwIf(limitTimeInMillisecond > 0, "发送验证码过于频繁,请您 {}s 后再试", limitTimeInMillisecond / 1000);

View File

@ -45,7 +45,7 @@ import cn.hutool.core.util.StrUtil;
import top.charles7c.cnadmin.common.base.IBaseEnum; import top.charles7c.cnadmin.common.base.IBaseEnum;
import top.charles7c.cnadmin.common.config.properties.LocalStorageProperties; import top.charles7c.cnadmin.common.config.properties.LocalStorageProperties;
import top.charles7c.cnadmin.common.config.properties.ProjectProperties; import top.charles7c.cnadmin.common.config.properties.ProjectProperties;
import top.charles7c.cnadmin.common.constant.CacheConsts; import top.charles7c.cnadmin.common.constant.CacheConstants;
import top.charles7c.cnadmin.common.model.query.SortQuery; import top.charles7c.cnadmin.common.model.query.SortQuery;
import top.charles7c.cnadmin.common.model.resp.LabelValueResp; import top.charles7c.cnadmin.common.model.resp.LabelValueResp;
import top.charles7c.cnadmin.common.model.resp.R; import top.charles7c.cnadmin.common.model.resp.R;
@ -117,7 +117,7 @@ public class CommonController {
@Operation(summary = "查询字典", description = "查询字典列表") @Operation(summary = "查询字典", description = "查询字典列表")
@Parameter(name = "code", description = "字典编码", example = "announcement_type", in = ParameterIn.PATH) @Parameter(name = "code", description = "字典编码", example = "announcement_type", in = ParameterIn.PATH)
@GetMapping("/dict/{code}") @GetMapping("/dict/{code}")
@Cacheable(key = "#code", cacheNames = CacheConsts.DICT_KEY_PREFIX) @Cacheable(key = "#code", cacheNames = CacheConstants.DICT_KEY_PREFIX)
public List<LabelValueResp> listDict(@PathVariable String code) { public List<LabelValueResp> listDict(@PathVariable String code) {
Optional<Class<?>> enumClass = this.getEnumClassByName(code); Optional<Class<?>> enumClass = this.getEnumClassByName(code);
return enumClass.map(this::listEnumDict).orElseGet(() -> dictItemService.listByDictCode(code)); return enumClass.map(this::listEnumDict).orElseGet(() -> dictItemService.listByDictCode(code));
@ -126,7 +126,7 @@ public class CommonController {
@SaIgnore @SaIgnore
@Operation(summary = "查询参数", description = "查询参数") @Operation(summary = "查询参数", description = "查询参数")
@GetMapping("/option") @GetMapping("/option")
@Cacheable(cacheNames = CacheConsts.OPTION_KEY_PREFIX) @Cacheable(cacheNames = CacheConstants.OPTION_KEY_PREFIX)
public List<LabelValueResp> listOption(@Validated OptionQuery query) { public List<LabelValueResp> listOption(@Validated OptionQuery query) {
return optionService.list(query).stream().map(option -> new LabelValueResp(option.getCode(), return optionService.list(query).stream().map(option -> new LabelValueResp(option.getCode(),
StrUtil.nullToDefault(option.getValue(), option.getDefaultValue()))).collect(Collectors.toList()); StrUtil.nullToDefault(option.getValue(), option.getDefaultValue()))).collect(Collectors.toList());

View File

@ -36,8 +36,8 @@ import com.xkcoding.justauth.AuthRequestFactory;
import cn.hutool.core.util.ReUtil; import cn.hutool.core.util.ReUtil;
import top.charles7c.cnadmin.common.constant.CacheConsts; import top.charles7c.cnadmin.common.constant.CacheConstants;
import top.charles7c.cnadmin.common.constant.RegexConsts; import top.charles7c.cnadmin.common.constant.RegexConstants;
import top.charles7c.cnadmin.common.enums.SocialSourceEnum; import top.charles7c.cnadmin.common.enums.SocialSourceEnum;
import top.charles7c.cnadmin.common.model.resp.R; import top.charles7c.cnadmin.common.model.resp.R;
import top.charles7c.cnadmin.common.util.SecureUtils; import top.charles7c.cnadmin.common.util.SecureUtils;
@ -101,7 +101,7 @@ public class UserCenterController {
String rawNewPassword = String rawNewPassword =
ExceptionUtils.exToNull(() -> SecureUtils.decryptByRsaPrivateKey(updateReq.getNewPassword())); ExceptionUtils.exToNull(() -> SecureUtils.decryptByRsaPrivateKey(updateReq.getNewPassword()));
ValidationUtils.throwIfNull(rawNewPassword, "新密码解密失败"); ValidationUtils.throwIfNull(rawNewPassword, "新密码解密失败");
ValidationUtils.throwIf(!ReUtil.isMatch(RegexConsts.PASSWORD, rawNewPassword), ValidationUtils.throwIf(!ReUtil.isMatch(RegexConstants.PASSWORD, rawNewPassword),
"密码长度为 6 到 32 位,可以包含字母、数字、下划线,特殊字符,同时包含字母和数字"); "密码长度为 6 到 32 位,可以包含字母、数字、下划线,特殊字符,同时包含字母和数字");
userService.updatePassword(rawOldPassword, rawNewPassword, LoginHelper.getUserId()); userService.updatePassword(rawOldPassword, rawNewPassword, LoginHelper.getUserId());
return R.ok("修改成功"); return R.ok("修改成功");
@ -113,7 +113,7 @@ public class UserCenterController {
String rawCurrentPassword = String rawCurrentPassword =
ExceptionUtils.exToNull(() -> SecureUtils.decryptByRsaPrivateKey(updateReq.getCurrentPassword())); ExceptionUtils.exToNull(() -> SecureUtils.decryptByRsaPrivateKey(updateReq.getCurrentPassword()));
ValidationUtils.throwIfBlank(rawCurrentPassword, "当前密码解密失败"); ValidationUtils.throwIfBlank(rawCurrentPassword, "当前密码解密失败");
String captchaKey = RedisUtils.formatKey(CacheConsts.CAPTCHA_KEY_PREFIX, updateReq.getNewPhone()); String captchaKey = RedisUtils.formatKey(CacheConstants.CAPTCHA_KEY_PREFIX, updateReq.getNewPhone());
String captcha = RedisUtils.get(captchaKey); String captcha = RedisUtils.get(captchaKey);
ValidationUtils.throwIfBlank(captcha, "验证码已失效"); ValidationUtils.throwIfBlank(captcha, "验证码已失效");
ValidationUtils.throwIfNotEqualIgnoreCase(updateReq.getCaptcha(), captcha, "验证码错误"); ValidationUtils.throwIfNotEqualIgnoreCase(updateReq.getCaptcha(), captcha, "验证码错误");
@ -128,7 +128,7 @@ public class UserCenterController {
String rawCurrentPassword = String rawCurrentPassword =
ExceptionUtils.exToNull(() -> SecureUtils.decryptByRsaPrivateKey(updateReq.getCurrentPassword())); ExceptionUtils.exToNull(() -> SecureUtils.decryptByRsaPrivateKey(updateReq.getCurrentPassword()));
ValidationUtils.throwIfBlank(rawCurrentPassword, "当前密码解密失败"); ValidationUtils.throwIfBlank(rawCurrentPassword, "当前密码解密失败");
String captchaKey = RedisUtils.formatKey(CacheConsts.CAPTCHA_KEY_PREFIX, updateReq.getNewEmail()); String captchaKey = RedisUtils.formatKey(CacheConstants.CAPTCHA_KEY_PREFIX, updateReq.getNewEmail());
String captcha = RedisUtils.get(captchaKey); String captcha = RedisUtils.get(captchaKey);
ValidationUtils.throwIfBlank(captcha, "验证码已失效"); ValidationUtils.throwIfBlank(captcha, "验证码已失效");
ValidationUtils.throwIfNotEqualIgnoreCase(updateReq.getCaptcha(), captcha, "验证码错误"); ValidationUtils.throwIfNotEqualIgnoreCase(updateReq.getCaptcha(), captcha, "验证码错误");

View File

@ -32,7 +32,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import top.charles7c.cnadmin.common.annotation.CrudRequestMapping; import top.charles7c.cnadmin.common.annotation.CrudRequestMapping;
import top.charles7c.cnadmin.common.base.BaseController; import top.charles7c.cnadmin.common.base.BaseController;
import top.charles7c.cnadmin.common.base.ValidateGroup; import top.charles7c.cnadmin.common.base.ValidateGroup;
import top.charles7c.cnadmin.common.constant.SysConsts; import top.charles7c.cnadmin.common.constant.SysConstants;
import top.charles7c.cnadmin.common.model.resp.R; import top.charles7c.cnadmin.common.model.resp.R;
import top.charles7c.cnadmin.system.model.query.UserQuery; import top.charles7c.cnadmin.system.model.query.UserQuery;
import top.charles7c.cnadmin.system.model.req.UserReq; import top.charles7c.cnadmin.system.model.req.UserReq;
@ -57,7 +57,7 @@ public class UserController extends BaseController<UserService, UserResp, UserDe
@SaCheckPermission("system:user:add") @SaCheckPermission("system:user:add")
public R<Long> add(@Validated(ValidateGroup.Crud.Add.class) @RequestBody UserReq req) { public R<Long> add(@Validated(ValidateGroup.Crud.Add.class) @RequestBody UserReq req) {
Long id = baseService.add(req); Long id = baseService.add(req);
return R.ok(String.format("新增成功,请牢记默认密码:%s", SysConsts.DEFAULT_PASSWORD), id); return R.ok(String.format("新增成功,请牢记默认密码:%s", SysConstants.DEFAULT_PASSWORD), id);
} }
@Operation(summary = "重置密码", description = "重置用户登录密码为默认密码") @Operation(summary = "重置密码", description = "重置用户登录密码为默认密码")
@ -66,7 +66,7 @@ public class UserController extends BaseController<UserService, UserResp, UserDe
@PatchMapping("/{id}/password") @PatchMapping("/{id}/password")
public R resetPassword(@PathVariable Long id) { public R resetPassword(@PathVariable Long id) {
baseService.resetPassword(id); baseService.resetPassword(id);
return R.ok(String.format("重置密码成功,请牢记默认密码:%s", SysConsts.DEFAULT_PASSWORD)); return R.ok(String.format("重置密码成功,请牢记默认密码:%s", SysConstants.DEFAULT_PASSWORD));
} }
@Operation(summary = "分配角色", description = "为用户新增或移除角色") @Operation(summary = "分配角色", description = "为用户新增或移除角色")