refactor(core): rename Cs prefix to Kit for base classes and utilities

- Renamed CsArgs to KitArgs and updated internal references
- Renamed CsBaseCreateTimeTb to KitBaseCreateTimeTb and extended KitObject
- Renamed CsBaseTimeTb to KitBaseTimeTb and extended KitObject
- Renamed CsBaseUpdateTimeTb to KitBaseUpdateTimeTb and extended KitObject
- Renamed CsBaseUserCreateTimeTb to KitBaseUserCreateTimeTb and extended KitObject
- Renamed CsBaseUserTimeLogicTb to KitBaseUserTimeLogicTb and extended KitObject
- Renamed CsBaseUserTimeTb to KitBaseUserTimeTb and extended KitObject
- Renamed CsObject to KitObject as base serializable class
- Renamed CsPageArgs to KitPageArgs and kept same generic structure
- Renamed CsPageResult to KitPageResult and updated factory methods
- Renamed CsSelectOptionVo to KitSelectOptionVo and extended KitObject
- Updated BootApplication to use KitSpringBeanHolder instead of CsSpringBeanHolder
- Renamed CsRequestHolder to KitRequestHolder and kept same functionality
- Renamed CsScriptHelper to KitScriptHelper and maintained component behavior
- Renamed CsSpringBeanHolder to KitSpringBeanHolder and updated internal usage
- Updated SwaggerConfig to import KitAnonTagUtil instead of CsAnonTagUtil
- Renamed CsHealthCheckPointService to KitHealthCheckPointService in controller and service layers
- Renamed CsMpQTypeEnum to KitMpQTypeEnum for dynamic query types
- Renamed CsMpQuery annotation to KitMpQuery and updated default type reference
- Renamed CsMpMapper to KitMpMapper and updated imports for page utilities
- Renamed CsMpService to KitMpService and updated page result references
- Renamed CsMpServiceImpl to KitMpServiceImpl and updated query utility usage
- Renamed CsMpAnyQUtil to KitMpAnyQUtil and updated internal query builder calls
- Renamed CsMpCmdGenUtil to KitMpCmdGenUtil and updated superclass reference
- Renamed CsMpQUtil to KitMpQUtil and updated annotation and handler references
- Updated model classes (CaptchaModel, ContentRsaEncodeSettingModel, JwtAuthSettingModel, OSSConfigModel) to extend KitObject instead of CsObject
This commit is contained in:
2025-11-28 15:58:37 +08:00
parent b1fdced5cc
commit 6e3061cf04
289 changed files with 6483 additions and 6482 deletions
+2 -1
View File
@@ -20,7 +20,8 @@
- API响应参数类名, 以`Vo`结尾 - API响应参数类名, 以`Vo`结尾
- 事件驱动类名, 以`Event`结尾 - 事件驱动类名, 以`Event`结尾
- 消息队列/Socket传输类名,以`Message`结尾 - 消息队列/Socket传输类名,以`Message`结尾
- 常用的辅助类的类名, 以`Cs`开头 - ~~常用的辅助类的类名, 以`Cs`开头~~
- 常用的辅助类的类名, 以`Kit`开头。Kit有套件、装备等意思。
- 查询分页、查询列表的方法,一律为同一个方法名 - 查询分页、查询列表的方法,一律为同一个方法名
- 查询分页:queryUser(args, page) - 查询分页:queryUser(args, page)
- 查询列表:queryUser(args) - 查询列表:queryUser(args)
@@ -26,17 +26,17 @@ import lombok.Setter;
* @author odboy * @author odboy
* @date 2025-07-23 * @date 2025-07-23
*/ */
public class CsArgs { public class KitArgs {
@Getter @Getter
@Setter @Setter
public static class FindByLongId extends CsObject { public static class FindByLongId extends KitObject {
@NotNull(message = "id必填") @NotNull(message = "id必填")
private Long id; private Long id;
} }
@Getter @Getter
@Setter @Setter
public static class DeleteById extends CsObject { public static class DeleteById extends KitObject {
@NotNull(message = "id必填") @NotNull(message = "id必填")
private Long id; private Long id;
} }
@@ -28,7 +28,7 @@ import java.util.Date;
@Getter @Getter
@Setter @Setter
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CsBaseCreateTimeTb extends CsObject { public class KitBaseCreateTimeTb extends KitObject {
@Schema(name = "创建时间: yyyy-MM-dd HH:mm:ss", hidden = true) @Schema(name = "创建时间: yyyy-MM-dd HH:mm:ss", hidden = true)
@TableField(fill = FieldFill.INSERT) @TableField(fill = FieldFill.INSERT)
private Date createTime; private Date createTime;
@@ -28,7 +28,7 @@ import java.util.Date;
@Getter @Getter
@Setter @Setter
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CsBaseTimeTb extends CsObject { public class KitBaseTimeTb extends KitObject {
@TableField(fill = FieldFill.INSERT) @TableField(fill = FieldFill.INSERT)
@Schema(name = "创建时间: yyyy-MM-dd HH:mm:ss", hidden = true) @Schema(name = "创建时间: yyyy-MM-dd HH:mm:ss", hidden = true)
private Date createTime; private Date createTime;
@@ -28,7 +28,7 @@ import java.util.Date;
@Getter @Getter
@Setter @Setter
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CsBaseUpdateTimeTb extends CsObject { public class KitBaseUpdateTimeTb extends KitObject {
@Schema(name = "更新时间: yyyy-MM-dd HH:mm:ss", hidden = true) @Schema(name = "更新时间: yyyy-MM-dd HH:mm:ss", hidden = true)
@TableField(fill = FieldFill.INSERT_UPDATE) @TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime; private Date updateTime;
@@ -31,7 +31,7 @@ import java.util.Date;
@Getter @Getter
@Setter @Setter
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CsBaseUserCreateTimeTb extends CsObject { public class KitBaseUserCreateTimeTb extends KitObject {
@CreatedBy @CreatedBy
@TableField(fill = FieldFill.INSERT) @TableField(fill = FieldFill.INSERT)
@@ -35,7 +35,7 @@ import java.util.Date;
*/ */
@Getter @Getter
@Setter @Setter
public class CsBaseUserTimeLogicTb extends CsObject { public class KitBaseUserTimeLogicTb extends KitObject {
@CreatedBy @CreatedBy
@TableField(value = "create_by", fill = FieldFill.INSERT) @TableField(value = "create_by", fill = FieldFill.INSERT)
@Schema(name = "创建人", hidden = true) @Schema(name = "创建人", hidden = true)
@@ -32,7 +32,7 @@ import java.util.Date;
@Getter @Getter
@Setter @Setter
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CsBaseUserTimeTb extends CsObject { public class KitBaseUserTimeTb extends KitObject {
@CreatedBy @CreatedBy
@TableField(fill = FieldFill.INSERT) @TableField(fill = FieldFill.INSERT)
@@ -25,7 +25,7 @@ import java.io.Serializable;
* @author odboy * @author odboy
* @date 2022-01-12 * @date 2022-01-12
*/ */
public class CsObject implements Serializable { public class KitObject implements Serializable {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
@@ -34,7 +34,7 @@ import java.io.Serializable;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class CsPageArgs<T> implements Serializable { public class KitPageArgs<T> implements Serializable {
@NotNull(message = "参数page不能为空") @NotNull(message = "参数page不能为空")
@Min(value = 1, message = "参数page最小值为1") @Min(value = 1, message = "参数page最小值为1")
@Schema(name = "页码", example = "1") @Schema(name = "页码", example = "1")
@@ -32,19 +32,19 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CsPageResult<T> extends CsObject { public class KitPageResult<T> extends KitObject {
private List<T> content; private List<T> content;
private long totalElements; private long totalElements;
public static <T> CsPageResult<T> emptyListData() { public static <T> KitPageResult<T> emptyListData() {
CsPageResult<T> result = new CsPageResult<>(); KitPageResult<T> result = new KitPageResult<>();
result.setTotalElements(0); result.setTotalElements(0);
result.setContent(new ArrayList<>()); result.setContent(new ArrayList<>());
return result; return result;
} }
public static <T> CsPageResult<T> listData(IPage<T> page) { public static <T> KitPageResult<T> listData(IPage<T> page) {
CsPageResult<T> result = new CsPageResult<>(); KitPageResult<T> result = new KitPageResult<>();
result.setTotalElements(page.getTotal()); result.setTotalElements(page.getTotal());
result.setContent(page.getRecords()); result.setContent(page.getRecords());
return result; return result;
@@ -31,7 +31,7 @@ import java.util.Map;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CsSelectOptionVo extends CsObject { public class KitSelectOptionVo extends KitObject {
private String label; private String label;
private String value; private String value;
private Map<String, Object> ext; private Map<String, Object> ext;
@@ -48,7 +48,7 @@ public class BootApplication {
} }
@Bean @Bean
public CsSpringBeanHolder springBeanHolder() { public KitSpringBeanHolder springBeanHolder() {
return new CsSpringBeanHolder(); return new KitSpringBeanHolder();
} }
} }
@@ -26,7 +26,7 @@ import java.util.Objects;
/** /**
* 获取 HttpServletRequest * 获取 HttpServletRequest
*/ */
public class CsRequestHolder { public class KitRequestHolder {
public static HttpServletRequest getHttpServletRequest() { public static HttpServletRequest getHttpServletRequest() {
return ((ServletRequestAttributes)Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); return ((ServletRequestAttributes)Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
@@ -31,7 +31,7 @@ import java.util.Map;
*/ */
@Slf4j @Slf4j
@Component @Component
public class CsScriptHelper { public class KitScriptHelper {
public Object evalObj(String script, Map<String, Object> args) { public Object evalObj(String script, Map<String, Object> args) {
try (Context rhino = Context.enter()) { try (Context rhino = Context.enter()) {
Scriptable scope = rhino.initStandardObjects(); Scriptable scope = rhino.initStandardObjects();
@@ -30,7 +30,7 @@ import java.util.List;
@Slf4j @Slf4j
@SuppressWarnings({"unchecked", "all"}) @SuppressWarnings({"unchecked", "all"})
public class CsSpringBeanHolder implements ApplicationContextAware, DisposableBean { public class KitSpringBeanHolder implements ApplicationContextAware, DisposableBean {
private static final List<CallBack> CALL_BACKS = new ArrayList<>(); private static final List<CallBack> CALL_BACKS = new ArrayList<>();
private static ApplicationContext applicationContext = null; private static ApplicationContext applicationContext = null;
@@ -43,7 +43,7 @@ public class CsSpringBeanHolder implements ApplicationContextAware, DisposableBe
*/ */
public synchronized static void addCallBacks(CallBack callBack) { public synchronized static void addCallBacks(CallBack callBack) {
if (addCallback) { if (addCallback) {
CsSpringBeanHolder.CALL_BACKS.add(callBack); KitSpringBeanHolder.CALL_BACKS.add(callBack);
} else { } else {
log.warn("CallBack:{} 已无法添加!立即执行", callBack.getCallBackName()); log.warn("CallBack:{} 已无法添加!立即执行", callBack.getCallBackName());
callBack.executor(); callBack.executor();
@@ -133,22 +133,22 @@ public class CsSpringBeanHolder implements ApplicationContextAware, DisposableBe
@Override @Override
public void destroy() { public void destroy() {
CsSpringBeanHolder.clearHolder(); KitSpringBeanHolder.clearHolder();
} }
@Override @Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
if (CsSpringBeanHolder.applicationContext != null) { if (KitSpringBeanHolder.applicationContext != null) {
log.warn("SpringContextHolder中的ApplicationContext被覆盖, 原有ApplicationContext为:" + CsSpringBeanHolder.applicationContext); log.warn("SpringContextHolder中的ApplicationContext被覆盖, 原有ApplicationContext为:" + KitSpringBeanHolder.applicationContext);
} }
CsSpringBeanHolder.applicationContext = applicationContext; KitSpringBeanHolder.applicationContext = applicationContext;
if (addCallback) { if (addCallback) {
for (CallBack callBack : CsSpringBeanHolder.CALL_BACKS) { for (CallBack callBack : KitSpringBeanHolder.CALL_BACKS) {
callBack.executor(); callBack.executor();
} }
CALL_BACKS.clear(); CALL_BACKS.clear();
} }
CsSpringBeanHolder.addCallback = false; KitSpringBeanHolder.addCallback = false;
} }
interface CallBack { interface CallBack {
@@ -17,7 +17,7 @@
package cn.odboy.framework.monitor.controller; package cn.odboy.framework.monitor.controller;
import cn.odboy.annotation.AnonymousGetMapping; import cn.odboy.annotation.AnonymousGetMapping;
import cn.odboy.framework.monitor.service.CsHealthCheckPointService; import cn.odboy.framework.monitor.service.KitHealthCheckPointService;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
@@ -32,14 +32,14 @@ import org.springframework.web.bind.annotation.RestController;
@Tag(name = "系统:健康检查接口") @Tag(name = "系统:健康检查接口")
public class HealthCheckController { public class HealthCheckController {
@Autowired @Autowired
private CsHealthCheckPointService healthCheckPointService; private KitHealthCheckPointService kitHealthCheckPointService;
/** /**
* 就绪检查 * 就绪检查
*/ */
@AnonymousGetMapping(value = "/readiness") @AnonymousGetMapping(value = "/readiness")
public ResponseEntity<?> doReadiness() { public ResponseEntity<?> doReadiness() {
return healthCheckPointService.doReadiness(); return kitHealthCheckPointService.doReadiness();
} }
/** /**
@@ -47,7 +47,7 @@ public class HealthCheckController {
*/ */
@AnonymousGetMapping(value = "/liveness") @AnonymousGetMapping(value = "/liveness")
public ResponseEntity<?> doLiveness() { public ResponseEntity<?> doLiveness() {
return healthCheckPointService.doLiveness(); return kitHealthCheckPointService.doLiveness();
} }
// /** // /**
@@ -18,7 +18,7 @@ package cn.odboy.framework.monitor.service;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
public interface CsHealthCheckPointService { public interface KitHealthCheckPointService {
/** /**
* 就绪检查 * 就绪检查
*/ */
@@ -19,7 +19,7 @@ package cn.odboy.framework.mybatisplus.config;
/** /**
* 动态查询 枚举 * 动态查询 枚举
*/ */
public enum CsMpQTypeEnum { public enum KitMpQTypeEnum {
/** /**
* 相等 * 相等
*/ */
@@ -28,7 +28,7 @@ import java.lang.annotation.Target;
*/ */
@Target(ElementType.FIELD) @Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)
public @interface CsMpQuery { public @interface KitMpQuery {
/** /**
* 基本对象的属性名 * 基本对象的属性名
*/ */
@@ -37,7 +37,7 @@ public @interface CsMpQuery {
/** /**
* 查询方式 * 查询方式
*/ */
CsMpQTypeEnum type() default CsMpQTypeEnum.EQUAL; KitMpQTypeEnum type() default KitMpQTypeEnum.EQUAL;
/** /**
* 多字段模糊搜索, 仅支持String类型字段, 多个用逗号隔开, 如@MpQuery(blurry = "email,username") * 多字段模糊搜索, 仅支持String类型字段, 多个用逗号隔开, 如@MpQuery(blurry = "email,username")
@@ -30,14 +30,14 @@ import java.util.List;
* @author odboy * @author odboy
* @date 2025-05-15 * @date 2025-05-15
*/ */
public class CsMpAnyQUtil { public class KitMpAnyQUtil {
public static <T> T selectOne(BaseMapper<T> baseMapper, Object queryParams) { public static <T> T selectOne(BaseMapper<T> baseMapper, Object queryParams) {
QueryWrapper<T> queryWrapper = CsMpQUtil.build(queryParams); QueryWrapper<T> queryWrapper = KitMpQUtil.build(queryParams);
return baseMapper.selectOne(queryWrapper); return baseMapper.selectOne(queryWrapper);
} }
public static <T, M> M selectOne(BaseMapper<T> baseMapper, Object queryParams, Class<M> mapperClazz) { public static <T, M> M selectOne(BaseMapper<T> baseMapper, Object queryParams, Class<M> mapperClazz) {
QueryWrapper<T> queryWrapper = CsMpQUtil.build(queryParams); QueryWrapper<T> queryWrapper = KitMpQUtil.build(queryParams);
T mapperTarget = baseMapper.selectOne(queryWrapper); T mapperTarget = baseMapper.selectOne(queryWrapper);
if (mapperTarget == null) { if (mapperTarget == null) {
return null; return null;
@@ -46,12 +46,12 @@ public class CsMpAnyQUtil {
} }
public static <T> List<T> selectList(BaseMapper<T> baseMapper, Object queryParams) { public static <T> List<T> selectList(BaseMapper<T> baseMapper, Object queryParams) {
QueryWrapper<T> queryWrapper = CsMpQUtil.build(queryParams); QueryWrapper<T> queryWrapper = KitMpQUtil.build(queryParams);
return baseMapper.selectList(queryWrapper); return baseMapper.selectList(queryWrapper);
} }
public static <T, M> List<M> selectList(BaseMapper<T> baseMapper, Object queryParams, Class<M> mapperClazz) { public static <T, M> List<M> selectList(BaseMapper<T> baseMapper, Object queryParams, Class<M> mapperClazz) {
QueryWrapper<T> queryWrapper = CsMpQUtil.build(queryParams); QueryWrapper<T> queryWrapper = KitMpQUtil.build(queryParams);
List<T> mapperTarget = baseMapper.selectList(queryWrapper); List<T> mapperTarget = baseMapper.selectList(queryWrapper);
if (mapperTarget == null) { if (mapperTarget == null) {
return new ArrayList<>(); return new ArrayList<>();
@@ -60,17 +60,17 @@ public class CsMpAnyQUtil {
} }
public static <T> Long selectCount(BaseMapper<T> baseMapper, Object queryParams) { public static <T> Long selectCount(BaseMapper<T> baseMapper, Object queryParams) {
QueryWrapper<T> queryWrapper = CsMpQUtil.build(queryParams); QueryWrapper<T> queryWrapper = KitMpQUtil.build(queryParams);
return baseMapper.selectCount(queryWrapper); return baseMapper.selectCount(queryWrapper);
} }
public static <T> Page<T> selectPage(BaseMapper<T> baseMapper, Page<T> page, Object queryParams) { public static <T> Page<T> selectPage(BaseMapper<T> baseMapper, Page<T> page, Object queryParams) {
QueryWrapper<T> queryWrapper = CsMpQUtil.build(queryParams); QueryWrapper<T> queryWrapper = KitMpQUtil.build(queryParams);
return baseMapper.selectPage(page, queryWrapper); return baseMapper.selectPage(page, queryWrapper);
} }
public static <T, M> Page<M> selectPage(BaseMapper<T> baseMapper, Page<T> page, Object queryParams, Class<M> mapperClazz) { public static <T, M> Page<M> selectPage(BaseMapper<T> baseMapper, Page<T> page, Object queryParams, Class<M> mapperClazz) {
QueryWrapper<T> queryWrapper = CsMpQUtil.build(queryParams); QueryWrapper<T> queryWrapper = KitMpQUtil.build(queryParams);
Page<T> tPage = baseMapper.selectPage(page, queryWrapper); Page<T> tPage = baseMapper.selectPage(page, queryWrapper);
Page<M> mapperTarget = new Page<>(); Page<M> mapperTarget = new Page<>();
mapperTarget.setRecords(BeanUtil.copyToList(tPage.getRecords(), mapperClazz)); mapperTarget.setRecords(BeanUtil.copyToList(tPage.getRecords(), mapperClazz));
@@ -17,7 +17,7 @@
package cn.odboy.framework.mybatisplus.core; package cn.odboy.framework.mybatisplus.core;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.odboy.base.CsBaseUserTimeTb; import cn.odboy.base.KitBaseUserTimeTb;
import cn.odboy.framework.exception.BadRequestException; import cn.odboy.framework.exception.BadRequestException;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.FastAutoGenerator; import com.baomidou.mybatisplus.generator.FastAutoGenerator;
@@ -44,7 +44,7 @@ import java.util.function.Consumer;
* @date 2025-01-11 * @date 2025-01-11
*/ */
@Data @Data
public class CsMpCmdGenUtil { public class KitMpCmdGenUtil {
// 项目根路径。生成结果 C:\Users\Administrator\Documents\GitHub\cutejava\cutejava // 项目根路径。生成结果 C:\Users\Administrator\Documents\GitHub\cutejava\cutejava
private static final String projectRootPath = System.getProperty("user.dir") + "/"; private static final String projectRootPath = System.getProperty("user.dir") + "/";
/** /**
@@ -74,7 +74,7 @@ public class CsMpCmdGenUtil {
private static Consumer<StrategyConfig.Builder> getStrategyConfigConsumer(List<String> tableNames) { private static Consumer<StrategyConfig.Builder> getStrategyConfigConsumer(List<String> tableNames) {
return strategyConfigBuilder -> strategyConfigBuilder.enableCapitalMode().enableSkipView().disableSqlFilter().addInclude(tableNames) return strategyConfigBuilder -> strategyConfigBuilder.enableCapitalMode().enableSkipView().disableSqlFilter().addInclude(tableNames)
// 实体类生成策略 // 实体类生成策略
.entityBuilder().superClass(CsBaseUserTimeTb.class).addIgnoreColumns("create_time", "update_time", "create_by", "update_by") .entityBuilder().superClass(KitBaseUserTimeTb.class).addIgnoreColumns("create_time", "update_time", "create_by", "update_by")
// 开启生成实体时生成字段注解。 // 开启生成实体时生成字段注解。
// 会在实体类的属性前,添加[@TableField("nickname")] // 会在实体类的属性前,添加[@TableField("nickname")]
.enableTableFieldAnnotation().disableSerialVersionUID() .enableTableFieldAnnotation().disableSerialVersionUID()
@@ -19,9 +19,9 @@ package cn.odboy.framework.mybatisplus.core;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.odboy.base.CsBaseUserTimeTb; import cn.odboy.base.KitBaseUserTimeTb;
import cn.odboy.framework.exception.BadRequestException; import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.framework.mybatisplus.config.CsMpQuery; import cn.odboy.framework.mybatisplus.config.KitMpQuery;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
@@ -38,7 +38,7 @@ import java.util.*;
* 查询条件创建工具 * 查询条件创建工具
*/ */
@Slf4j @Slf4j
public class CsMpQUtil { public class KitMpQUtil {
public static <R, Q> QueryWrapper<R> build(Q query) { public static <R, Q> QueryWrapper<R> build(Q query) {
QueryWrapper<R> queryWrapper = new QueryWrapper<>(); QueryWrapper<R> queryWrapper = new QueryWrapper<>();
if (query == null) { if (query == null) {
@@ -50,7 +50,7 @@ public class CsMpQUtil {
for (Field field : fields) { for (Field field : fields) {
if (!field.canAccess(query)) { if (!field.canAccess(query)) {
field.setAccessible(true); field.setAccessible(true);
CsMpQuery q = field.getAnnotation(CsMpQuery.class); KitMpQuery q = field.getAnnotation(KitMpQuery.class);
if (q != null) { if (q != null) {
String attributeName = getAttributeName(q, field); String attributeName = getAttributeName(q, field);
Object fieldVal = field.get(query); Object fieldVal = field.get(query);
@@ -72,12 +72,12 @@ public class CsMpQUtil {
return queryWrapper; return queryWrapper;
} }
private static String getAttributeName(CsMpQuery q, Field field) { private static String getAttributeName(KitMpQuery q, Field field) {
String attributeName = StrUtil.isBlank(q.propName()) ? field.getName() : q.propName(); String attributeName = StrUtil.isBlank(q.propName()) ? field.getName() : q.propName();
return StrUtil.toUnderlineCase(attributeName); return StrUtil.toUnderlineCase(attributeName);
} }
private static <R> void handleWrapper(CsMpQuery q, QueryWrapper<R> queryWrapper, String attributeName, Object fieldVal) { private static <R> void handleWrapper(KitMpQuery q, QueryWrapper<R> queryWrapper, String attributeName, Object fieldVal) {
switch (q.type()) { switch (q.type()) {
case EQUAL -> queryWrapper.eq(attributeName, fieldVal); case EQUAL -> queryWrapper.eq(attributeName, fieldVal);
case GREATER_THAN -> queryWrapper.ge(attributeName, fieldVal); case GREATER_THAN -> queryWrapper.ge(attributeName, fieldVal);
@@ -182,7 +182,7 @@ public class CsMpQUtil {
@TableName("test_domain") @TableName("test_domain")
private static class TestDomain { private static class TestDomain {
@NotNull(groups = CsBaseUserTimeTb.Update.class) @NotNull(groups = KitBaseUserTimeTb.Update.class)
@TableId(value = "user_id", type = IdType.AUTO) @TableId(value = "user_id", type = IdType.AUTO)
private Long id; private Long id;
@TableField(value = "dept_id") @TableField(value = "dept_id")
@@ -19,8 +19,8 @@ package cn.odboy.framework.mybatisplus.core.interfaces;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ReflectUtil; import cn.hutool.core.util.ReflectUtil;
import cn.odboy.base.CsPageResult; import cn.odboy.base.KitPageResult;
import cn.odboy.util.CsPageUtil; import cn.odboy.util.KitPageUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -42,7 +42,7 @@ import java.util.concurrent.ConcurrentHashMap;
* @author odboy * @author odboy
* @date 2022-04-03 * @date 2022-04-03
*/ */
public interface CsMpMapper<E> extends BaseMapper<E> { public interface KitMpMapper<E> extends BaseMapper<E> {
/** /**
* 批量插入 * 批量插入
* *
@@ -137,16 +137,16 @@ public interface CsMpMapper<E> extends BaseMapper<E> {
* @param clazz 期望的对象类型 * @param clazz 期望的对象类型
* @return IPage<T> * @return IPage<T>
*/ */
default <T> CsPageResult<T> queryFeatureClazzPage(Pageable pageable, LambdaQueryWrapper<E> wrapper, Class<T> clazz) { default <T> KitPageResult<T> queryFeatureClazzPage(Pageable pageable, LambdaQueryWrapper<E> wrapper, Class<T> clazz) {
int pageNumber = pageable.getPageNumber(); int pageNumber = pageable.getPageNumber();
int pageSize = pageable.getPageSize(); int pageSize = pageable.getPageSize();
pageNumber = pageNumber <= 0 ? 1 : pageNumber; pageNumber = pageNumber <= 0 ? 1 : pageNumber;
pageSize = pageSize <= 0 ? 10 : pageSize; pageSize = pageSize <= 0 ? 10 : pageSize;
IPage<E> pageInfo = this.selectPage(new Page<>(pageNumber, pageSize), wrapper); IPage<E> pageInfo = this.selectPage(new Page<>(pageNumber, pageSize), wrapper);
if (CollUtil.isEmpty(pageInfo.getRecords())) { if (CollUtil.isEmpty(pageInfo.getRecords())) {
return new CsPageResult<>(new ArrayList<>(), pageInfo.getTotal()); return new KitPageResult<>(new ArrayList<>(), pageInfo.getTotal());
} }
return new CsPageResult<>(BeanUtil.copyToList(pageInfo.getRecords(), clazz), pageInfo.getTotal()); return new KitPageResult<>(BeanUtil.copyToList(pageInfo.getRecords(), clazz), pageInfo.getTotal());
} }
/** /**
@@ -157,16 +157,16 @@ public interface CsMpMapper<E> extends BaseMapper<E> {
* @param clazz 期望的对象类型 * @param clazz 期望的对象类型
* @return IPage<T> * @return IPage<T>
*/ */
default <T> CsPageResult<T> queryFeatureClazzPage(Pageable pageable, LambdaQueryChainWrapper<E> wrapper, Class<T> clazz) { default <T> KitPageResult<T> queryFeatureClazzPage(Pageable pageable, LambdaQueryChainWrapper<E> wrapper, Class<T> clazz) {
int pageNumber = pageable.getPageNumber(); int pageNumber = pageable.getPageNumber();
int pageSize = pageable.getPageSize(); int pageSize = pageable.getPageSize();
pageNumber = pageNumber <= 0 ? 1 : pageNumber; pageNumber = pageNumber <= 0 ? 1 : pageNumber;
pageSize = pageSize <= 0 ? 10 : pageSize; pageSize = pageSize <= 0 ? 10 : pageSize;
IPage<E> pageInfo = wrapper.page(new Page<>(pageNumber, pageSize)); IPage<E> pageInfo = wrapper.page(new Page<>(pageNumber, pageSize));
if (CollUtil.isEmpty(pageInfo.getRecords())) { if (CollUtil.isEmpty(pageInfo.getRecords())) {
return CsPageUtil.emptyListData(); return KitPageUtil.emptyListData();
} }
return new CsPageResult<>(BeanUtil.copyToList(pageInfo.getRecords(), clazz), pageInfo.getTotal()); return new KitPageResult<>(BeanUtil.copyToList(pageInfo.getRecords(), clazz), pageInfo.getTotal());
} }
/** /**
@@ -16,7 +16,7 @@
package cn.odboy.framework.mybatisplus.core.interfaces; package cn.odboy.framework.mybatisplus.core.interfaces;
import cn.odboy.base.CsPageResult; import cn.odboy.base.KitPageResult;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction; import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
@@ -32,7 +32,7 @@ import java.util.List;
* @author odboy * @author odboy
* @date 2022-04-03 * @date 2022-04-03
*/ */
public interface CsMpService<T> extends IService<T> { public interface KitMpService<T> extends IService<T> {
<G> int saveFeatureClazz(G resources); <G> int saveFeatureClazz(G resources);
<G> int saveFeatureClazzList(List<G> resources); <G> int saveFeatureClazzList(List<G> resources);
@@ -57,13 +57,13 @@ public interface CsMpService<T> extends IService<T> {
<G> List<G> queryFeatureClazzListByArgs(LambdaQueryWrapper<T> wrapper, Class<G> targetClazz); <G> List<G> queryFeatureClazzListByArgs(LambdaQueryWrapper<T> wrapper, Class<G> targetClazz);
CsPageResult<T> queryClazzPageByArgs(LambdaQueryWrapper<T> wrapper, IPage<T> pageable); KitPageResult<T> queryClazzPageByArgs(LambdaQueryWrapper<T> wrapper, IPage<T> pageable);
<G> CsPageResult<G> queryFeatureClazzPageByArgs(LambdaQueryWrapper<T> wrapper, IPage<T> pageable, Class<G> targetClazz); <G> KitPageResult<G> queryFeatureClazzPageByArgs(LambdaQueryWrapper<T> wrapper, IPage<T> pageable, Class<G> targetClazz);
<G, Q> CsPageResult<G> queryFeatureClazzPageByArgs(Q criteria, IPage<T> pageable, Class<G> targetClazz); <G, Q> KitPageResult<G> queryFeatureClazzPageByArgs(Q criteria, IPage<T> pageable, Class<G> targetClazz);
<Q> CsPageResult<T> queryClazzPageByArgs(Q criteria, IPage<T> pageable); <Q> KitPageResult<T> queryClazzPageByArgs(Q criteria, IPage<T> pageable);
int modifyClazzByArgs(LambdaQueryWrapper<T> wrapper, T entity); int modifyClazzByArgs(LambdaQueryWrapper<T> wrapper, T entity);
@@ -18,9 +18,9 @@ package cn.odboy.framework.mybatisplus.core.interfaces;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.odboy.base.CsPageResult; import cn.odboy.base.KitPageResult;
import cn.odboy.framework.exception.BadRequestException; import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.framework.mybatisplus.core.CsMpQUtil; import cn.odboy.framework.mybatisplus.core.KitMpQUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.enums.SqlMethod; import com.baomidou.mybatisplus.core.enums.SqlMethod;
@@ -39,7 +39,7 @@ import java.util.List;
* @author odboy * @author odboy
* @date 2022-04-03 * @date 2022-04-03
*/ */
public class CsMpServiceImpl<M extends CsMpMapper<T>, T> extends ServiceImpl<M, T> { public class KitMpServiceImpl<M extends KitMpMapper<T>, T> extends ServiceImpl<M, T> {
/** /**
* 快速插入 * 快速插入
* *
@@ -147,7 +147,7 @@ public class CsMpServiceImpl<M extends CsMpMapper<T>, T> extends ServiceImpl<M,
* @param criteria 动态条件 * @param criteria 动态条件
*/ */
public <Q> List<T> queryClazzListByArgs(Q criteria) { public <Q> List<T> queryClazzListByArgs(Q criteria) {
QueryWrapper<T> predicate = CsMpQUtil.build(criteria); QueryWrapper<T> predicate = KitMpQUtil.build(criteria);
return baseMapper.selectList(predicate); return baseMapper.selectList(predicate);
} }
@@ -170,7 +170,7 @@ public class CsMpServiceImpl<M extends CsMpMapper<T>, T> extends ServiceImpl<M,
* @param targetClazz 目标类型 * @param targetClazz 目标类型
*/ */
public <G, Q> List<G> queryFeatureClazzListByArgs(Q criteria, Class<G> targetClazz) { public <G, Q> List<G> queryFeatureClazzListByArgs(Q criteria, Class<G> targetClazz) {
QueryWrapper<T> predicate = CsMpQUtil.build(criteria); QueryWrapper<T> predicate = KitMpQUtil.build(criteria);
List<T> data = baseMapper.selectList(predicate); List<T> data = baseMapper.selectList(predicate);
return BeanUtil.copyToList(data, targetClazz); return BeanUtil.copyToList(data, targetClazz);
} }
@@ -194,12 +194,12 @@ public class CsMpServiceImpl<M extends CsMpMapper<T>, T> extends ServiceImpl<M,
* @param wrapper 制造条件 * @param wrapper 制造条件
* @param pageable 分页参数 * @param pageable 分页参数
*/ */
public CsPageResult<T> queryClazzPageByArgs(LambdaQueryWrapper<T> wrapper, IPage<T> pageable) { public KitPageResult<T> queryClazzPageByArgs(LambdaQueryWrapper<T> wrapper, IPage<T> pageable) {
if (wrapper == null) { if (wrapper == null) {
wrapper = new LambdaQueryWrapper<>(); wrapper = new LambdaQueryWrapper<>();
} }
IPage<T> originPageData = baseMapper.selectPage(pageable, wrapper); IPage<T> originPageData = baseMapper.selectPage(pageable, wrapper);
return new CsPageResult<>(originPageData.getRecords(), originPageData.getTotal()); return new KitPageResult<>(originPageData.getRecords(), originPageData.getTotal());
} }
/** /**
@@ -209,24 +209,24 @@ public class CsMpServiceImpl<M extends CsMpMapper<T>, T> extends ServiceImpl<M,
* @param pageable 分页参数 * @param pageable 分页参数
* @param targetClazz 目标类型 * @param targetClazz 目标类型
*/ */
public <G> CsPageResult<G> queryFeatureClazzPageByArgs(LambdaQueryWrapper<T> wrapper, IPage<T> pageable, Class<G> targetClazz) { public <G> KitPageResult<G> queryFeatureClazzPageByArgs(LambdaQueryWrapper<T> wrapper, IPage<T> pageable, Class<G> targetClazz) {
if (wrapper == null) { if (wrapper == null) {
wrapper = new LambdaQueryWrapper<>(); wrapper = new LambdaQueryWrapper<>();
} }
IPage<T> originPageData = baseMapper.selectPage(pageable, wrapper); IPage<T> originPageData = baseMapper.selectPage(pageable, wrapper);
return new CsPageResult<>(BeanUtil.copyToList(originPageData.getRecords(), targetClazz), originPageData.getTotal()); return new KitPageResult<>(BeanUtil.copyToList(originPageData.getRecords(), targetClazz), originPageData.getTotal());
} }
public <G, Q> CsPageResult<G> queryFeatureClazzPageByArgs(Q criteria, IPage<T> pageable, Class<G> targetClazz) { public <G, Q> KitPageResult<G> queryFeatureClazzPageByArgs(Q criteria, IPage<T> pageable, Class<G> targetClazz) {
QueryWrapper<T> wrapper = CsMpQUtil.build(criteria); QueryWrapper<T> wrapper = KitMpQUtil.build(criteria);
IPage<T> originPageData = baseMapper.selectPage(pageable, wrapper); IPage<T> originPageData = baseMapper.selectPage(pageable, wrapper);
return new CsPageResult<>(BeanUtil.copyToList(originPageData.getRecords(), targetClazz), originPageData.getTotal()); return new KitPageResult<>(BeanUtil.copyToList(originPageData.getRecords(), targetClazz), originPageData.getTotal());
} }
public <Q> CsPageResult<T> queryClazzPageByArgs(Q criteria, IPage<T> pageable) { public <Q> KitPageResult<T> queryClazzPageByArgs(Q criteria, IPage<T> pageable) {
QueryWrapper<T> wrapper = CsMpQUtil.build(criteria); QueryWrapper<T> wrapper = KitMpQUtil.build(criteria);
IPage<T> originPageData = baseMapper.selectPage(pageable, wrapper); IPage<T> originPageData = baseMapper.selectPage(pageable, wrapper);
return new CsPageResult<>(originPageData.getRecords(), originPageData.getTotal()); return new KitPageResult<>(originPageData.getRecords(), originPageData.getTotal());
} }
/** /**
@@ -16,13 +16,13 @@
package cn.odboy.framework.properties.model; package cn.odboy.framework.properties.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@Getter @Getter
@Setter @Setter
public class CaptchaModel extends CsObject { public class CaptchaModel extends KitObject {
/** /**
* 验证码有效时间, 单位: 秒 * 验证码有效时间, 单位: 秒
*/ */
@@ -16,7 +16,7 @@
package cn.odboy.framework.properties.model; package cn.odboy.framework.properties.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@@ -25,6 +25,6 @@ import lombok.Setter;
*/ */
@Getter @Getter
@Setter @Setter
public class ContentRsaEncodeSettingModel extends CsObject { public class ContentRsaEncodeSettingModel extends KitObject {
private String privateKey; private String privateKey;
} }
@@ -16,7 +16,7 @@
package cn.odboy.framework.properties.model; package cn.odboy.framework.properties.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@@ -25,7 +25,7 @@ import lombok.Setter;
*/ */
@Getter @Getter
@Setter @Setter
public class JwtAuthSettingModel extends CsObject { public class JwtAuthSettingModel extends KitObject {
/** /**
* 必须使用最少88位的Base64对该令牌进行编码 * 必须使用最少88位的Base64对该令牌进行编码
*/ */
@@ -16,13 +16,13 @@
package cn.odboy.framework.properties.model; package cn.odboy.framework.properties.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@Getter @Getter
@Setter @Setter
public class OSSConfigModel extends CsObject { public class OSSConfigModel extends KitObject {
/** /**
* 服务地址 * 服务地址
*/ */
@@ -16,7 +16,7 @@
package cn.odboy.framework.properties.model; package cn.odboy.framework.properties.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@@ -28,7 +28,7 @@ import lombok.Setter;
*/ */
@Getter @Getter
@Setter @Setter
public class ThreadPoolSettingModel extends CsObject { public class ThreadPoolSettingModel extends KitObject {
/** /**
* 核心线程池大小 * 核心线程池大小
*/ */
@@ -17,7 +17,7 @@
package cn.odboy.framework.properties.model; package cn.odboy.framework.properties.model;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import cn.odboy.constant.CaptchaCodeEnum; import cn.odboy.constant.CaptchaCodeEnum;
import cn.odboy.framework.exception.BadRequestException; import cn.odboy.framework.exception.BadRequestException;
import com.wf.captcha.*; import com.wf.captcha.*;
@@ -34,7 +34,7 @@ import java.awt.*;
*/ */
@Getter @Getter
@Setter @Setter
public class UserLoginCaptchaSettingModel extends CsObject { public class UserLoginCaptchaSettingModel extends KitObject {
private CaptchaCodeEnum codeType; private CaptchaCodeEnum codeType;
/** /**
@@ -16,7 +16,7 @@
package cn.odboy.framework.properties.model; package cn.odboy.framework.properties.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@@ -27,7 +27,7 @@ import lombok.Setter;
*/ */
@Getter @Getter
@Setter @Setter
public class UserLoginSettingModel extends CsObject { public class UserLoginSettingModel extends KitObject {
/** /**
* 账号单用户 登录 * 账号单用户 登录
*/ */
@@ -16,7 +16,7 @@
package cn.odboy.framework.quartz.core; package cn.odboy.framework.quartz.core;
import cn.odboy.framework.context.CsSpringBeanHolder; import cn.odboy.framework.context.KitSpringBeanHolder;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.util.ReflectionUtils; import org.springframework.util.ReflectionUtils;
@@ -34,7 +34,7 @@ public class QuartzRunnable implements Callable<Object> {
private final String params; private final String params;
public QuartzRunnable(String beanName, String methodName, String params) throws NoSuchMethodException, SecurityException { public QuartzRunnable(String beanName, String methodName, String params) throws NoSuchMethodException, SecurityException {
this.target = CsSpringBeanHolder.getBean(beanName); this.target = KitSpringBeanHolder.getBean(beanName);
this.params = params; this.params = params;
if (StringUtils.isNotBlank(params)) { if (StringUtils.isNotBlank(params)) {
this.method = target.getClass().getDeclaredMethod(methodName, String.class); this.method = target.getClass().getDeclaredMethod(methodName, String.class);
@@ -34,12 +34,12 @@ import java.util.concurrent.TimeUnit;
@Component @Component
@SuppressWarnings({"unchecked", "all"}) @SuppressWarnings({"unchecked", "all"})
public class CsRedisHelper { public class KitRedisHelper {
private static final Logger log = LoggerFactory.getLogger(CsRedisHelper.class); private static final Logger log = LoggerFactory.getLogger(KitRedisHelper.class);
private RedisTemplate<Object, Object> redisTemplate; private RedisTemplate<Object, Object> redisTemplate;
public CsRedisHelper(RedisTemplate<Object, Object> redisTemplate) { public KitRedisHelper(RedisTemplate<Object, Object> redisTemplate) {
this.redisTemplate = redisTemplate; this.redisTemplate = redisTemplate;
this.redisTemplate.setKeySerializer(new StringRedisSerializer()); this.redisTemplate.setKeySerializer(new StringRedisSerializer());
this.redisTemplate.setHashKeySerializer(new StringRedisSerializer()); this.redisTemplate.setHashKeySerializer(new StringRedisSerializer());
@@ -53,7 +53,7 @@ public class ConfigurerAdapter implements WebMvcConfigurer {
@Autowired @Autowired
private DateStringToDateConverter dateStringToDateConverter; private DateStringToDateConverter dateStringToDateConverter;
@Autowired @Autowired
private CsFileLocalUploadHelper fileUploadPathHelper; private KitFileLocalUploadHelper fileUploadPathHelper;
@Bean @Bean
public CorsFilter corsFilter() { public CorsFilter corsFilter() {
@@ -26,7 +26,7 @@ import org.springframework.stereotype.Component;
* @author odboy * @author odboy
*/ */
@Component @Component
public class CsFileLocalUploadHelper { public class KitFileLocalUploadHelper {
/** /**
* 单位MB * 单位MB
*/ */
@@ -29,20 +29,20 @@ import java.util.concurrent.ConcurrentHashMap;
* @date 2025-07-24 * @date 2025-07-24
*/ */
@Slf4j @Slf4j
public class CsWsClientManager { public class KitWsClientManager {
/** /**
* concurrent包的线程安全Map, 用来存放每个客户端对应的MyWebSocket对象。(分布式必出问题) * concurrent包的线程安全Map, 用来存放每个客户端对应的MyWebSocket对象。(分布式必出问题)
*/ */
private static final Map<String, CsWsServer> clientMap = new ConcurrentHashMap<>(); private static final Map<String, KitWsServer> clientMap = new ConcurrentHashMap<>();
public static void addClient(String sid, CsWsServer csWsServer) { public static void addClient(String sid, KitWsServer wsServer) {
// 如果存在就先删除一个, 防止重复推送消息 // 如果存在就先删除一个, 防止重复推送消息
removeClient(sid); removeClient(sid);
clientMap.put(sid, csWsServer); clientMap.put(sid, wsServer);
} }
public static void removeClient(String sid) { public static void removeClient(String sid) {
CsWsServer wsServer = clientMap.get(sid); KitWsServer wsServer = clientMap.get(sid);
if (wsServer != null) { if (wsServer != null) {
try { try {
log.info("关闭session, sid={}", sid); log.info("关闭session, sid={}", sid);
@@ -54,11 +54,11 @@ public class CsWsClientManager {
} }
} }
public static Collection<CsWsServer> getAllClient() { public static Collection<KitWsServer> getAllClient() {
return clientMap.values(); return clientMap.values();
} }
public static CsWsServer getClientBySid(String sid) { public static KitWsServer getClientBySid(String sid) {
return clientMap.get(sid); return clientMap.get(sid);
} }
} }
@@ -16,17 +16,17 @@
package cn.odboy.framework.websocket.context; package cn.odboy.framework.websocket.context;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@Getter @Getter
@Setter @Setter
public class CsWsMessage extends CsObject { public class KitWsMessage extends KitObject {
private String bizCode; private String bizCode;
private String data; private String data;
public CsWsMessage(String bizCode, String data) { public KitWsMessage(String bizCode, String data) {
this.bizCode = bizCode; this.bizCode = bizCode;
this.data = data; this.data = data;
} }
@@ -31,7 +31,7 @@ import java.util.Objects;
@Component @Component
@ServerEndpoint("/websocket/{sid}") @ServerEndpoint("/websocket/{sid}")
@Getter @Getter
public class CsWsServer { public class KitWsServer {
/** /**
* 与某个客户端的连接会话, 需要通过它来给客户端发送数据 * 与某个客户端的连接会话, 需要通过它来给客户端发送数据
*/ */
@@ -49,7 +49,7 @@ public class CsWsServer {
this.session = session; this.session = session;
// {username}#{bizCode}#{contextParams} // {username}#{bizCode}#{contextParams}
this.sid = sid; this.sid = sid;
CsWsClientManager.addClient(sid, this); KitWsClientManager.addClient(sid, this);
} }
/** /**
@@ -59,7 +59,7 @@ public class CsWsServer {
*/ */
@OnMessage @OnMessage
public void onMessage(String message, Session session) { public void onMessage(String message, Session session) {
CsWsMessage wsMessage = JSON.parseObject(message, CsWsMessage.class); KitWsMessage wsMessage = JSON.parseObject(message, KitWsMessage.class);
String bizCode = wsMessage.getBizCode(); String bizCode = wsMessage.getBizCode();
Object data = wsMessage.getData(); Object data = wsMessage.getData();
log.info("收到来 sid={} 的信息: message={}, bizCode={}, data={}", sid, message, bizCode, JSON.toJSONString(data)); log.info("收到来 sid={} 的信息: message={}, bizCode={}, data={}", sid, message, bizCode, JSON.toJSONString(data));
@@ -71,7 +71,7 @@ public class CsWsServer {
@OnClose @OnClose
public void onClose() { public void onClose() {
try { try {
CsWsClientManager.removeClient(this.sid); KitWsClientManager.removeClient(this.sid);
} catch (Exception e) { } catch (Exception e) {
log.error("WebSocket onClose error, sid={}", this.sid, e); log.error("WebSocket onClose error, sid={}", this.sid, e);
} }
@@ -81,7 +81,7 @@ public class CsWsServer {
public void onError(Session session, Throwable error) { public void onError(Session session, Throwable error) {
// log.error("WebSocket sid={} 发生错误", this.sid, error); // log.error("WebSocket sid={} 发生错误", this.sid, error);
try { try {
CsWsClientManager.removeClient(this.sid); KitWsClientManager.removeClient(this.sid);
} catch (Exception e) { } catch (Exception e) {
log.error("WebSocket onClose error, sid={}", this.sid, e); log.error("WebSocket onClose error, sid={}", this.sid, e);
} }
@@ -97,14 +97,14 @@ public class CsWsServer {
/** /**
* 精准推送消息 * 精准推送消息
*/ */
public void sendMessage(CsWsMessage message, @PathParam("sid") String sid) { public void sendMessage(KitWsMessage message, @PathParam("sid") String sid) {
String body = JSON.toJSONString(message); String body = JSON.toJSONString(message);
// log.info("推送消息到{}, 推送内容:{}", sid, message); // log.info("推送消息到{}, 推送内容:{}", sid, message);
try { try {
if (sid == null) { if (sid == null) {
sendToAll(body); sendToAll(body);
} else { } else {
CsWsServer wsClient = CsWsClientManager.getClientBySid(sid); KitWsServer wsClient = KitWsClientManager.getClientBySid(sid);
if (wsClient != null) { if (wsClient != null) {
wsClient.innerSendMessage(body); wsClient.innerSendMessage(body);
} }
@@ -117,12 +117,12 @@ public class CsWsServer {
* 群发消息 * 群发消息
*/ */
public void sendToAll(String message) { public void sendToAll(String message) {
for (CsWsServer item : CsWsClientManager.getAllClient()) { for (KitWsServer item : KitWsClientManager.getAllClient()) {
try { try {
item.innerSendMessage(message); item.innerSendMessage(message);
} catch (IOException e) { } catch (IOException e) {
log.error("发送消息给 sid={} 失败", item.sid, e); log.error("发送消息给 sid={} 失败", item.sid, e);
CsWsClientManager.removeClient(item.sid); KitWsClientManager.removeClient(item.sid);
} }
} }
} }
@@ -135,7 +135,7 @@ public class CsWsServer {
if (o == null || getClass() != o.getClass()) { if (o == null || getClass() != o.getClass()) {
return false; return false;
} }
CsWsServer that = (CsWsServer)o; KitWsServer that = (KitWsServer)o;
return Objects.equals(session, that.session) && Objects.equals(sid, that.sid); return Objects.equals(session, that.session) && Objects.equals(sid, that.sid);
} }
@@ -16,13 +16,13 @@
package cn.odboy.framework.websocket.model; package cn.odboy.framework.websocket.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@Getter @Getter
@Setter @Setter
public class WsSidVo extends CsObject { public class WsSidVo extends KitObject {
private String username; private String username;
private String bizCode; private String bizCode;
private String param; private String param;
@@ -33,7 +33,7 @@ import java.util.*;
* 匿名标记工具 * 匿名标记工具
*/ */
@UtilityClass @UtilityClass
public class CsAnonTagUtil { public class KitAnonTagUtil {
/** /**
* 获取匿名标记的URL * 获取匿名标记的URL
@@ -29,7 +29,7 @@ import java.nio.charset.StandardCharsets;
* @date 2022-11-16 * @date 2022-11-16
*/ */
@UtilityClass @UtilityClass
public final class CsBase64SecretUtil { public final class KitBase64SecretUtil {
public static String build() { public static String build() {
// 128位uuid // 128位uuid
@@ -26,7 +26,7 @@ import java.math.RoundingMode;
* 计算类 * 计算类
*/ */
@UtilityClass @UtilityClass
public final class CsBigDecimalUtil { public final class KitBigDecimalUtil {
/** /**
* 将对象转换为 BigDecimal * 将对象转换为 BigDecimal
@@ -30,7 +30,7 @@ import java.net.UnknownHostException;
*/ */
@Slf4j @Slf4j
@UtilityClass @UtilityClass
public final class CsBrowserUtil { public final class KitBrowserUtil {
private static final String UNKNOWN = "unknown"; private static final String UNKNOWN = "unknown";
/** /**
@@ -27,7 +27,7 @@ import java.util.List;
* 类 相关 * 类 相关
*/ */
@UtilityClass @UtilityClass
public final class CsClassUtil { public final class KitClassUtil {
@SuppressWarnings({"unchecked", "all"}) @SuppressWarnings({"unchecked", "all"})
public static List<Field> getAllFields(Class clazz, List<Field> fields) { public static List<Field> getAllFields(Class clazz, List<Field> fields) {
if (clazz != null) { if (clazz != null) {
@@ -25,7 +25,7 @@ import java.io.Closeable;
* 用于关闭各种连接, 缺啥补啥 * 用于关闭各种连接, 缺啥补啥
*/ */
@UtilityClass @UtilityClass
public final class CsCloseUtil { public final class KitCloseUtil {
public static void close(Closeable closeable) { public static void close(Closeable closeable) {
if (null != closeable) { if (null != closeable) {
@@ -16,7 +16,7 @@
package cn.odboy.util; package cn.odboy.util;
import cn.odboy.base.CsSelectOptionVo; import cn.odboy.base.KitSelectOptionVo;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import lombok.experimental.UtilityClass; import lombok.experimental.UtilityClass;
@@ -35,7 +35,7 @@ import java.util.stream.Collectors;
* @date 2022-11-09 * @date 2022-11-09
*/ */
@UtilityClass @UtilityClass
public final class CsCollUtil extends cn.hutool.core.collection.CollUtil { public final class KitCollUtil extends cn.hutool.core.collection.CollUtil {
private static <T, K> Predicate<T> distinctPredicate(Function<? super T, ? extends K> keyMapper) { private static <T, K> Predicate<T> distinctPredicate(Function<? super T, ? extends K> keyMapper) {
Map<Object, Boolean> map = new HashMap<>(3); Map<Object, Boolean> map = new HashMap<>(3);
return (t) -> null == map.putIfAbsent(keyMapper.apply(t), true); return (t) -> null == map.putIfAbsent(keyMapper.apply(t), true);
@@ -107,7 +107,7 @@ public final class CsCollUtil extends cn.hutool.core.collection.CollUtil {
* @return / * @return /
*/ */
public static Double streamDoubleAdd(List<Double> data) { public static Double streamDoubleAdd(List<Double> data) {
if (CsCollUtil.isNotEmpty(data)) { if (KitCollUtil.isNotEmpty(data)) {
return data.stream().filter(Objects::nonNull).reduce(Double::sum).orElse(0.0); return data.stream().filter(Objects::nonNull).reduce(Double::sum).orElse(0.0);
} }
return 0.0; return 0.0;
@@ -122,7 +122,7 @@ public final class CsCollUtil extends cn.hutool.core.collection.CollUtil {
* @return / * @return /
*/ */
public static BigDecimal streamBigDecimalAdd(List<BigDecimal> data) { public static BigDecimal streamBigDecimalAdd(List<BigDecimal> data) {
if (CsCollUtil.isNotEmpty(data)) { if (KitCollUtil.isNotEmpty(data)) {
return data.stream().filter(Objects::nonNull).reduce(BigDecimal::add).orElse(BigDecimal.ZERO); return data.stream().filter(Objects::nonNull).reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
} }
return BigDecimal.ZERO; return BigDecimal.ZERO;
@@ -189,25 +189,25 @@ public final class CsCollUtil extends cn.hutool.core.collection.CollUtil {
} }
public static void main(String[] args) { public static void main(String[] args) {
List<CsSelectOptionVo> testData = new ArrayList<>(); List<KitSelectOptionVo> testData = new ArrayList<>();
CsSelectOptionVo selectOption1 = CsSelectOptionVo.builder().label("苹果").value("apple").build(); KitSelectOptionVo selectOption1 = KitSelectOptionVo.builder().label("苹果").value("apple").build();
CsSelectOptionVo selectOption2 = CsSelectOptionVo.builder().label("苹果").value("apple").build(); KitSelectOptionVo selectOption2 = KitSelectOptionVo.builder().label("苹果").value("apple").build();
CsSelectOptionVo selectOption3 = CsSelectOptionVo.builder().label("香蕉").value("banana").build(); KitSelectOptionVo selectOption3 = KitSelectOptionVo.builder().label("香蕉").value("banana").build();
CsSelectOptionVo selectOption4 = CsSelectOptionVo.builder().label("猫").value("cat").build(); KitSelectOptionVo selectOption4 = KitSelectOptionVo.builder().label("猫").value("cat").build();
testData.add(selectOption1); testData.add(selectOption1);
testData.add(selectOption2); testData.add(selectOption2);
testData.add(selectOption3); testData.add(selectOption3);
testData.add(selectOption4); testData.add(selectOption4);
List<CsSelectOptionVo> selectOptions1 = CsCollUtil.streamAscSort(testData, CsSelectOptionVo::getValue); List<KitSelectOptionVo> selectOptions1 = KitCollUtil.streamAscSort(testData, KitSelectOptionVo::getValue);
System.out.println(JSON.toJSONString(selectOptions1)); System.out.println(JSON.toJSONString(selectOptions1));
List<CsSelectOptionVo> selectOptions2 = CsCollUtil.streamDescSort(testData, CsSelectOptionVo::getValue); List<KitSelectOptionVo> selectOptions2 = KitCollUtil.streamDescSort(testData, KitSelectOptionVo::getValue);
System.out.println(JSON.toJSONString(selectOptions2)); System.out.println(JSON.toJSONString(selectOptions2));
List<CsSelectOptionVo> selectOptions3 = CsCollUtil.streamDistinct(testData, CsSelectOptionVo::getValue); List<KitSelectOptionVo> selectOptions3 = KitCollUtil.streamDistinct(testData, KitSelectOptionVo::getValue);
System.out.println(JSON.toJSONString(selectOptions3)); System.out.println(JSON.toJSONString(selectOptions3));
Map<String, String> selectMap1 = CsCollUtil.streamToMap(testData, CsSelectOptionVo::getValue, CsSelectOptionVo::getLabel); Map<String, String> selectMap1 = KitCollUtil.streamToMap(testData, KitSelectOptionVo::getValue, KitSelectOptionVo::getLabel);
System.out.println(JSON.toJSONString(selectMap1)); System.out.println(JSON.toJSONString(selectMap1));
// 这只是一个示范 // 这只是一个示范
BigDecimal total1 = CsCollUtil.streamBigDecimalAdd(testData, "value"); BigDecimal total1 = KitCollUtil.streamBigDecimalAdd(testData, "value");
System.out.println(total1); System.out.println(total1);
} }
} }
@@ -29,7 +29,7 @@ import java.util.Date;
* @date 2025-10-01 * @date 2025-10-01
*/ */
@UtilityClass @UtilityClass
public class CsDateUtil { public class KitDateUtil {
/** /**
* 获取当前时间毫秒数 * 获取当前时间毫秒数
* *
@@ -29,7 +29,7 @@ import java.nio.charset.StandardCharsets;
* DES加密 * DES加密
*/ */
@UtilityClass @UtilityClass
public final class CsDesEncryptUtil { public final class KitDesEncryptUtil {
private static final String STR_PARAM = "Passw0rd"; private static final String STR_PARAM = "Passw0rd";
private static final IvParameterSpec IV = new IvParameterSpec(STR_PARAM.getBytes(StandardCharsets.UTF_8)); private static final IvParameterSpec IV = new IvParameterSpec(STR_PARAM.getBytes(StandardCharsets.UTF_8));
@@ -26,7 +26,7 @@ import java.util.concurrent.atomic.AtomicLong;
* @author odboy * @author odboy
* @date 2025-04-05 * @date 2025-04-05
*/ */
public final class CsDistributedIdUtil { public final class KitDistributedIdUtil {
/** /**
* 起始毫秒时间戳, 2020-12-30 * 起始毫秒时间戳, 2020-12-30
*/ */
@@ -96,7 +96,7 @@ public final class CsDistributedIdUtil {
* @param workerIdBits 机器 ID 所占位数 * @param workerIdBits 机器 ID 所占位数
* @param sequenceBits 序列号所占位数 * @param sequenceBits 序列号所占位数
*/ */
public CsDistributedIdUtil(long dataCenterId, long workerId, long dataCenterIdBits, long workerIdBits, long sequenceBits) { public KitDistributedIdUtil(long dataCenterId, long workerId, long dataCenterIdBits, long workerIdBits, long sequenceBits) {
this.dataCenterIdBits = dataCenterIdBits; this.dataCenterIdBits = dataCenterIdBits;
this.workerIdBits = workerIdBits; this.workerIdBits = workerIdBits;
this.sequenceBits = sequenceBits; this.sequenceBits = sequenceBits;
@@ -138,7 +138,7 @@ public final class CsDistributedIdUtil {
new Thread(() -> { new Thread(() -> {
long id = Thread.currentThread().getId(); long id = Thread.currentThread().getId();
for (int j = 0; j < 20; j++) { for (int j = 0; j < 20; j++) {
System.out.println(id + " - " + CsDistributedIdUtil.fastNextId()); System.out.println(id + " - " + KitDistributedIdUtil.fastNextId());
} }
}).start(); }).start();
} }
@@ -192,6 +192,6 @@ public final class CsDistributedIdUtil {
* 单例实例持有者类 * 单例实例持有者类
*/ */
private static class InstanceHolder { private static class InstanceHolder {
private static final CsDistributedIdUtil INSTANCE = new CsDistributedIdUtil(20, 12, 5, 5, 12); private static final KitDistributedIdUtil INSTANCE = new KitDistributedIdUtil(20, 12, 5, 5, 12);
} }
} }
@@ -49,7 +49,7 @@ import static cn.odboy.constant.SystemConst.*;
*/ */
@Slf4j @Slf4j
@UtilityClass @UtilityClass
public final class CsFileUtil extends cn.hutool.core.io.FileUtil { public final class KitFileUtil extends cn.hutool.core.io.FileUtil {
/** /**
* 系统临时目录 * 系统临时目录
@@ -140,8 +140,8 @@ public final class CsFileUtil extends cn.hutool.core.io.FileUtil {
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
} finally { } finally {
CsCloseUtil.close(os); KitCloseUtil.close(os);
CsCloseUtil.close(ins); KitCloseUtil.close(ins);
} }
return file; return file;
} }
@@ -285,7 +285,7 @@ public final class CsFileUtil extends cn.hutool.core.io.FileUtil {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
return null; return null;
} finally { } finally {
CsCloseUtil.close(in); KitCloseUtil.close(in);
} }
return b; return b;
} }
@@ -16,7 +16,7 @@
package cn.odboy.util; package cn.odboy.util;
import cn.odboy.framework.context.CsSpringBeanHolder; import cn.odboy.framework.context.KitSpringBeanHolder;
import lombok.experimental.UtilityClass; import lombok.experimental.UtilityClass;
import net.dreamlu.mica.ip2region.core.Ip2regionSearcher; import net.dreamlu.mica.ip2region.core.Ip2regionSearcher;
import net.dreamlu.mica.ip2region.core.IpInfo; import net.dreamlu.mica.ip2region.core.IpInfo;
@@ -29,11 +29,11 @@ import java.util.Enumeration;
* IP地址 相关 * IP地址 相关
*/ */
@UtilityClass @UtilityClass
public final class CsIPUtil { public final class KitIPUtil {
/** /**
* 注入bean * 注入bean
*/ */
private final static Ip2regionSearcher IP_SEARCHER = CsSpringBeanHolder.getBean(Ip2regionSearcher.class); private final static Ip2regionSearcher IP_SEARCHER = KitSpringBeanHolder.getBean(Ip2regionSearcher.class);
/** /**
* 根据ip获取详细地址 * 根据ip获取详细地址
@@ -30,7 +30,7 @@ import java.util.Map;
* @date 2024-10-01 * @date 2024-10-01
*/ */
@UtilityClass @UtilityClass
public final class CsJsonUtil { public final class KitJsonUtil {
public static <K, V> Map<K, V> toMap(String jsonStr, Class<K> kClass, Class<V> vClass) { public static <K, V> Map<K, V> toMap(String jsonStr, Class<K> kClass, Class<V> vClass) {
return JSON.parseObject(jsonStr, new TypeReference<>() { return JSON.parseObject(jsonStr, new TypeReference<>() {
}); });
@@ -43,8 +43,8 @@ public final class CsJsonUtil {
public static void main(String[] args) { public static void main(String[] args) {
String mapStr = "{\"key1\":\"value1\", \"key2\":\"value2\"}"; String mapStr = "{\"key1\":\"value1\", \"key2\":\"value2\"}";
System.err.println(CsJsonUtil.toMap(mapStr, String.class, String.class)); System.err.println(KitJsonUtil.toMap(mapStr, String.class, String.class));
String listStr = "[\"value1\", \"value2\"]"; String listStr = "[\"value1\", \"value2\"]";
System.err.println(CsJsonUtil.toList(listStr, String.class)); System.err.println(KitJsonUtil.toList(listStr, String.class));
} }
} }
@@ -17,7 +17,7 @@
package cn.odboy.util; package cn.odboy.util;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.odboy.base.CsBaseUserTimeTb; import cn.odboy.base.KitBaseUserTimeTb;
import lombok.experimental.UtilityClass; import lombok.experimental.UtilityClass;
import java.util.ArrayList; import java.util.ArrayList;
@@ -32,7 +32,7 @@ import java.util.stream.Collectors;
* @date 2024-10-01 * @date 2024-10-01
*/ */
@UtilityClass @UtilityClass
public final class CsListUtil { public final class KitListUtil {
/** /**
* 根据对象T的属性去重 * 根据对象T的属性去重
* *
@@ -48,10 +48,10 @@ public final class CsListUtil {
* User> userMap = users.stream().collect(Collectors.toMap(User::getName, user -> user, (existing, replacement) -> existing)); * User> userMap = users.stream().collect(Collectors.toMap(User::getName, user -> user, (existing, replacement) -> existing));
*/ */
public static void main(String[] args) { public static void main(String[] args) {
List<CsBaseUserTimeTb> entities = new ArrayList<>(); List<KitBaseUserTimeTb> entities = new ArrayList<>();
int total = 50; int total = 50;
for (int i = 0; i < total; i++) { for (int i = 0; i < total; i++) {
CsBaseUserTimeTb entity = new CsBaseUserTimeTb(); KitBaseUserTimeTb entity = new KitBaseUserTimeTb();
if (i % 2 == 0) { if (i % 2 == 0) {
entity.setCreateBy("odboy"); entity.setCreateBy("odboy");
} else { } else {
@@ -62,7 +62,7 @@ public final class CsListUtil {
entity.setUpdateTime(DateTime.now().toTimestamp()); entity.setUpdateTime(DateTime.now().toTimestamp());
entities.add(entity); entities.add(entity);
} }
List<CsBaseUserTimeTb> entities1 = CsListUtil.distinctByArgs(entities, CsBaseUserTimeTb::getCreateBy); List<KitBaseUserTimeTb> entities1 = KitListUtil.distinctByArgs(entities, KitBaseUserTimeTb::getCreateBy);
System.err.println(entities1); System.err.println(entities1);
} }
} }
@@ -25,7 +25,7 @@ import lombok.experimental.UtilityClass;
* @date 2025-01-13 * @date 2025-01-13
*/ */
@UtilityClass @UtilityClass
public final class CsLogFmtUtil { public final class KitLogFmtUtil {
/** /**
* 替换字符串中的占位符 {} 为传入的参数 * 替换字符串中的占位符 {} 为传入的参数
* *
@@ -16,7 +16,7 @@
package cn.odboy.util; package cn.odboy.util;
import cn.odboy.base.CsPageResult; import cn.odboy.base.KitPageResult;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -32,7 +32,7 @@ import java.util.List;
* @author odboy * @author odboy
*/ */
@UtilityClass @UtilityClass
public final class CsPageUtil extends cn.hutool.core.util.PageUtil { public final class KitPageUtil extends cn.hutool.core.util.PageUtil {
/** /**
* List 分页 * List 分页
@@ -53,36 +53,36 @@ public final class CsPageUtil extends cn.hutool.core.util.PageUtil {
/** /**
* Page 数据处理 * Page 数据处理
*/ */
public static <T> CsPageResult<T> toPage(IPage<T> page) { public static <T> KitPageResult<T> toPage(IPage<T> page) {
return new CsPageResult<>(page.getRecords(), page.getTotal()); return new KitPageResult<>(page.getRecords(), page.getTotal());
} }
/** /**
* 自定义分页 * 自定义分页
*/ */
public static <T> CsPageResult<T> toPage(List<T> list) { public static <T> KitPageResult<T> toPage(List<T> list) {
return new CsPageResult<>(list, list.size()); return new KitPageResult<>(list, list.size());
} }
/** /**
* 返回空数据 * 返回空数据
*/ */
public static <T> CsPageResult<T> emptyListData() { public static <T> KitPageResult<T> emptyListData() {
return new CsPageResult<>(new ArrayList<>(), 0); return new KitPageResult<>(new ArrayList<>(), 0);
} }
/** /**
* 返回空数据 * 返回空数据
*/ */
public static <T> CsPageResult<T> emptyData() { public static <T> KitPageResult<T> emptyData() {
return new CsPageResult<>(null, 0); return new KitPageResult<>(null, 0);
} }
/** /**
* 自定义分页 * 自定义分页
*/ */
public static <T> CsPageResult<T> toPage(List<T> list, long totalElements) { public static <T> KitPageResult<T> toPage(List<T> list, long totalElements) {
return new CsPageResult<>(list, totalElements); return new KitPageResult<>(list, totalElements);
} }
public static <T> Page<T> getCount(BaseMapper<T> baseMapper) { public static <T> Page<T> getCount(BaseMapper<T> baseMapper) {
@@ -31,7 +31,7 @@ import lombok.experimental.UtilityClass;
* @date 2025-06-22 * @date 2025-06-22
*/ */
@UtilityClass @UtilityClass
public class CsResourceTemplateUtil { public class KitResourceTemplateUtil {
public static String render(String moduleName, String filename, Dict params) { public static String render(String moduleName, String filename, Dict params) {
String path = StrUtil.isBlank(moduleName) ? "template" : "template/" + moduleName; String path = StrUtil.isBlank(moduleName) ? "template" : "template/" + moduleName;
TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig(path, TemplateConfig.ResourceMode.CLASSPATH)); TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig(path, TemplateConfig.ResourceMode.CLASSPATH));
@@ -32,7 +32,7 @@ import java.util.Set;
* @author odboy * @author odboy
* @date 2025-05-08 * @date 2025-05-08
*/ */
public class CsReturnValueHandleUtil { public class KitReturnValueHandleUtil {
public static Object getDefaultValue(ProceedingJoinPoint joinPoint) { public static Object getDefaultValue(ProceedingJoinPoint joinPoint) {
MethodSignature signature = (MethodSignature)joinPoint.getSignature(); MethodSignature signature = (MethodSignature)joinPoint.getSignature();
Method method = signature.getMethod(); Method method = signature.getMethod();
@@ -31,7 +31,7 @@ import java.security.spec.X509EncodedKeySpec;
* Rsa 工具类, 公钥私钥生成, 加解密 * Rsa 工具类, 公钥私钥生成, 加解密
*/ */
@UtilityClass @UtilityClass
public final class CsRsaEncryptUtil { public final class KitRsaEncryptUtil {
private static final String SRC = "123456"; private static final String SRC = "123456";
@@ -52,12 +52,12 @@ public final class CsRsaEncryptUtil {
*/ */
private static void test1(RsaKeyPair keyPair) throws Exception { private static void test1(RsaKeyPair keyPair) throws Exception {
System.out.println("***************** 公钥加密私钥解密开始 *****************"); System.out.println("***************** 公钥加密私钥解密开始 *****************");
String text1 = encryptByPublicKey(keyPair.getPublicKey(), CsRsaEncryptUtil.SRC); String text1 = encryptByPublicKey(keyPair.getPublicKey(), KitRsaEncryptUtil.SRC);
String text2 = decryptByPrivateKey(keyPair.getPrivateKey(), text1); String text2 = decryptByPrivateKey(keyPair.getPrivateKey(), text1);
System.out.println("加密前:" + CsRsaEncryptUtil.SRC); System.out.println("加密前:" + KitRsaEncryptUtil.SRC);
System.out.println("加密后:" + text1); System.out.println("加密后:" + text1);
System.out.println("解密后:" + text2); System.out.println("解密后:" + text2);
if (CsRsaEncryptUtil.SRC.equals(text2)) { if (KitRsaEncryptUtil.SRC.equals(text2)) {
System.out.println("解密字符串和原始字符串一致, 解密成功"); System.out.println("解密字符串和原始字符串一致, 解密成功");
} else { } else {
System.out.println("解密字符串和原始字符串不一致,解密失败"); System.out.println("解密字符串和原始字符串不一致,解密失败");
@@ -72,12 +72,12 @@ public final class CsRsaEncryptUtil {
*/ */
private static void test2(RsaKeyPair keyPair) throws Exception { private static void test2(RsaKeyPair keyPair) throws Exception {
System.out.println("***************** 私钥加密公钥解密开始 *****************"); System.out.println("***************** 私钥加密公钥解密开始 *****************");
String text1 = encryptByPrivateKey(keyPair.getPrivateKey(), CsRsaEncryptUtil.SRC); String text1 = encryptByPrivateKey(keyPair.getPrivateKey(), KitRsaEncryptUtil.SRC);
String text2 = decryptByPublicKey(keyPair.getPublicKey(), text1); String text2 = decryptByPublicKey(keyPair.getPublicKey(), text1);
System.out.println("加密前:" + CsRsaEncryptUtil.SRC); System.out.println("加密前:" + KitRsaEncryptUtil.SRC);
System.out.println("加密后:" + text1); System.out.println("加密后:" + text1);
System.out.println("解密后:" + text2); System.out.println("解密后:" + text2);
if (CsRsaEncryptUtil.SRC.equals(text2)) { if (KitRsaEncryptUtil.SRC.equals(text2)) {
System.out.println("解密字符串和原始字符串一致,解密成功"); System.out.println("解密字符串和原始字符串一致,解密成功");
} else { } else {
System.out.println("解密字符串和原始字符串不一致,解密失败"); System.out.println("解密字符串和原始字符串不一致,解密失败");
@@ -28,7 +28,7 @@ import java.util.Date;
*/ */
@Slf4j @Slf4j
@UtilityClass @UtilityClass
public final class CsStringUtil { public final class KitStringUtil {
private static final char SEPARATOR = '_'; private static final char SEPARATOR = '_';
@@ -26,7 +26,7 @@ import oshi.hardware.CentralProcessor;
* @author odboy * @author odboy
* @date 2025-08-11 * @date 2025-08-11
*/ */
public class CsSystemUtil { public class KitSystemUtil {
public static int getCpuCount() { public static int getCpuCount() {
SystemInfo systemInfo = new SystemInfo(); SystemInfo systemInfo = new SystemInfo();
CentralProcessor processor = systemInfo.getHardware().getProcessor(); CentralProcessor processor = systemInfo.getHardware().getProcessor();
@@ -34,7 +34,7 @@ import java.util.stream.Collectors;
* @date 2025-01-15 * @date 2025-01-15
*/ */
@UtilityClass @UtilityClass
public final class CsValidUtil { public final class KitValidUtil {
private static final Validator VALIDATOR; private static final Validator VALIDATOR;
static { static {
@@ -24,16 +24,16 @@ import cn.odboy.constant.CaptchaCodeEnum;
import cn.odboy.constant.SystemConst; import cn.odboy.constant.SystemConst;
import cn.odboy.framework.exception.BadRequestException; import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.framework.properties.AppProperties; import cn.odboy.framework.properties.AppProperties;
import cn.odboy.framework.redis.CsRedisHelper; import cn.odboy.framework.redis.KitRedisHelper;
import cn.odboy.system.dal.model.SystemUserInfoVo; import cn.odboy.system.dal.model.SystemUserInfoVo;
import cn.odboy.system.dal.model.SystemUserJwtVo; import cn.odboy.system.dal.model.SystemUserJwtVo;
import cn.odboy.system.dal.model.SystemUserLoginArgs; import cn.odboy.system.dal.model.SystemUserLoginArgs;
import cn.odboy.system.dal.redis.SystemCacheKey; import cn.odboy.system.dal.redis.SystemCacheKey;
import cn.odboy.system.dal.redis.SystemUserOnlineInfoDAO; import cn.odboy.system.dal.redis.SystemUserOnlineInfoDAO;
import cn.odboy.system.framework.permission.core.CsSecurityHelper; import cn.odboy.system.framework.permission.core.KitSecurityHelper;
import cn.odboy.system.framework.permission.core.handler.TokenProvider; import cn.odboy.system.framework.permission.core.handler.TokenProvider;
import cn.odboy.system.framework.permission.core.handler.UserDetailsHandler; import cn.odboy.system.framework.permission.core.handler.UserDetailsHandler;
import cn.odboy.util.CsRsaEncryptUtil; import cn.odboy.util.KitRsaEncryptUtil;
import com.wf.captcha.base.Captcha; import com.wf.captcha.base.Captcha;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
@@ -64,7 +64,7 @@ import java.util.concurrent.TimeUnit;
@Tag(name = "系统:系统授权接口") @Tag(name = "系统:系统授权接口")
public class SystemAuthController { public class SystemAuthController {
@Autowired @Autowired
private CsRedisHelper redisHelper; private KitRedisHelper redisHelper;
@Autowired @Autowired
private SystemUserOnlineInfoDAO systemUserOnlineInfoDAO; private SystemUserOnlineInfoDAO systemUserOnlineInfoDAO;
@Autowired @Autowired
@@ -80,7 +80,7 @@ public class SystemAuthController {
@AnonymousPostMapping(value = "/login") @AnonymousPostMapping(value = "/login")
public ResponseEntity<Map<String, Object>> login(@Validated @RequestBody SystemUserLoginArgs loginRequest, HttpServletRequest request) throws Exception { public ResponseEntity<Map<String, Object>> login(@Validated @RequestBody SystemUserLoginArgs loginRequest, HttpServletRequest request) throws Exception {
// 密码解密 // 密码解密
String password = CsRsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), loginRequest.getPassword()); String password = KitRsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), loginRequest.getPassword());
// 查询验证码 // 查询验证码
String code = redisHelper.get(loginRequest.getUuid(), String.class); String code = redisHelper.get(loginRequest.getUuid(), String.class);
// 清除验证码 // 清除验证码
@@ -119,7 +119,7 @@ public class SystemAuthController {
@Operation(summary = "获取用户信息") @Operation(summary = "获取用户信息")
@PostMapping(value = "/info") @PostMapping(value = "/info")
public ResponseEntity<SystemUserInfoVo> getUserInfo() { public ResponseEntity<SystemUserInfoVo> getUserInfo() {
SystemUserJwtVo jwtUser = (SystemUserJwtVo)CsSecurityHelper.getCurrentUser(); SystemUserJwtVo jwtUser = (SystemUserJwtVo) KitSecurityHelper.getCurrentUser();
SystemUserInfoVo userInfoVo = BeanUtil.copyProperties(jwtUser, SystemUserInfoVo.class); SystemUserInfoVo userInfoVo = BeanUtil.copyProperties(jwtUser, SystemUserInfoVo.class);
return ResponseEntity.ok(userInfoVo); return ResponseEntity.ok(userInfoVo);
} }
@@ -16,13 +16,13 @@
package cn.odboy.system.controller; package cn.odboy.system.controller;
import cn.odboy.base.CsPageArgs; import cn.odboy.base.KitPageArgs;
import cn.odboy.base.CsPageResult; import cn.odboy.base.KitPageResult;
import cn.odboy.system.dal.dataobject.SystemDeptTb; import cn.odboy.system.dal.dataobject.SystemDeptTb;
import cn.odboy.system.dal.model.SystemCreateDeptArgs; import cn.odboy.system.dal.model.SystemCreateDeptArgs;
import cn.odboy.system.dal.model.SystemQueryDeptArgs; import cn.odboy.system.dal.model.SystemQueryDeptArgs;
import cn.odboy.system.service.SystemDeptService; import cn.odboy.system.service.SystemDeptService;
import cn.odboy.util.CsPageUtil; import cn.odboy.util.KitPageUtil;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
@@ -54,17 +54,17 @@ public class SystemDeptController {
@Operation(summary = "查询部门") @Operation(summary = "查询部门")
@PostMapping @PostMapping
@PreAuthorize("@el.check('user:list','dept:list')") @PreAuthorize("@el.check('user:list','dept:list')")
public ResponseEntity<CsPageResult<SystemDeptTb>> queryDept(@Validated @RequestBody CsPageArgs<SystemQueryDeptArgs> args) throws Exception { public ResponseEntity<KitPageResult<SystemDeptTb>> queryDept(@Validated @RequestBody KitPageArgs<SystemQueryDeptArgs> args) throws Exception {
SystemQueryDeptArgs criteria = args.getArgs(); SystemQueryDeptArgs criteria = args.getArgs();
List<SystemDeptTb> depts = systemDeptService.queryAllDept(criteria, true); List<SystemDeptTb> depts = systemDeptService.queryAllDept(criteria, true);
return ResponseEntity.ok(CsPageUtil.toPage(depts)); return ResponseEntity.ok(KitPageUtil.toPage(depts));
} }
@Operation(summary = "查询部门:根据ID获取同级与上级数据") @Operation(summary = "查询部门:根据ID获取同级与上级数据")
@PostMapping("/queryDeptSuperiorTree") @PostMapping("/queryDeptSuperiorTree")
@PreAuthorize("@el.check('user:list','dept:list')") @PreAuthorize("@el.check('user:list','dept:list')")
public ResponseEntity<CsPageResult<SystemDeptTb>> queryDeptSuperiorTree(@RequestBody List<Long> ids, public ResponseEntity<KitPageResult<SystemDeptTb>> queryDeptSuperiorTree(@RequestBody List<Long> ids,
@RequestParam(defaultValue = "false") Boolean exclude) { @RequestParam(defaultValue = "false") Boolean exclude) {
Set<SystemDeptTb> deptSet = new LinkedHashSet<>(); Set<SystemDeptTb> deptSet = new LinkedHashSet<>();
for (Long id : ids) { for (Long id : ids) {
// 同级数据 // 同级数据
@@ -16,8 +16,8 @@
package cn.odboy.system.controller; package cn.odboy.system.controller;
import cn.odboy.base.CsPageArgs; import cn.odboy.base.KitPageArgs;
import cn.odboy.base.CsPageResult; import cn.odboy.base.KitPageResult;
import cn.odboy.system.dal.dataobject.SystemDictTb; import cn.odboy.system.dal.dataobject.SystemDictTb;
import cn.odboy.system.dal.model.SystemCreateDictArgs; import cn.odboy.system.dal.model.SystemCreateDictArgs;
import cn.odboy.system.dal.model.SystemQueryDictArgs; import cn.odboy.system.dal.model.SystemQueryDictArgs;
@@ -60,7 +60,7 @@ public class SystemDictController {
@Operation(summary = "查询字典") @Operation(summary = "查询字典")
@PostMapping @PostMapping
@PreAuthorize("@el.check('dict:list')") @PreAuthorize("@el.check('dict:list')")
public ResponseEntity<CsPageResult<SystemDictTb>> queryDictByArgs(@Validated @RequestBody CsPageArgs<SystemQueryDictArgs> args) { public ResponseEntity<KitPageResult<SystemDictTb>> queryDictByArgs(@Validated @RequestBody KitPageArgs<SystemQueryDictArgs> args) {
Page<SystemDictTb> page; Page<SystemDictTb> page;
SystemQueryDictArgs criteria = args.getArgs(); SystemQueryDictArgs criteria = args.getArgs();
if (args.getSize() != null) { if (args.getSize() != null) {
@@ -16,8 +16,8 @@
package cn.odboy.system.controller; package cn.odboy.system.controller;
import cn.odboy.base.CsPageArgs; import cn.odboy.base.KitPageArgs;
import cn.odboy.base.CsPageResult; import cn.odboy.base.KitPageResult;
import cn.odboy.system.dal.dataobject.SystemDictDetailTb; import cn.odboy.system.dal.dataobject.SystemDictDetailTb;
import cn.odboy.system.dal.model.SystemCreateDictDetailArgs; import cn.odboy.system.dal.model.SystemCreateDictDetailArgs;
import cn.odboy.system.dal.model.SystemQueryDictDetailArgs; import cn.odboy.system.dal.model.SystemQueryDictDetailArgs;
@@ -44,13 +44,13 @@ public class SystemDictDetailController {
@Operation(summary = "查询字典详情") @Operation(summary = "查询字典详情")
@PostMapping @PostMapping
public ResponseEntity<CsPageResult<SystemDictDetailTb>> queryDictDetailByCrud(@Validated @RequestBody CsPageArgs<SystemQueryDictDetailArgs> args) { public ResponseEntity<KitPageResult<SystemDictDetailTb>> queryDictDetailByCrud(@Validated @RequestBody KitPageArgs<SystemQueryDictDetailArgs> args) {
return queryDictDetailByArgs(args); return queryDictDetailByArgs(args);
} }
@Operation(summary = "查询字典详情") @Operation(summary = "查询字典详情")
@PostMapping(value = "/queryDictDetailByArgs") @PostMapping(value = "/queryDictDetailByArgs")
public ResponseEntity<CsPageResult<SystemDictDetailTb>> queryDictDetailByArgs(@Validated @RequestBody CsPageArgs<SystemQueryDictDetailArgs> args) { public ResponseEntity<KitPageResult<SystemDictDetailTb>> queryDictDetailByArgs(@Validated @RequestBody KitPageArgs<SystemQueryDictDetailArgs> args) {
SystemQueryDictDetailArgs criteria = args.getArgs(); SystemQueryDictDetailArgs criteria = args.getArgs();
Page<Object> page = new Page<>(args.getPage(), args.getSize()); Page<Object> page = new Page<>(args.getPage(), args.getSize());
return ResponseEntity.ok(systemDictDetailService.queryDictDetailByArgs(criteria, page)); return ResponseEntity.ok(systemDictDetailService.queryDictDetailByArgs(criteria, page));
@@ -16,8 +16,8 @@
package cn.odboy.system.controller; package cn.odboy.system.controller;
import cn.odboy.base.CsPageArgs; import cn.odboy.base.KitPageArgs;
import cn.odboy.base.CsPageResult; import cn.odboy.base.KitPageResult;
import cn.odboy.system.dal.dataobject.SystemJobTb; import cn.odboy.system.dal.dataobject.SystemJobTb;
import cn.odboy.system.dal.model.SystemCreateJobArgs; import cn.odboy.system.dal.model.SystemCreateJobArgs;
import cn.odboy.system.dal.model.SystemQueryJobArgs; import cn.odboy.system.dal.model.SystemQueryJobArgs;
@@ -52,7 +52,7 @@ public class SystemJobController {
@Operation(summary = "查询岗位") @Operation(summary = "查询岗位")
@PostMapping(value = "/queryAllEnableJob") @PostMapping(value = "/queryAllEnableJob")
@PreAuthorize("@el.check('job:list','user:list')") @PreAuthorize("@el.check('job:list','user:list')")
public ResponseEntity<CsPageResult<SystemJobTb>> queryJobByArgs(@Validated @RequestBody CsPageArgs<SystemQueryJobArgs> args) { public ResponseEntity<KitPageResult<SystemJobTb>> queryJobByArgs(@Validated @RequestBody KitPageArgs<SystemQueryJobArgs> args) {
SystemQueryJobArgs criteria = args.getArgs(); SystemQueryJobArgs criteria = args.getArgs();
Page<SystemJobTb> page = new Page<>(criteria.getPage(), criteria.getSize()); Page<SystemJobTb> page = new Page<>(criteria.getPage(), criteria.getSize());
return ResponseEntity.ok(systemJobService.queryJobByArgs(criteria, page)); return ResponseEntity.ok(systemJobService.queryJobByArgs(criteria, page));
@@ -61,7 +61,7 @@ public class SystemJobController {
@Operation(summary = "查询岗位") @Operation(summary = "查询岗位")
@PostMapping @PostMapping
@PreAuthorize("@el.check('job:list','user:list')") @PreAuthorize("@el.check('job:list','user:list')")
public ResponseEntity<CsPageResult<SystemJobTb>> queryJobByCrud(@Validated @RequestBody CsPageArgs<SystemQueryJobArgs> args) { public ResponseEntity<KitPageResult<SystemJobTb>> queryJobByCrud(@Validated @RequestBody KitPageArgs<SystemQueryJobArgs> args) {
return queryJobByArgs(args); return queryJobByArgs(args);
} }
@@ -16,14 +16,14 @@
package cn.odboy.system.controller; package cn.odboy.system.controller;
import cn.odboy.base.CsPageArgs; import cn.odboy.base.KitPageArgs;
import cn.odboy.base.CsPageResult; import cn.odboy.base.KitPageResult;
import cn.odboy.constant.FileTypeEnum; import cn.odboy.constant.FileTypeEnum;
import cn.odboy.framework.exception.BadRequestException; import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.system.dal.dataobject.SystemLocalStorageTb; import cn.odboy.system.dal.dataobject.SystemLocalStorageTb;
import cn.odboy.system.dal.model.SystemQueryStorageArgs; import cn.odboy.system.dal.model.SystemQueryStorageArgs;
import cn.odboy.system.service.SystemLocalStorageService; import cn.odboy.system.service.SystemLocalStorageService;
import cn.odboy.util.CsFileUtil; import cn.odboy.util.KitFileUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
@@ -47,7 +47,7 @@ public class SystemLocalStorageController {
@Operation(summary = "查询文件") @Operation(summary = "查询文件")
@PostMapping @PostMapping
@PreAuthorize("@el.check('storage:list')") @PreAuthorize("@el.check('storage:list')")
public ResponseEntity<CsPageResult<SystemLocalStorageTb>> queryLocalStorage(@Validated @RequestBody CsPageArgs<SystemQueryStorageArgs> args) { public ResponseEntity<KitPageResult<SystemLocalStorageTb>> queryLocalStorage(@Validated @RequestBody KitPageArgs<SystemQueryStorageArgs> args) {
SystemQueryStorageArgs criteria = args.getArgs(); SystemQueryStorageArgs criteria = args.getArgs();
Page<SystemLocalStorageTb> page = new Page<>(criteria.getPage(), criteria.getSize()); Page<SystemLocalStorageTb> page = new Page<>(criteria.getPage(), criteria.getSize());
return ResponseEntity.ok(localStorageService.queryLocalStorage(criteria, page)); return ResponseEntity.ok(localStorageService.queryLocalStorage(criteria, page));
@@ -72,8 +72,8 @@ public class SystemLocalStorageController {
@PostMapping("/uploadPicture") @PostMapping("/uploadPicture")
public ResponseEntity<SystemLocalStorageTb> uploadPicture(@RequestParam MultipartFile file) { public ResponseEntity<SystemLocalStorageTb> uploadPicture(@RequestParam MultipartFile file) {
// 判断文件是否为图片 // 判断文件是否为图片
String suffix = CsFileUtil.getSuffix(file.getOriginalFilename()); String suffix = KitFileUtil.getSuffix(file.getOriginalFilename());
if (!FileTypeEnum.IMAGE.getCode().equals(CsFileUtil.getFileType(suffix))) { if (!FileTypeEnum.IMAGE.getCode().equals(KitFileUtil.getFileType(suffix))) {
throw new BadRequestException("只能上传图片"); throw new BadRequestException("只能上传图片");
} }
SystemLocalStorageTb localStorage = localStorageService.uploadFile(null, file); SystemLocalStorageTb localStorage = localStorageService.uploadFile(null, file);
@@ -17,16 +17,16 @@
package cn.odboy.system.controller; package cn.odboy.system.controller;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.odboy.base.CsPageArgs; import cn.odboy.base.KitPageArgs;
import cn.odboy.base.CsPageResult; import cn.odboy.base.KitPageResult;
import cn.odboy.framework.exception.BadRequestException; import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.system.dal.dataobject.SystemMenuTb; import cn.odboy.system.dal.dataobject.SystemMenuTb;
import cn.odboy.system.dal.model.SystemMenuVo; import cn.odboy.system.dal.model.SystemMenuVo;
import cn.odboy.system.dal.model.SystemQueryMenuArgs; import cn.odboy.system.dal.model.SystemQueryMenuArgs;
import cn.odboy.system.dal.mysql.SystemMenuMapper; import cn.odboy.system.dal.mysql.SystemMenuMapper;
import cn.odboy.system.framework.permission.core.CsSecurityHelper; import cn.odboy.system.framework.permission.core.KitSecurityHelper;
import cn.odboy.system.service.SystemMenuService; import cn.odboy.system.service.SystemMenuService;
import cn.odboy.util.CsPageUtil; import cn.odboy.util.KitPageUtil;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
@@ -58,7 +58,7 @@ public class SystemMenuController {
@PostMapping(value = "/buildMenus") @PostMapping(value = "/buildMenus")
@Operation(summary = "获取前端所需菜单") @Operation(summary = "获取前端所需菜单")
public ResponseEntity<List<SystemMenuVo>> buildMenus() { public ResponseEntity<List<SystemMenuVo>> buildMenus() {
List<SystemMenuTb> menuList = systemMenuService.queryMenuListByUserId(CsSecurityHelper.getCurrentUserId()); List<SystemMenuTb> menuList = systemMenuService.queryMenuListByUserId(KitSecurityHelper.getCurrentUserId());
List<SystemMenuTb> menus = systemMenuService.buildMenuTree(menuList); List<SystemMenuTb> menus = systemMenuService.buildMenuTree(menuList);
return ResponseEntity.ok(systemMenuService.buildMenuVo(menus)); return ResponseEntity.ok(systemMenuService.buildMenuVo(menus));
} }
@@ -85,17 +85,17 @@ public class SystemMenuController {
@PostMapping @PostMapping
@Operation(summary = "查询菜单") @Operation(summary = "查询菜单")
@PreAuthorize("@el.check('menu:list')") @PreAuthorize("@el.check('menu:list')")
public ResponseEntity<CsPageResult<SystemMenuTb>> queryAllMenuByCrud(@Validated @RequestBody CsPageArgs<SystemQueryMenuArgs> args) throws Exception { public ResponseEntity<KitPageResult<SystemMenuTb>> queryAllMenuByCrud(@Validated @RequestBody KitPageArgs<SystemQueryMenuArgs> args) throws Exception {
return queryAllMenu(args); return queryAllMenu(args);
} }
@PostMapping(value = "/queryMenuByArgs") @PostMapping(value = "/queryMenuByArgs")
@Operation(summary = "查询菜单") @Operation(summary = "查询菜单")
@PreAuthorize("@el.check('menu:list')") @PreAuthorize("@el.check('menu:list')")
public ResponseEntity<CsPageResult<SystemMenuTb>> queryAllMenu(@Validated @RequestBody CsPageArgs<SystemQueryMenuArgs> args) throws Exception { public ResponseEntity<KitPageResult<SystemMenuTb>> queryAllMenu(@Validated @RequestBody KitPageArgs<SystemQueryMenuArgs> args) throws Exception {
SystemQueryMenuArgs criteria = args.getArgs(); SystemQueryMenuArgs criteria = args.getArgs();
List<SystemMenuTb> menuList = systemMenuService.queryAllMenu(criteria, true); List<SystemMenuTb> menuList = systemMenuService.queryAllMenu(criteria, true);
return ResponseEntity.ok(CsPageUtil.toPage(menuList)); return ResponseEntity.ok(KitPageUtil.toPage(menuList));
} }
@Operation(summary = "查询菜单:根据ID获取同级与上级数据") @Operation(summary = "查询菜单:根据ID获取同级与上级数据")
@@ -16,11 +16,11 @@
package cn.odboy.system.controller; package cn.odboy.system.controller;
import cn.odboy.base.CsPageArgs; import cn.odboy.base.KitPageArgs;
import cn.odboy.base.CsPageResult; import cn.odboy.base.KitPageResult;
import cn.odboy.system.dal.model.SystemUserOnlineVo; import cn.odboy.system.dal.model.SystemUserOnlineVo;
import cn.odboy.system.dal.redis.SystemUserOnlineInfoDAO; import cn.odboy.system.dal.redis.SystemUserOnlineInfoDAO;
import cn.odboy.util.CsDesEncryptUtil; import cn.odboy.util.KitDesEncryptUtil;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@@ -45,7 +45,7 @@ public class SystemOnlineController {
@Operation(summary = "查询在线用户") @Operation(summary = "查询在线用户")
@PostMapping @PostMapping
@PreAuthorize("@el.check()") @PreAuthorize("@el.check()")
public ResponseEntity<CsPageResult<SystemUserOnlineVo>> queryOnlineUser(@Validated @RequestBody CsPageArgs<SystemUserOnlineVo> args) { public ResponseEntity<KitPageResult<SystemUserOnlineVo>> queryOnlineUser(@Validated @RequestBody KitPageArgs<SystemUserOnlineVo> args) {
IPage<SystemUserOnlineVo> page = new Page<>(args.getPage(), args.getSize()); IPage<SystemUserOnlineVo> page = new Page<>(args.getPage(), args.getSize());
return ResponseEntity.ok(systemUserOnlineInfoDAO.queryUserOnlineModelPage(args.getArgs(), page)); return ResponseEntity.ok(systemUserOnlineInfoDAO.queryUserOnlineModelPage(args.getArgs(), page));
} }
@@ -63,7 +63,7 @@ public class SystemOnlineController {
public ResponseEntity<Void> kickOutUser(@RequestBody Set<String> keys) throws Exception { public ResponseEntity<Void> kickOutUser(@RequestBody Set<String> keys) throws Exception {
for (String token : keys) { for (String token : keys) {
// 解密Key // 解密Key
token = CsDesEncryptUtil.desDecrypt(token); token = KitDesEncryptUtil.desDecrypt(token);
systemUserOnlineInfoDAO.logoutByToken(token); systemUserOnlineInfoDAO.logoutByToken(token);
} }
return ResponseEntity.ok(null); return ResponseEntity.ok(null);
@@ -16,8 +16,8 @@
package cn.odboy.system.controller; package cn.odboy.system.controller;
import cn.odboy.base.CsPageArgs; import cn.odboy.base.KitPageArgs;
import cn.odboy.base.CsPageResult; import cn.odboy.base.KitPageResult;
import cn.odboy.system.dal.dataobject.SystemOssStorageTb; import cn.odboy.system.dal.dataobject.SystemOssStorageTb;
import cn.odboy.system.dal.model.SystemOssStorageVo; import cn.odboy.system.dal.model.SystemOssStorageVo;
import cn.odboy.system.dal.model.SystemQueryStorageArgs; import cn.odboy.system.dal.model.SystemQueryStorageArgs;
@@ -47,7 +47,7 @@ public class SystemOssStorageController {
@Operation(summary = "查询文件") @Operation(summary = "查询文件")
@PostMapping @PostMapping
@PreAuthorize("@el.check('storage:list')") @PreAuthorize("@el.check('storage:list')")
public ResponseEntity<CsPageResult<SystemOssStorageVo>> queryOssStorage(@Validated @RequestBody CsPageArgs<SystemQueryStorageArgs> args) { public ResponseEntity<KitPageResult<SystemOssStorageVo>> queryOssStorage(@Validated @RequestBody KitPageArgs<SystemQueryStorageArgs> args) {
SystemQueryStorageArgs criteria = args.getArgs(); SystemQueryStorageArgs criteria = args.getArgs();
Page<SystemOssStorageTb> page = new Page<>(criteria.getPage(), criteria.getSize()); Page<SystemOssStorageTb> page = new Page<>(criteria.getPage(), criteria.getSize());
return ResponseEntity.ok(systemOssStorageService.queryOssStorage(criteria, page)); return ResponseEntity.ok(systemOssStorageService.queryOssStorage(criteria, page));
@@ -16,9 +16,9 @@
package cn.odboy.system.controller; package cn.odboy.system.controller;
import cn.odboy.base.CsPageArgs; import cn.odboy.base.KitPageArgs;
import cn.odboy.base.CsPageResult; import cn.odboy.base.KitPageResult;
import cn.odboy.framework.context.CsSpringBeanHolder; import cn.odboy.framework.context.KitSpringBeanHolder;
import cn.odboy.framework.exception.BadRequestException; import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.system.dal.dataobject.SystemQuartzJobTb; import cn.odboy.system.dal.dataobject.SystemQuartzJobTb;
import cn.odboy.system.dal.dataobject.SystemQuartzLogTb; import cn.odboy.system.dal.dataobject.SystemQuartzLogTb;
@@ -50,7 +50,7 @@ public class SystemQuartzJobController {
@Operation(summary = "查询定时任务") @Operation(summary = "查询定时任务")
@PostMapping @PostMapping
@PreAuthorize("@el.check('quartzJob:list')") @PreAuthorize("@el.check('quartzJob:list')")
public ResponseEntity<CsPageResult<SystemQuartzJobTb>> queryQuartzJobByCrud(@Validated @RequestBody CsPageArgs<SystemQueryQuartzJobArgs> args) { public ResponseEntity<KitPageResult<SystemQuartzJobTb>> queryQuartzJobByCrud(@Validated @RequestBody KitPageArgs<SystemQueryQuartzJobArgs> args) {
SystemQueryQuartzJobArgs criteria = args.getArgs(); SystemQueryQuartzJobArgs criteria = args.getArgs();
Page<SystemQuartzJobTb> page = new Page<>(criteria.getPage(), criteria.getSize()); Page<SystemQuartzJobTb> page = new Page<>(criteria.getPage(), criteria.getSize());
return ResponseEntity.ok(systemQuartzJobService.queryQuartzJobByArgs(criteria, page)); return ResponseEntity.ok(systemQuartzJobService.queryQuartzJobByArgs(criteria, page));
@@ -73,7 +73,7 @@ public class SystemQuartzJobController {
@Operation(summary = "查询任务执行日志") @Operation(summary = "查询任务执行日志")
@PostMapping(value = "/logs") @PostMapping(value = "/logs")
@PreAuthorize("@el.check('quartzJob:list')") @PreAuthorize("@el.check('quartzJob:list')")
public ResponseEntity<CsPageResult<SystemQuartzLogTb>> queryQuartzJobLog(SystemQueryQuartzJobArgs args) { public ResponseEntity<KitPageResult<SystemQuartzLogTb>> queryQuartzJobLog(SystemQueryQuartzJobArgs args) {
Page<SystemQuartzLogTb> page = new Page<>(args.getPage(), args.getSize()); Page<SystemQuartzLogTb> page = new Page<>(args.getPage(), args.getSize());
return ResponseEntity.ok(systemQuartzJobService.queryQuartzLogByArgs(args, page)); return ResponseEntity.ok(systemQuartzJobService.queryQuartzLogByArgs(args, page));
} }
@@ -133,7 +133,7 @@ public class SystemQuartzJobController {
private void checkBean(String beanName) { private void checkBean(String beanName) {
// 避免调用攻击者可以从SpringContextHolder获得控制jdbcTemplate类 // 避免调用攻击者可以从SpringContextHolder获得控制jdbcTemplate类
// 并使用getDeclaredMethod调用jdbcTemplate的queryForMap函数,执行任意sql命令。 // 并使用getDeclaredMethod调用jdbcTemplate的queryForMap函数,执行任意sql命令。
if (!CsSpringBeanHolder.getAllServiceBeanName().contains(beanName)) { if (!KitSpringBeanHolder.getAllServiceBeanName().contains(beanName)) {
throw new BadRequestException("非法的 Bean,请重新输入!"); throw new BadRequestException("非法的 Bean,请重新输入!");
} }
} }
@@ -17,13 +17,13 @@
package cn.odboy.system.controller; package cn.odboy.system.controller;
import cn.hutool.core.lang.Dict; import cn.hutool.core.lang.Dict;
import cn.odboy.base.CsPageArgs; import cn.odboy.base.KitPageArgs;
import cn.odboy.base.CsPageResult; import cn.odboy.base.KitPageResult;
import cn.odboy.framework.exception.BadRequestException; import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.system.dal.dataobject.SystemRoleTb; import cn.odboy.system.dal.dataobject.SystemRoleTb;
import cn.odboy.system.dal.model.SystemCreateRoleArgs; import cn.odboy.system.dal.model.SystemCreateRoleArgs;
import cn.odboy.system.dal.model.SystemQueryRoleArgs; import cn.odboy.system.dal.model.SystemQueryRoleArgs;
import cn.odboy.system.framework.permission.core.CsSecurityHelper; import cn.odboy.system.framework.permission.core.KitSecurityHelper;
import cn.odboy.system.service.SystemRoleService; import cn.odboy.system.service.SystemRoleService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@@ -71,7 +71,7 @@ public class SystemRoleController {
@Operation(summary = "查询角色") @Operation(summary = "查询角色")
@PostMapping @PostMapping
@PreAuthorize("@el.check('roles:list')") @PreAuthorize("@el.check('roles:list')")
public ResponseEntity<CsPageResult<SystemRoleTb>> queryRoleByArgs(@Validated @RequestBody CsPageArgs<SystemQueryRoleArgs> args) { public ResponseEntity<KitPageResult<SystemRoleTb>> queryRoleByArgs(@Validated @RequestBody KitPageArgs<SystemQueryRoleArgs> args) {
SystemQueryRoleArgs criteria = args.getArgs(); SystemQueryRoleArgs criteria = args.getArgs();
Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize()); Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
return ResponseEntity.ok(systemRoleService.queryRoleByArgs(criteria, page)); return ResponseEntity.ok(systemRoleService.queryRoleByArgs(criteria, page));
@@ -131,7 +131,7 @@ public class SystemRoleController {
* @return / * @return /
*/ */
private int checkRoleLevels(Integer level) { private int checkRoleLevels(Integer level) {
List<Integer> levels = systemRoleService.queryRoleByUsersId(CsSecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).toList(); List<Integer> levels = systemRoleService.queryRoleByUsersId(KitSecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).toList();
int min = Collections.min(levels); int min = Collections.min(levels);
if (level != null) { if (level != null) {
if (level < min) { if (level < min) {
@@ -17,9 +17,9 @@
package cn.odboy.system.controller; package cn.odboy.system.controller;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.odboy.base.CsPageArgs; import cn.odboy.base.KitPageArgs;
import cn.odboy.base.CsPageResult; import cn.odboy.base.KitPageResult;
import cn.odboy.base.CsSelectOptionVo; import cn.odboy.base.KitSelectOptionVo;
import cn.odboy.framework.exception.BadRequestException; import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.framework.properties.AppProperties; import cn.odboy.framework.properties.AppProperties;
import cn.odboy.system.constant.SystemCaptchaBizEnum; import cn.odboy.system.constant.SystemCaptchaBizEnum;
@@ -28,10 +28,10 @@ import cn.odboy.system.dal.dataobject.SystemRoleTb;
import cn.odboy.system.dal.dataobject.SystemUserTb; import cn.odboy.system.dal.dataobject.SystemUserTb;
import cn.odboy.system.dal.model.SystemQueryUserArgs; import cn.odboy.system.dal.model.SystemQueryUserArgs;
import cn.odboy.system.dal.model.SystemUpdateUserPasswordArgs; import cn.odboy.system.dal.model.SystemUpdateUserPasswordArgs;
import cn.odboy.system.framework.permission.core.CsSecurityHelper; import cn.odboy.system.framework.permission.core.KitSecurityHelper;
import cn.odboy.system.service.*; import cn.odboy.system.service.*;
import cn.odboy.util.CsPageUtil; import cn.odboy.util.KitPageUtil;
import cn.odboy.util.CsRsaEncryptUtil; import cn.odboy.util.KitRsaEncryptUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@@ -79,7 +79,7 @@ public class SystemUserController {
@Operation(summary = "查询用户") @Operation(summary = "查询用户")
@PostMapping @PostMapping
@PreAuthorize("@el.check('user:list')") @PreAuthorize("@el.check('user:list')")
public ResponseEntity<CsPageResult<SystemUserTb>> queryUserByArgs(@Validated @RequestBody CsPageArgs<SystemQueryUserArgs> args) { public ResponseEntity<KitPageResult<SystemUserTb>> queryUserByArgs(@Validated @RequestBody KitPageArgs<SystemQueryUserArgs> args) {
Page<SystemUserTb> page = new Page<>(args.getPage(), args.getSize()); Page<SystemUserTb> page = new Page<>(args.getPage(), args.getSize());
SystemQueryUserArgs criteria = args.getArgs(); SystemQueryUserArgs criteria = args.getArgs();
if (!ObjectUtils.isEmpty(criteria.getDeptId())) { if (!ObjectUtils.isEmpty(criteria.getDeptId())) {
@@ -90,7 +90,7 @@ public class SystemUserController {
criteria.getDeptIds().addAll(systemDeptService.queryChildDeptIdListByDeptIds(data)); criteria.getDeptIds().addAll(systemDeptService.queryChildDeptIdListByDeptIds(data));
} }
// 数据权限 // 数据权限
List<Long> dataScopes = systemDataService.queryDeptIdListByArgs(systemUserService.getUserByUsername(CsSecurityHelper.getCurrentUsername())); List<Long> dataScopes = systemDataService.queryDeptIdListByArgs(systemUserService.getUserByUsername(KitSecurityHelper.getCurrentUsername()));
// criteria.getDeptIds() 不为空并且数据权限不为空则取交集 // criteria.getDeptIds() 不为空并且数据权限不为空则取交集
if (!CollectionUtils.isEmpty(criteria.getDeptIds()) && !CollectionUtils.isEmpty(dataScopes)) { if (!CollectionUtils.isEmpty(criteria.getDeptIds()) && !CollectionUtils.isEmpty(dataScopes)) {
// 取交集 // 取交集
@@ -103,7 +103,7 @@ public class SystemUserController {
criteria.getDeptIds().addAll(dataScopes); criteria.getDeptIds().addAll(dataScopes);
return ResponseEntity.ok(systemUserService.queryUserByArgs(criteria, page)); return ResponseEntity.ok(systemUserService.queryUserByArgs(criteria, page));
} }
return ResponseEntity.ok(CsPageUtil.emptyData()); return ResponseEntity.ok(KitPageUtil.emptyData());
} }
@Operation(summary = "新增用户") @Operation(summary = "新增用户")
@@ -129,7 +129,7 @@ public class SystemUserController {
@Operation(summary = "修改用户:个人中心") @Operation(summary = "修改用户:个人中心")
@PostMapping(value = "modifyUserCenterInfoById") @PostMapping(value = "modifyUserCenterInfoById")
public ResponseEntity<Object> modifyUserCenterInfoById(@Validated(SystemUserTb.Update.class) @RequestBody SystemUserTb args) { public ResponseEntity<Object> modifyUserCenterInfoById(@Validated(SystemUserTb.Update.class) @RequestBody SystemUserTb args) {
if (!args.getId().equals(CsSecurityHelper.getCurrentUserId())) { if (!args.getId().equals(KitSecurityHelper.getCurrentUserId())) {
throw new BadRequestException("不能修改他人资料"); throw new BadRequestException("不能修改他人资料");
} }
systemUserService.modifyUserCenterInfoById(args); systemUserService.modifyUserCenterInfoById(args);
@@ -142,7 +142,7 @@ public class SystemUserController {
public ResponseEntity<Object> removeUserByIds(@RequestBody Set<Long> ids) { public ResponseEntity<Object> removeUserByIds(@RequestBody Set<Long> ids) {
for (Long id : ids) { for (Long id : ids) {
Integer currentLevel = Integer currentLevel =
Collections.min(systemRoleService.queryRoleByUsersId(CsSecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).toList()); Collections.min(systemRoleService.queryRoleByUsersId(KitSecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).toList());
Integer optLevel = Collections.min(systemRoleService.queryRoleByUsersId(id).stream().map(SystemRoleTb::getLevel).toList()); Integer optLevel = Collections.min(systemRoleService.queryRoleByUsersId(id).stream().map(SystemRoleTb::getLevel).toList());
if (currentLevel > optLevel) { if (currentLevel > optLevel) {
throw new BadRequestException("角色权限不足, 不能删除:" + systemUserService.getUserById(id).getUsername()); throw new BadRequestException("角色权限不足, 不能删除:" + systemUserService.getUserById(id).getUsername());
@@ -155,9 +155,9 @@ public class SystemUserController {
@Operation(summary = "修改密码") @Operation(summary = "修改密码")
@PostMapping(value = "/modifyUserPasswordByUsername") @PostMapping(value = "/modifyUserPasswordByUsername")
public ResponseEntity<Object> modifyUserPasswordByUsername(@RequestBody SystemUpdateUserPasswordArgs passVo) throws Exception { public ResponseEntity<Object> modifyUserPasswordByUsername(@RequestBody SystemUpdateUserPasswordArgs passVo) throws Exception {
String oldPass = CsRsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), passVo.getOldPass()); String oldPass = KitRsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), passVo.getOldPass());
String newPass = CsRsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), passVo.getNewPass()); String newPass = KitRsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), passVo.getNewPass());
SystemUserTb user = systemUserService.getUserByUsername(CsSecurityHelper.getCurrentUsername()); SystemUserTb user = systemUserService.getUserByUsername(KitSecurityHelper.getCurrentUsername());
if (!passwordEncoder.matches(oldPass, user.getPassword())) { if (!passwordEncoder.matches(oldPass, user.getPassword())) {
throw new BadRequestException("修改失败,旧密码错误"); throw new BadRequestException("修改失败,旧密码错误");
} }
@@ -185,8 +185,8 @@ public class SystemUserController {
@Operation(summary = "修改邮箱") @Operation(summary = "修改邮箱")
@PostMapping(value = "/modifyUserEmailByUsername/{code}") @PostMapping(value = "/modifyUserEmailByUsername/{code}")
public ResponseEntity<Object> modifyUserEmailByUsername(@PathVariable String code, @RequestBody SystemUserTb args) throws Exception { public ResponseEntity<Object> modifyUserEmailByUsername(@PathVariable String code, @RequestBody SystemUserTb args) throws Exception {
String password = CsRsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), args.getPassword()); String password = KitRsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), args.getPassword());
SystemUserTb user = systemUserService.getUserByUsername(CsSecurityHelper.getCurrentUsername()); SystemUserTb user = systemUserService.getUserByUsername(KitSecurityHelper.getCurrentUsername());
if (!passwordEncoder.matches(password, user.getPassword())) { if (!passwordEncoder.matches(password, user.getPassword())) {
throw new BadRequestException("密码错误"); throw new BadRequestException("密码错误");
} }
@@ -202,7 +202,7 @@ public class SystemUserController {
*/ */
private void checkLevel(SystemUserTb args) { private void checkLevel(SystemUserTb args) {
Integer currentLevel = Integer currentLevel =
Collections.min(systemRoleService.queryRoleByUsersId(CsSecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).toList()); Collections.min(systemRoleService.queryRoleByUsersId(KitSecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).toList());
Integer optLevel = systemRoleService.getDeptLevelByRoles(args.getRoles()); Integer optLevel = systemRoleService.getDeptLevelByRoles(args.getRoles());
if (currentLevel > optLevel) { if (currentLevel > optLevel) {
throw new BadRequestException("角色权限不足"); throw new BadRequestException("角色权限不足");
@@ -212,7 +212,7 @@ public class SystemUserController {
@Operation(summary = "查询用户基础数据") @Operation(summary = "查询用户基础数据")
@PostMapping(value = "/queryUserMetadataOptions") @PostMapping(value = "/queryUserMetadataOptions")
@PreAuthorize("@el.check('user:list')") @PreAuthorize("@el.check('user:list')")
public ResponseEntity<List<CsSelectOptionVo>> queryUserMetadataOptions(@Validated @RequestBody CsPageArgs<SystemQueryUserArgs> args) { public ResponseEntity<List<KitSelectOptionVo>> queryUserMetadataOptions(@Validated @RequestBody KitPageArgs<SystemQueryUserArgs> args) {
int maxPageSize = 50; int maxPageSize = 50;
SystemQueryUserArgs criteria = args.getArgs(); SystemQueryUserArgs criteria = args.getArgs();
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
@@ -225,14 +225,14 @@ public class SystemUserController {
c.or(); c.or();
c.like(SystemUserTb::getNickName, criteria.getBlurry()); c.like(SystemUserTb::getNickName, criteria.getBlurry());
}); });
List<CsSelectOptionVo> collect = List<KitSelectOptionVo> collect =
systemUserService.queryUserByBlurry(wrapper, new Page<>(criteria.getPage(), maxPageSize)).getRecords().stream().map(m -> { systemUserService.queryUserByBlurry(wrapper, new Page<>(criteria.getPage(), maxPageSize)).getRecords().stream().map(m -> {
Map<String, Object> ext = new HashMap<>(1); Map<String, Object> ext = new HashMap<>(1);
ext.put("id", m.getId()); ext.put("id", m.getId());
ext.put("deptId", m.getDeptId()); ext.put("deptId", m.getDeptId());
ext.put("email", m.getEmail()); ext.put("email", m.getEmail());
ext.put("phone", m.getPhone()); ext.put("phone", m.getPhone());
return CsSelectOptionVo.builder().label(m.getNickName()).value(String.valueOf(m.getId())).ext(ext).build(); return KitSelectOptionVo.builder().label(m.getNickName()).value(String.valueOf(m.getId())).ext(ext).build();
}).toList(); }).toList();
return ResponseEntity.ok(collect); return ResponseEntity.ok(collect);
} }
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.dataobject; package cn.odboy.system.dal.dataobject;
import cn.odboy.base.CsBaseUserTimeTb; import cn.odboy.base.KitBaseUserTimeTb;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
@@ -35,7 +35,7 @@ import java.util.Set;
@Getter @Getter
@Setter @Setter
@TableName("system_dept") @TableName("system_dept")
public class SystemDeptTb extends CsBaseUserTimeTb { public class SystemDeptTb extends KitBaseUserTimeTb {
@NotNull(groups = Update.class) @NotNull(groups = Update.class)
@TableId(value = "dept_id", type = IdType.AUTO) @TableId(value = "dept_id", type = IdType.AUTO)
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.dataobject; package cn.odboy.system.dal.dataobject;
import cn.odboy.base.CsBaseUserTimeTb; import cn.odboy.base.KitBaseUserTimeTb;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
@@ -29,7 +29,7 @@ import lombok.Setter;
@Getter @Getter
@Setter @Setter
@TableName("system_dict_detail") @TableName("system_dict_detail")
public class SystemDictDetailTb extends CsBaseUserTimeTb { public class SystemDictDetailTb extends KitBaseUserTimeTb {
@NotNull(groups = Update.class) @NotNull(groups = Update.class)
@Schema(name = "ID", hidden = true) @Schema(name = "ID", hidden = true)
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.dataobject; package cn.odboy.system.dal.dataobject;
import cn.odboy.base.CsBaseUserTimeTb; import cn.odboy.base.KitBaseUserTimeTb;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
@@ -27,7 +27,7 @@ import lombok.Setter;
@Getter @Getter
@Setter @Setter
@TableName("system_dict") @TableName("system_dict")
public class SystemDictTb extends CsBaseUserTimeTb { public class SystemDictTb extends KitBaseUserTimeTb {
@NotNull(groups = Update.class) @NotNull(groups = Update.class)
@Schema(name = "ID", hidden = true) @Schema(name = "ID", hidden = true)
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.dataobject; package cn.odboy.system.dal.dataobject;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
@@ -30,7 +30,7 @@ import lombok.EqualsAndHashCode;
@Data @Data
@TableName("system_email_config") @TableName("system_email_config")
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class SystemEmailConfigTb extends CsObject { public class SystemEmailConfigTb extends KitObject {
@TableId("config_id") @TableId("config_id")
private Long id; private Long id;
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.dataobject; package cn.odboy.system.dal.dataobject;
import cn.odboy.base.CsBaseUserTimeTb; import cn.odboy.base.KitBaseUserTimeTb;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
@@ -31,7 +31,7 @@ import java.util.Objects;
@Getter @Getter
@Setter @Setter
@TableName("system_job") @TableName("system_job")
public class SystemJobTb extends CsBaseUserTimeTb { public class SystemJobTb extends KitBaseUserTimeTb {
@NotNull(groups = Update.class) @NotNull(groups = Update.class)
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
@@ -18,7 +18,7 @@ package cn.odboy.system.dal.dataobject;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.bean.copier.CopyOptions;
import cn.odboy.base.CsBaseUserTimeTb; import cn.odboy.base.KitBaseUserTimeTb;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
@@ -29,7 +29,7 @@ import lombok.Setter;
@Getter @Getter
@Setter @Setter
@TableName("system_local_storage") @TableName("system_local_storage")
public class SystemLocalStorageTb extends CsBaseUserTimeTb { public class SystemLocalStorageTb extends KitBaseUserTimeTb {
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
@Schema(name = "ID", hidden = true) @Schema(name = "ID", hidden = true)
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.dataobject; package cn.odboy.system.dal.dataobject;
import cn.odboy.base.CsBaseUserTimeTb; import cn.odboy.base.KitBaseUserTimeTb;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
@@ -34,7 +34,7 @@ import java.util.Set;
@Getter @Getter
@Setter @Setter
@TableName("system_menu") @TableName("system_menu")
public class SystemMenuTb extends CsBaseUserTimeTb { public class SystemMenuTb extends KitBaseUserTimeTb {
@NotNull(groups = {Update.class}) @NotNull(groups = {Update.class})
@TableId(value = "menu_id", type = IdType.AUTO) @TableId(value = "menu_id", type = IdType.AUTO)
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.dataobject; package cn.odboy.system.dal.dataobject;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter; import lombok.Getter;
@@ -38,7 +38,7 @@ import java.util.Date;
@ToString @ToString
@TableName("system_operation_log") @TableName("system_operation_log")
@Schema(name = "SystemOperationLog对象", description = "审计日志") @Schema(name = "SystemOperationLog对象", description = "审计日志")
public class SystemOperationLogTb extends CsObject { public class SystemOperationLogTb extends KitObject {
/** /**
* id * id
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.dataobject; package cn.odboy.system.dal.dataobject;
import cn.odboy.base.CsBaseUserTimeTb; import cn.odboy.base.KitBaseUserTimeTb;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
@@ -37,7 +37,7 @@ import lombok.Setter;
@Setter @Setter
@TableName("system_oss_storage") @TableName("system_oss_storage")
@Schema(name = "SystemOssStorage对象", description = "OSS存储") @Schema(name = "SystemOssStorage对象", description = "OSS存储")
public class SystemOssStorageTb extends CsBaseUserTimeTb { public class SystemOssStorageTb extends KitBaseUserTimeTb {
@Schema(name = "ID") @Schema(name = "ID")
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
private Long id; private Long id;
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.dataobject; package cn.odboy.system.dal.dataobject;
import cn.odboy.base.CsBaseUserTimeTb; import cn.odboy.base.KitBaseUserTimeTb;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
@@ -27,7 +27,7 @@ import lombok.Setter;
@Getter @Getter
@Setter @Setter
@TableName("system_quartz_job") @TableName("system_quartz_job")
public class SystemQuartzJobTb extends CsBaseUserTimeTb { public class SystemQuartzJobTb extends KitBaseUserTimeTb {
public static final String JOB_KEY = "JOB_KEY"; public static final String JOB_KEY = "JOB_KEY";
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.dataobject; package cn.odboy.system.dal.dataobject;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
@@ -27,7 +27,7 @@ import java.util.Date;
@Data @Data
@TableName("system_quartz_log") @TableName("system_quartz_log")
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class SystemQuartzLogTb extends CsObject { public class SystemQuartzLogTb extends KitObject {
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
@Schema(name = "ID", hidden = true) @Schema(name = "ID", hidden = true)
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.dataobject; package cn.odboy.system.dal.dataobject;
import cn.odboy.base.CsBaseUserTimeTb; import cn.odboy.base.KitBaseUserTimeTb;
import cn.odboy.system.constant.SystemDataScopeEnum; import cn.odboy.system.constant.SystemDataScopeEnum;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
@@ -34,7 +34,7 @@ import java.util.Set;
@Getter @Getter
@Setter @Setter
@TableName("system_role") @TableName("system_role")
public class SystemRoleTb extends CsBaseUserTimeTb { public class SystemRoleTb extends KitBaseUserTimeTb {
@NotNull(groups = {Update.class}) @NotNull(groups = {Update.class})
@TableId(value = "role_id", type = IdType.AUTO) @TableId(value = "role_id", type = IdType.AUTO)
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.dataobject; package cn.odboy.system.dal.dataobject;
import cn.odboy.base.CsBaseUserTimeTb; import cn.odboy.base.KitBaseUserTimeTb;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
@@ -35,7 +35,7 @@ import java.util.Set;
@Getter @Getter
@Setter @Setter
@TableName("system_user") @TableName("system_user")
public class SystemUserTb extends CsBaseUserTimeTb { public class SystemUserTb extends KitBaseUserTimeTb {
@NotNull(groups = Update.class) @NotNull(groups = Update.class)
@TableId(value = "user_id", type = IdType.AUTO) @TableId(value = "user_id", type = IdType.AUTO)
@@ -16,14 +16,14 @@
package cn.odboy.system.dal.model; package cn.odboy.system.dal.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@Getter @Getter
@Setter @Setter
public class SystemCheckEmailCaptchaArgs extends CsObject { public class SystemCheckEmailCaptchaArgs extends KitObject {
@NotBlank(message = "邮箱不能为空") @NotBlank(message = "邮箱不能为空")
private String email; private String email;
@NotBlank(message = "验证码不能为空") @NotBlank(message = "验证码不能为空")
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.model; package cn.odboy.system.dal.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
@@ -24,7 +24,7 @@ import lombok.EqualsAndHashCode;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class SystemCreateDeptArgs extends CsObject { public class SystemCreateDeptArgs extends KitObject {
@NotBlank(message = "部门名称必填") @NotBlank(message = "部门名称必填")
private String name; private String name;
@NotNull(message = "部门排序必填") @NotNull(message = "部门排序必填")
@@ -16,14 +16,14 @@
package cn.odboy.system.dal.model; package cn.odboy.system.dal.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class SystemCreateDictArgs extends CsObject { public class SystemCreateDictArgs extends KitObject {
@NotBlank(message = "字典名称必填") @NotBlank(message = "字典名称必填")
private String name; private String name;
private String description; private String description;
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.model; package cn.odboy.system.dal.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import cn.odboy.system.dal.dataobject.SystemDictTb; import cn.odboy.system.dal.dataobject.SystemDictTb;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
@@ -25,7 +25,7 @@ import lombok.EqualsAndHashCode;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class SystemCreateDictDetailArgs extends CsObject { public class SystemCreateDictDetailArgs extends KitObject {
@NotNull(message = "参数dict必填") @NotNull(message = "参数dict必填")
private SystemDictTb dict; private SystemDictTb dict;
@NotBlank(message = "字典标签必填") @NotBlank(message = "字典标签必填")
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.model; package cn.odboy.system.dal.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
@@ -24,7 +24,7 @@ import lombok.EqualsAndHashCode;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class SystemCreateJobArgs extends CsObject { public class SystemCreateJobArgs extends KitObject {
@NotBlank(message = "职位名称必填") @NotBlank(message = "职位名称必填")
private String name; private String name;
@NotNull(message = "职位排序必填") @NotNull(message = "职位排序必填")
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.model; package cn.odboy.system.dal.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import cn.odboy.system.dal.dataobject.SystemDeptTb; import cn.odboy.system.dal.dataobject.SystemDeptTb;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
@@ -27,7 +27,7 @@ import java.util.Set;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class SystemCreateRoleArgs extends CsObject { public class SystemCreateRoleArgs extends KitObject {
@NotBlank(message = "角色名称必填") @NotBlank(message = "角色名称必填")
private String name; private String name;
@NotNull(message = "角色级别必填") @NotNull(message = "角色级别必填")
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.model; package cn.odboy.system.dal.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@@ -25,7 +25,7 @@ import lombok.EqualsAndHashCode;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class SystemMenuMetaVo extends CsObject { public class SystemMenuMetaVo extends KitObject {
@Schema(name = "菜单标题") @Schema(name = "菜单标题")
private String title; private String title;
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.model; package cn.odboy.system.dal.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@@ -28,7 +28,7 @@ import java.util.List;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class SystemMenuVo extends CsObject { public class SystemMenuVo extends KitObject {
@Schema(name = "菜单名称") @Schema(name = "菜单名称")
private String name; private String name;
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.model; package cn.odboy.system.dal.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@@ -24,7 +24,7 @@ import java.util.List;
@Getter @Getter
@Setter @Setter
public class SystemProductLineTreeVo extends CsObject { public class SystemProductLineTreeVo extends KitObject {
private String value; private String value;
private String label; private String label;
private List<SystemProductLineTreeVo> children; private List<SystemProductLineTreeVo> children;
@@ -16,13 +16,13 @@
package cn.odboy.system.dal.model; package cn.odboy.system.dal.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@Getter @Getter
@Setter @Setter
public class SystemProductLineVo extends CsObject { public class SystemProductLineVo extends KitObject {
/** /**
* 部门ID(select的value) * 部门ID(select的value)
*/ */
@@ -16,14 +16,14 @@
package cn.odboy.system.dal.model; package cn.odboy.system.dal.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@Getter @Getter
@Setter @Setter
public class SystemQueryDictDetailArgs extends CsObject { public class SystemQueryDictDetailArgs extends KitObject {
@Schema(name = "标签") @Schema(name = "标签")
private String label; private String label;
@@ -16,7 +16,7 @@
package cn.odboy.system.dal.model; package cn.odboy.system.dal.model;
import cn.odboy.base.CsObject; import cn.odboy.base.KitObject;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@@ -28,7 +28,7 @@ import java.util.Set;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class SystemQueryUserArgs extends CsObject { public class SystemQueryUserArgs extends KitObject {
@Schema(name = "ID") @Schema(name = "ID")
private Long id; private Long id;

Some files were not shown because too many files have changed in this diff Show More