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

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