diff --git a/cutejava/README.md b/cutejava/README.md index 45ba5212..02ed0d93 100644 --- a/cutejava/README.md +++ b/cutejava/README.md @@ -10,6 +10,24 @@ https://github.com/odboy-tianjun/cutejava +#### 编码规范 + +- 和数据库表一一对应的类, 以`Tb`结尾 +- 前端请求参数类名, 以`Args`结尾 +- 返回给前端的数据类名, 以`Vo`结尾 +- 事件驱动类名,以`Event`结尾 +- 消息队列/Socket传输类名,以`Message`结尾 +- 原框架以外的所有辅助类的类名, 以`Cs`开头 +- 查询分页、查询列表的方法,一律为同一个方法名 + - 查询分页:queryUserListByArgs(args, page) + - 查询列表:queryUserListByArgs(args) + - MapperXml:这样mapper.xml文件中的实现方法只需要写一个queryUserListByArgs +- Mapper层查询方法,统一使用以下命名规则 + - 分页、列表:query{TableName}ListByArgs + - 精确查询:get{TableName}{By FieldName} + - 统计数量:get{具体语义}Count{By FieldName} +- 枚举类名,以`Enum`结尾 + #### 主要特性 - 使用最新技术栈,社区资源丰富。 diff --git a/cutejava/cutejava-common/pom.xml b/cutejava/cutejava-common/pom.xml index 6ea3d642..0a8be00b 100644 --- a/cutejava/cutejava-common/pom.xml +++ b/cutejava/cutejava-common/pom.xml @@ -4,7 +4,7 @@ cutejava cn.odboy - 1.3.1 + 1.4.0 4.0.0 cutejava-common diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousAccess.java b/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousAccess.java index a3852b80..5ec05754 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousAccess.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousAccess.java @@ -1,11 +1,6 @@ package cn.odboy.annotation; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; +import java.lang.annotation.*; /** * 用于标记匿名访问方法 diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousDeleteMapping.java b/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousDeleteMapping.java index 05059cb0..7d8ae30b 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousDeleteMapping.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousDeleteMapping.java @@ -3,11 +3,8 @@ package cn.odboy.annotation; import org.springframework.core.annotation.AliasFor; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; + +import java.lang.annotation.*; /** * Annotation for mapping HTTP {@code DELETE} requests onto specific handler diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousGetMapping.java b/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousGetMapping.java index 143999c8..8fb6a6da 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousGetMapping.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousGetMapping.java @@ -3,11 +3,8 @@ package cn.odboy.annotation; import org.springframework.core.annotation.AliasFor; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; + +import java.lang.annotation.*; /** * Annotation for mapping HTTP {@code GET} requests onto specific handler diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousPatchMapping.java b/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousPatchMapping.java index 24cb0da5..73559cc1 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousPatchMapping.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousPatchMapping.java @@ -3,11 +3,8 @@ package cn.odboy.annotation; import org.springframework.core.annotation.AliasFor; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; + +import java.lang.annotation.*; /** * Annotation for mapping HTTP {@code PATCH} requests onto specific handler diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousPostMapping.java b/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousPostMapping.java index caa0c264..2a413114 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousPostMapping.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousPostMapping.java @@ -3,11 +3,8 @@ package cn.odboy.annotation; import org.springframework.core.annotation.AliasFor; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; + +import java.lang.annotation.*; /** * Annotation for mapping HTTP {@code POST} requests onto specific handler diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousPutMapping.java b/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousPutMapping.java index 3dcf03a3..1419795a 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousPutMapping.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/annotation/AnonymousPutMapping.java @@ -3,11 +3,8 @@ package cn.odboy.annotation; import org.springframework.core.annotation.AliasFor; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; + +import java.lang.annotation.*; /** * Annotation for mapping HTTP {@code PUT} requests onto specific handler diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/base/MyLogicEntity.java b/cutejava/cutejava-common/src/main/java/cn/odboy/base/CsBaseUserTimeLogicTb.java similarity index 96% rename from cutejava/cutejava-common/src/main/java/cn/odboy/base/MyLogicEntity.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/base/CsBaseUserTimeLogicTb.java index 66479dcf..cd2ec84f 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/base/MyLogicEntity.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/base/CsBaseUserTimeLogicTb.java @@ -9,6 +9,7 @@ import lombok.Setter; import org.apache.commons.lang3.builder.ToStringBuilder; import org.springframework.data.annotation.CreatedBy; import org.springframework.data.annotation.LastModifiedBy; + import java.lang.reflect.Field; import java.util.Date; @@ -20,7 +21,7 @@ import java.util.Date; */ @Getter @Setter -public class MyLogicEntity extends MyObject { +public class CsBaseUserTimeLogicTb extends CsSerializeObject { @CreatedBy @TableField(value = "create_by", fill = FieldFill.INSERT) @ApiModelProperty(value = "创建人", hidden = true) diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/base/MyEntity.java b/cutejava/cutejava-common/src/main/java/cn/odboy/base/CsBaseUserTimeTb.java similarity index 96% rename from cutejava/cutejava-common/src/main/java/cn/odboy/base/MyEntity.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/base/CsBaseUserTimeTb.java index 18138462..7965ad75 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/base/MyEntity.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/base/CsBaseUserTimeTb.java @@ -9,6 +9,7 @@ import lombok.Setter; import org.apache.commons.lang3.builder.ToStringBuilder; import org.springframework.data.annotation.CreatedBy; import org.springframework.data.annotation.LastModifiedBy; + import java.lang.reflect.Field; import java.util.Date; @@ -16,7 +17,7 @@ import java.util.Date; @Getter @Setter @EqualsAndHashCode(callSuper = false) -public class MyEntity extends MyObject { +public class CsBaseUserTimeTb extends CsSerializeObject { @CreatedBy @TableField(fill = FieldFill.INSERT) diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/base/PageArgs.java b/cutejava/cutejava-common/src/main/java/cn/odboy/base/CsPageArgs.java similarity index 93% rename from cutejava/cutejava-common/src/main/java/cn/odboy/base/PageArgs.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/base/CsPageArgs.java index 15c3971e..fbce68ec 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/base/PageArgs.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/base/CsPageArgs.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; + import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; import java.io.Serializable; @@ -17,7 +18,7 @@ import java.io.Serializable; @Data @NoArgsConstructor @AllArgsConstructor -public class PageArgs implements Serializable { +public class CsPageArgs implements Serializable { @NotNull(message = "参数page不能为空") @Min(value = 1, message = "参数page最小值为1") @ApiModelProperty(value = "页码", example = "1") diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/base/BaseResult.java b/cutejava/cutejava-common/src/main/java/cn/odboy/base/CsResultVo.java similarity index 85% rename from cutejava/cutejava-common/src/main/java/cn/odboy/base/BaseResult.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/base/CsResultVo.java index 18c2bcae..aa43e745 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/base/BaseResult.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/base/CsResultVo.java @@ -12,7 +12,7 @@ import lombok.NoArgsConstructor; @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = false) -public class BaseResult extends MyObject { +public class CsResultVo extends CsSerializeObject { private T content; private long totalElements; } diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/base/MyMetaOption.java b/cutejava/cutejava-common/src/main/java/cn/odboy/base/CsSelectOptionItemVo.java similarity index 82% rename from cutejava/cutejava-common/src/main/java/cn/odboy/base/MyMetaOption.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/base/CsSelectOptionItemVo.java index 4ba586ae..a8856b59 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/base/MyMetaOption.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/base/CsSelectOptionItemVo.java @@ -15,11 +15,8 @@ */ package cn.odboy.base; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; +import lombok.*; + import java.util.Map; /** @@ -33,7 +30,7 @@ import java.util.Map; @AllArgsConstructor @NoArgsConstructor @EqualsAndHashCode(callSuper = false) -public class MyMetaOption extends MyObject { +public class CsSelectOptionItemVo extends CsSerializeObject { private String label; private String value; private Map ext; diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/base/MyObject.java b/cutejava/cutejava-common/src/main/java/cn/odboy/base/CsSerializeObject.java similarity index 75% rename from cutejava/cutejava-common/src/main/java/cn/odboy/base/MyObject.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/base/CsSerializeObject.java index 91df133c..0f58eb82 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/base/MyObject.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/base/CsSerializeObject.java @@ -8,6 +8,6 @@ import java.io.Serializable; * @author odboy * @date 2022-01-12 */ -public class MyObject implements Serializable { +public class CsSerializeObject implements Serializable { private static final long serialVersionUID = 1L; } diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/base/PageResult.java b/cutejava/cutejava-common/src/main/java/cn/odboy/base/PageResult.java deleted file mode 100644 index 0108a4ba..00000000 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/base/PageResult.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.odboy.base; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import java.util.List; - -/** - * 分页结果封装类 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = false) -public class PageResult extends MyObject { - private List content; - private long totalElements; -} diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/context/BeanLoadFinishListener.java b/cutejava/cutejava-common/src/main/java/cn/odboy/context/CsBeanLoadFinishListener.java similarity index 91% rename from cutejava/cutejava-common/src/main/java/cn/odboy/context/BeanLoadFinishListener.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/context/CsBeanLoadFinishListener.java index a7ed1303..0891a465 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/context/BeanLoadFinishListener.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/context/CsBeanLoadFinishListener.java @@ -28,7 +28,7 @@ import org.springframework.stereotype.Component; */ @Slf4j @Component -public class BeanLoadFinishListener implements ApplicationListener { +public class CsBeanLoadFinishListener implements ApplicationListener { @Override public void onApplicationEvent(ContextRefreshedEvent event) { log.info("所有的Bean都加载完毕了"); diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/context/BootApplication.java b/cutejava/cutejava-common/src/main/java/cn/odboy/context/CsBootApplication.java similarity index 98% rename from cutejava/cutejava-common/src/main/java/cn/odboy/context/BootApplication.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/context/CsBootApplication.java index f2eeee6b..9dc7880b 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/context/BootApplication.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/context/CsBootApplication.java @@ -20,6 +20,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; + import java.net.InetAddress; import java.net.UnknownHostException; @@ -30,7 +31,7 @@ import java.net.UnknownHostException; * @date 2024-04-20 */ @Slf4j -public class BootApplication { +public class CsBootApplication { @Bean public SpringBeanHolder springContextHolder() { return new SpringBeanHolder(); diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/context/ScriptHelper.java b/cutejava/cutejava-common/src/main/java/cn/odboy/context/CsScriptHelper.java similarity index 93% rename from cutejava/cutejava-common/src/main/java/cn/odboy/context/ScriptHelper.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/context/CsScriptHelper.java index ac90a883..c76a756a 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/context/ScriptHelper.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/context/CsScriptHelper.java @@ -19,13 +19,8 @@ import cn.hutool.core.util.ReflectUtil; import cn.hutool.script.ScriptRuntimeException; import cn.odboy.exception.BadRequestException; import org.springframework.stereotype.Component; -import javax.script.Bindings; -import javax.script.Invocable; -import javax.script.ScriptContext; -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; -import javax.script.ScriptException; -import javax.script.SimpleScriptContext; + +import javax.script.*; import java.lang.reflect.Field; import java.util.Arrays; import java.util.HashMap; @@ -39,7 +34,7 @@ import java.util.Set; * @date 2023-12-05 */ @Component -public class ScriptHelper { +public class CsScriptHelper { private static final String FUNCTION_TAG = "function"; private final ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript"); diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/context/RequestHolder.java b/cutejava/cutejava-common/src/main/java/cn/odboy/context/RequestHolder.java index a65a1497..12f1a976 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/context/RequestHolder.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/context/RequestHolder.java @@ -2,6 +2,7 @@ package cn.odboy.context; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; + import javax.servlet.http.HttpServletRequest; import java.util.Objects; diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/context/SpringBeanHolder.java b/cutejava/cutejava-common/src/main/java/cn/odboy/context/SpringBeanHolder.java index 939e1ce6..e0293b38 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/context/SpringBeanHolder.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/context/SpringBeanHolder.java @@ -7,6 +7,7 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.core.env.Environment; import org.springframework.stereotype.Service; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/exception/BadRequestException.java b/cutejava/cutejava-common/src/main/java/cn/odboy/exception/BadRequestException.java index c95f3979..44bfe37f 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/exception/BadRequestException.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/exception/BadRequestException.java @@ -2,6 +2,7 @@ package cn.odboy.exception; import lombok.Getter; import org.springframework.http.HttpStatus; + import static org.springframework.http.HttpStatus.BAD_REQUEST; /** diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/exception/handler/GlobalExceptionHandler.java b/cutejava/cutejava-common/src/main/java/cn/odboy/exception/handler/GlobalExceptionHandler.java index 2ea35aff..a3b6e492 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/exception/handler/GlobalExceptionHandler.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/exception/handler/GlobalExceptionHandler.java @@ -13,6 +13,7 @@ import org.springframework.validation.ObjectError; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; + import static org.springframework.http.HttpStatus.NOT_FOUND; @Slf4j diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/monitor/controller/HealthCheckController.java b/cutejava/cutejava-common/src/main/java/cn/odboy/monitor/controller/CsHealthCheckController.java similarity index 91% rename from cutejava/cutejava-common/src/main/java/cn/odboy/monitor/controller/HealthCheckController.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/monitor/controller/CsHealthCheckController.java index d2cbef8d..cdc2e23c 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/monitor/controller/HealthCheckController.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/monitor/controller/CsHealthCheckController.java @@ -16,7 +16,7 @@ package cn.odboy.monitor.controller; import cn.odboy.annotation.AnonymousGetMapping; -import cn.odboy.monitor.service.HealthCheckPointService; +import cn.odboy.monitor.service.CsHealthCheckPointService; import io.swagger.annotations.Api; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; @@ -31,9 +31,9 @@ import org.springframework.web.bind.annotation.RestController; @RequiredArgsConstructor @RequestMapping("/healthCheck") @Api(tags = "系统:健康检查接口") -public class HealthCheckController { +public class CsHealthCheckController { @Autowired - private HealthCheckPointService healthCheckPointService; + private CsHealthCheckPointService healthCheckPointService; /** * 就绪检查 diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/monitor/service/HealthCheckPointService.java b/cutejava/cutejava-common/src/main/java/cn/odboy/monitor/service/CsHealthCheckPointService.java similarity index 83% rename from cutejava/cutejava-common/src/main/java/cn/odboy/monitor/service/HealthCheckPointService.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/monitor/service/CsHealthCheckPointService.java index 099654bb..8acacd5d 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/monitor/service/HealthCheckPointService.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/monitor/service/CsHealthCheckPointService.java @@ -2,7 +2,7 @@ package cn.odboy.monitor.service; import org.springframework.http.ResponseEntity; -public interface HealthCheckPointService { +public interface CsHealthCheckPointService { /** * 就绪检查 */ diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/redis/RedisConfiguration.java b/cutejava/cutejava-common/src/main/java/cn/odboy/redis/RedisConfiguration.java index dbbd63dd..426c9a09 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/redis/RedisConfiguration.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/redis/RedisConfiguration.java @@ -23,6 +23,7 @@ import org.springframework.data.redis.serializer.RedisSerializationContext; import org.springframework.data.redis.serializer.RedisSerializer; import org.springframework.data.redis.serializer.SerializationException; import org.springframework.data.redis.serializer.StringRedisSerializer; + import java.nio.charset.StandardCharsets; import java.time.Duration; import java.util.HashMap; diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/redis/RedisHelper.java b/cutejava/cutejava-common/src/main/java/cn/odboy/redis/RedisHelper.java index e54df3c6..4f3ca7b4 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/redis/RedisHelper.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/redis/RedisHelper.java @@ -7,21 +7,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.redis.connection.RedisConnection; import org.springframework.data.redis.connection.RedisConnectionFactory; -import org.springframework.data.redis.core.ConvertingCursor; -import org.springframework.data.redis.core.Cursor; -import org.springframework.data.redis.core.RedisCallback; -import org.springframework.data.redis.core.RedisConnectionUtils; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.data.redis.core.ScanOptions; +import org.springframework.data.redis.core.*; import org.springframework.data.redis.serializer.StringRedisSerializer; import org.springframework.stereotype.Component; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; + +import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/AnonTagUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/AnonTagUtil.java index 392d78a6..ba5c18f3 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/AnonTagUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/AnonTagUtil.java @@ -7,13 +7,8 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.mvc.method.RequestMappingInfo; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Set; + +import java.util.*; /** * 匿名标记工具 diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/BrowserUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/BrowserUtil.java index a6c875f4..e6834987 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/BrowserUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/BrowserUtil.java @@ -3,6 +3,7 @@ package cn.odboy.util; import cn.hutool.http.useragent.UserAgent; import cn.hutool.http.useragent.UserAgentUtil; import lombok.extern.slf4j.Slf4j; + import javax.servlet.http.HttpServletRequest; import java.net.InetAddress; import java.net.UnknownHostException; diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/Base64SecretUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/CsBase64SecretUtil.java similarity index 94% rename from cutejava/cutejava-common/src/main/java/cn/odboy/util/Base64SecretUtil.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/util/CsBase64SecretUtil.java index 29187b73..a2c996df 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/Base64SecretUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/CsBase64SecretUtil.java @@ -17,6 +17,7 @@ package cn.odboy.util; import cn.hutool.core.codec.Base64Encoder; import cn.hutool.core.util.IdUtil; + import java.nio.charset.StandardCharsets; /** @@ -25,8 +26,8 @@ import java.nio.charset.StandardCharsets; * @author odboy * @date 2022-11-16 */ -public final class Base64SecretUtil { - private Base64SecretUtil() { +public final class CsBase64SecretUtil { + private CsBase64SecretUtil() { } public static String build() { diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/CollUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/CsCollUtil.java similarity index 83% rename from cutejava/cutejava-common/src/main/java/cn/odboy/util/CollUtil.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/util/CsCollUtil.java index 343c183c..24efc85b 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/CollUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/CsCollUtil.java @@ -15,17 +15,13 @@ */ package cn.odboy.util; -import cn.odboy.base.MyMetaOption; +import cn.odboy.base.CsSelectOptionItemVo; import com.alibaba.fastjson2.JSON; + import java.lang.reflect.Field; import java.math.BigDecimal; import java.math.RoundingMode; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.function.Function; import java.util.function.Predicate; import java.util.stream.Collectors; @@ -36,7 +32,7 @@ import java.util.stream.Collectors; * @author odboy * @date 2022-11-09 */ -public final class CollUtil extends cn.hutool.core.collection.CollUtil { +public final class CsCollUtil extends cn.hutool.core.collection.CollUtil { private static Predicate distinctPredicate(Function keyMapper) { Map map = new HashMap<>(3); return (t) -> null == map.putIfAbsent(keyMapper.apply(t), true); @@ -108,7 +104,7 @@ public final class CollUtil extends cn.hutool.core.collection.CollUtil { * @return / */ public static Double streamDoubleAdd(List data) { - if (CollUtil.isNotEmpty(data)) { + if (CsCollUtil.isNotEmpty(data)) { return data.stream().filter(Objects::nonNull).reduce(Double::sum).orElse(0.0); } return 0.0; @@ -123,7 +119,7 @@ public final class CollUtil extends cn.hutool.core.collection.CollUtil { * @return / */ public static BigDecimal streamBigDecimalAdd(List data) { - if (CollUtil.isNotEmpty(data)) { + if (CsCollUtil.isNotEmpty(data)) { return data.stream().filter(Objects::nonNull).reduce(BigDecimal::add).orElse(BigDecimal.ZERO); } return BigDecimal.ZERO; @@ -199,25 +195,25 @@ public final class CollUtil extends cn.hutool.core.collection.CollUtil { } public static void main(String[] args) { - List testData = new ArrayList<>(); - MyMetaOption selectOption1 = MyMetaOption.builder().label("苹果").value("apple").build(); - MyMetaOption selectOption2 = MyMetaOption.builder().label("苹果").value("apple").build(); - MyMetaOption selectOption3 = MyMetaOption.builder().label("香蕉").value("banana").build(); - MyMetaOption selectOption4 = MyMetaOption.builder().label("猫").value("cat").build(); + List testData = new ArrayList<>(); + CsSelectOptionItemVo selectOption1 = CsSelectOptionItemVo.builder().label("苹果").value("apple").build(); + CsSelectOptionItemVo selectOption2 = CsSelectOptionItemVo.builder().label("苹果").value("apple").build(); + CsSelectOptionItemVo selectOption3 = CsSelectOptionItemVo.builder().label("香蕉").value("banana").build(); + CsSelectOptionItemVo selectOption4 = CsSelectOptionItemVo.builder().label("猫").value("cat").build(); testData.add(selectOption1); testData.add(selectOption2); testData.add(selectOption3); testData.add(selectOption4); - List selectOptions1 = CollUtil.streamAscSort(testData, MyMetaOption::getValue); + List selectOptions1 = CsCollUtil.streamAscSort(testData, CsSelectOptionItemVo::getValue); System.out.println(JSON.toJSONString(selectOptions1)); - List selectOptions2 = CollUtil.streamDescSort(testData, MyMetaOption::getValue); + List selectOptions2 = CsCollUtil.streamDescSort(testData, CsSelectOptionItemVo::getValue); System.out.println(JSON.toJSONString(selectOptions2)); - List selectOptions3 = CollUtil.streamDistinct(testData, MyMetaOption::getValue); + List selectOptions3 = CsCollUtil.streamDistinct(testData, CsSelectOptionItemVo::getValue); System.out.println(JSON.toJSONString(selectOptions3)); - Map selectMap1 = CollUtil.streamToMap(testData, MyMetaOption::getValue, MyMetaOption::getLabel); + Map selectMap1 = CsCollUtil.streamToMap(testData, CsSelectOptionItemVo::getValue, CsSelectOptionItemVo::getLabel); System.out.println(JSON.toJSONString(selectMap1)); // 这只是一个示范 - BigDecimal total1 = CollUtil.streamBigDecimalAdd(testData, "value"); + BigDecimal total1 = CsCollUtil.streamBigDecimalAdd(testData, "value"); System.out.println(total1); } } diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/DistributedIdUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/CsDistributedIdUtil.java similarity index 93% rename from cutejava/cutejava-common/src/main/java/cn/odboy/util/DistributedIdUtil.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/util/CsDistributedIdUtil.java index 1c6e66e2..c17883f3 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/DistributedIdUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/CsDistributedIdUtil.java @@ -8,7 +8,7 @@ import java.util.concurrent.atomic.AtomicLong; * @author odboy * @date 2025-04-05 */ -public final class DistributedIdUtil { +public final class CsDistributedIdUtil { /** * 起始毫秒时间戳,2020-12-30 */ @@ -73,7 +73,7 @@ public final class DistributedIdUtil { * 单例实例持有者类 */ private static class InstanceHolder { - private static final DistributedIdUtil INSTANCE = new DistributedIdUtil(20, 12, 5, 5, 12); + private static final CsDistributedIdUtil INSTANCE = new CsDistributedIdUtil(20, 12, 5, 5, 12); } /** @@ -85,7 +85,7 @@ public final class DistributedIdUtil { * @param workerIdBits 机器 ID 所占位数 * @param sequenceBits 序列号所占位数 */ - public DistributedIdUtil(long dataCenterId, long workerId, long dataCenterIdBits, long workerIdBits, long sequenceBits) { + public CsDistributedIdUtil(long dataCenterId, long workerId, long dataCenterIdBits, long workerIdBits, long sequenceBits) { this.dataCenterIdBits = dataCenterIdBits; this.workerIdBits = workerIdBits; this.sequenceBits = sequenceBits; @@ -176,7 +176,7 @@ public final class DistributedIdUtil { new Thread(() -> { long id = Thread.currentThread().getId(); for (int j = 0; j < 20; j++) { - System.out.println(id + " - " + DistributedIdUtil.fastNextId()); + System.out.println(id + " - " + CsDistributedIdUtil.fastNextId()); } }).start(); } diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/JsonUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/CsJsonUtil.java similarity index 87% rename from cutejava/cutejava-common/src/main/java/cn/odboy/util/JsonUtil.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/util/CsJsonUtil.java index 7924471b..ebf64d8e 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/JsonUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/CsJsonUtil.java @@ -17,6 +17,7 @@ package cn.odboy.util; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.TypeReference; + import java.util.List; import java.util.Map; @@ -26,7 +27,7 @@ import java.util.Map; * @author odboy * @date 2024-10-01 */ -public final class JsonUtil { +public final class CsJsonUtil { public static Map toMap(String jsonStr, Class kClass, Class vClass) { return JSON.parseObject(jsonStr, new TypeReference>() { }); @@ -39,8 +40,8 @@ public final class JsonUtil { public static void main(String[] args) { String mapStr = "{\"key1\":\"value1\", \"key2\":\"value2\"}"; - System.err.println(JsonUtil.toMap(mapStr, String.class, String.class)); + System.err.println(CsJsonUtil.toMap(mapStr, String.class, String.class)); String listStr = "[\"value1\", \"value2\"]"; - System.err.println(JsonUtil.toList(listStr, String.class)); + System.err.println(CsJsonUtil.toList(listStr, String.class)); } } diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/ListUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/CsListUtil.java similarity index 87% rename from cutejava/cutejava-common/src/main/java/cn/odboy/util/ListUtil.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/util/CsListUtil.java index 21166ba0..cb3d4e73 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/ListUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/CsListUtil.java @@ -16,7 +16,8 @@ package cn.odboy.util; import cn.hutool.core.date.DateTime; -import cn.odboy.base.MyEntity; +import cn.odboy.base.CsBaseUserTimeTb; + import java.util.ArrayList; import java.util.List; import java.util.function.Function; @@ -28,7 +29,7 @@ import java.util.stream.Collectors; * @author odboy * @date 2024-10-01 */ -public final class ListUtil { +public final class CsListUtil { /** * 根据对象T的属性去重 * @@ -48,10 +49,10 @@ public final class ListUtil { * list转map,保留旧值 -> Map userMap = users.stream().collect(Collectors.toMap(User::getName, user -> user, (existing, replacement) -> existing)); */ public static void main(String[] args) { - List entities = new ArrayList<>(); + List entities = new ArrayList<>(); int total = 50; for (int i = 0; i < total; i++) { - MyEntity entity = new MyEntity(); + CsBaseUserTimeTb entity = new CsBaseUserTimeTb(); if (i % 2 == 0) { entity.setCreateBy("odboy"); } else { @@ -62,7 +63,7 @@ public final class ListUtil { entity.setUpdateTime(DateTime.now().toTimestamp()); entities.add(entity); } - List entities1 = ListUtil.distinctByArgs(entities, MyEntity::getCreateBy); + List entities1 = CsListUtil.distinctByArgs(entities, CsBaseUserTimeTb::getCreateBy); System.err.println(entities1); } } diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/LogFmtUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/CsLogFmtUtil.java similarity index 97% rename from cutejava/cutejava-common/src/main/java/cn/odboy/util/LogFmtUtil.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/util/CsLogFmtUtil.java index d7f66498..b40bd176 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/LogFmtUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/CsLogFmtUtil.java @@ -21,7 +21,7 @@ package cn.odboy.util; * @author odboy * @date 2025-01-13 */ -public final class LogFmtUtil { +public final class CsLogFmtUtil { /** * 替换字符串中的占位符 {} 为传入的参数 * diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/ValidationUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/CsValidUtil.java similarity index 97% rename from cutejava/cutejava-common/src/main/java/cn/odboy/util/ValidationUtil.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/util/CsValidUtil.java index 97002c2b..889789ca 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/ValidationUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/CsValidUtil.java @@ -27,7 +27,7 @@ import java.util.Set; * @author odboy * @date 2025-01-15 */ -public final class ValidationUtil { +public final class CsValidUtil { private static final Validator VALIDATOR = Validation.buildDefaultValidatorFactory().getValidator(); public static void validate(T object) { diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/FileUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/FileUtil.java index c8f6d589..1d34037e 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/FileUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/FileUtil.java @@ -11,14 +11,11 @@ import lombok.extern.slf4j.Slf4j; import org.apache.poi.util.IOUtils; import org.apache.poi.xssf.streaming.SXSSFSheet; import org.springframework.web.multipart.MultipartFile; + import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; +import java.io.*; import java.nio.file.Files; import java.security.MessageDigest; import java.text.DecimalFormat; @@ -28,10 +25,8 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; -import static cn.odboy.constant.SystemConst.SYMBOL_ADD; -import static cn.odboy.constant.SystemConst.SYMBOL_AT; -import static cn.odboy.constant.SystemConst.SYMBOL_EQUAL; -import static cn.odboy.constant.SystemConst.SYMBOL_SUBTRACT; + +import static cn.odboy.constant.SystemConst.*; /** * File工具类,扩展 hutool 工具包 diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/IpUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/IpUtil.java index f7dd3b77..4435330b 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/IpUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/IpUtil.java @@ -3,6 +3,7 @@ package cn.odboy.util; import cn.odboy.context.SpringBeanHolder; import net.dreamlu.mica.ip2region.core.Ip2regionSearcher; import net.dreamlu.mica.ip2region.core.IpInfo; + import java.net.InetAddress; import java.net.NetworkInterface; import java.util.Enumeration; diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/PageUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/PageUtil.java index 95f25c6e..fe8a6caa 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/PageUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/PageUtil.java @@ -1,14 +1,18 @@ package cn.odboy.util; -import cn.odboy.base.PageResult; +import cn.odboy.base.CsResultVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * 分页工具 + * + * @author odboy */ public final class PageUtil extends cn.hutool.core.util.PageUtil { @@ -31,32 +35,39 @@ public final class PageUtil extends cn.hutool.core.util.PageUtil { /** * Page 数据处理 */ - public static PageResult toPage(IPage page) { - return new PageResult<>(page.getRecords(), page.getTotal()); + public static CsResultVo> toPage(IPage page) { + return new CsResultVo<>(page.getRecords(), page.getTotal()); } /** * 自定义分页 */ - public static PageResult toPage(List list) { - return new PageResult<>(list, list.size()); + public static CsResultVo> toPage(List list) { + return new CsResultVo<>(list, list.size()); } /** * 返回空数据 */ - public static PageResult noData() { - return new PageResult<>(null, 0); + public static CsResultVo> emptyListData() { + return new CsResultVo<>(new ArrayList<>(), 0); + } + + /** + * 返回空数据 + */ + public static CsResultVo emptyData() { + return new CsResultVo<>(null, 0); } /** * 自定义分页 */ - public static PageResult toPage(List list, long totalElements) { - return new PageResult<>(list, totalElements); + public static CsResultVo> toPage(List list, long totalElements) { + return new CsResultVo<>(list, totalElements); } - public static Page getCount(BaseMapper baseMapper) { + public static Page getCount(BaseMapper baseMapper) { return new Page<>(1, baseMapper.selectCount(null)); } } diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/RsaEncryptUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/RsaEncryptUtil.java index 254221ee..1a12604c 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/RsaEncryptUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/RsaEncryptUtil.java @@ -1,14 +1,10 @@ package cn.odboy.util; import org.apache.commons.codec.binary.Base64; + import javax.crypto.Cipher; import java.io.ByteArrayOutputStream; -import java.security.KeyFactory; -import java.security.KeyPair; -import java.security.KeyPairGenerator; -import java.security.NoSuchAlgorithmException; -import java.security.PrivateKey; -import java.security.PublicKey; +import java.security.*; import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPublicKey; import java.security.spec.PKCS8EncodedKeySpec; diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/StringUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/StringUtil.java index 13d13575..91f6f55e 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/StringUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/StringUtil.java @@ -1,6 +1,7 @@ package cn.odboy.util; import lombok.extern.slf4j.Slf4j; + import java.util.Calendar; import java.util.Date; diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/config/WebSocketServerFactory.java b/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/config/CsWebSocketServerFactory.java similarity index 90% rename from cutejava/cutejava-common/src/main/java/cn/odboy/websocket/config/WebSocketServerFactory.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/websocket/config/CsWebSocketServerFactory.java index 716ff226..a33f0040 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/config/WebSocketServerFactory.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/config/CsWebSocketServerFactory.java @@ -13,7 +13,7 @@ import org.springframework.stereotype.Component; * @date 2024-06-07 */ @Component -public class WebSocketServerFactory implements WebServerFactoryCustomizer { +public class CsWebSocketServerFactory implements WebServerFactoryCustomizer { @Override public void customize(UndertowServletWebServerFactory factory) { diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/constant/WebSocketMessageBizTypeEnum.java b/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/constant/CsWebSocketBizTypeEnum.java similarity index 82% rename from cutejava/cutejava-common/src/main/java/cn/odboy/websocket/constant/WebSocketMessageBizTypeEnum.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/websocket/constant/CsWebSocketBizTypeEnum.java index 85ba57ae..a0a1e67b 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/constant/WebSocketMessageBizTypeEnum.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/constant/CsWebSocketBizTypeEnum.java @@ -1,7 +1,7 @@ package cn.odboy.websocket.constant; -public enum WebSocketMessageBizTypeEnum { +public enum CsWebSocketBizTypeEnum { /** * 连接 */ diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/context/WebSocketClientManager.java b/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/context/CsWebSocketClientManager.java similarity index 95% rename from cutejava/cutejava-common/src/main/java/cn/odboy/websocket/context/WebSocketClientManager.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/websocket/context/CsWebSocketClientManager.java index ee389d83..c047ef9b 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/context/WebSocketClientManager.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/context/CsWebSocketClientManager.java @@ -4,7 +4,7 @@ import java.util.Collection; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -public class WebSocketClientManager { +public class CsWebSocketClientManager { /** * concurrent包的线程安全Map,用来存放每个客户端对应的MyWebSocket对象。(分布式必出问题) */ diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/context/CsWebSocketMessage.java b/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/context/CsWebSocketMessage.java new file mode 100644 index 00000000..e9db700b --- /dev/null +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/context/CsWebSocketMessage.java @@ -0,0 +1,15 @@ +package cn.odboy.websocket.context; + +import cn.odboy.websocket.constant.CsWebSocketBizTypeEnum; +import lombok.Data; + +@Data +public class CsWebSocketMessage { + private String message; + private CsWebSocketBizTypeEnum bizType; + + public CsWebSocketMessage(String message, CsWebSocketBizTypeEnum bizType) { + this.message = message; + this.bizType = bizType; + } +} diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/context/WebSocketServer.java b/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/context/WebSocketServer.java index e24a474f..4f098dc4 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/context/WebSocketServer.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/context/WebSocketServer.java @@ -1,14 +1,10 @@ package cn.odboy.websocket.context; -import cn.odboy.websocket.dto.WebSocketMessageDto; import com.alibaba.fastjson2.JSON; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; -import javax.websocket.OnClose; -import javax.websocket.OnError; -import javax.websocket.OnMessage; -import javax.websocket.OnOpen; -import javax.websocket.Session; + +import javax.websocket.*; import javax.websocket.server.PathParam; import javax.websocket.server.ServerEndpoint; import java.io.IOException; @@ -35,7 +31,7 @@ public class WebSocketServer { public void onOpen(Session session, @PathParam("sid") String sid) { this.session = session; this.sid = sid; - WebSocketClientManager.addClient(sid, this); + CsWebSocketClientManager.addClient(sid, this); } /** @@ -43,7 +39,7 @@ public class WebSocketServer { */ @OnClose public void onClose() { - WebSocketClientManager.removeClient(this.sid); + CsWebSocketClientManager.removeClient(this.sid); } /** @@ -63,7 +59,7 @@ public class WebSocketServer { * @param message / */ private static void sendToAll(String message) { - for (WebSocketServer item : WebSocketClientManager.getAllClient()) { + for (WebSocketServer item : CsWebSocketClientManager.getAllClient()) { try { item.innerSendMessage(message); } catch (IOException e) { @@ -88,14 +84,14 @@ public class WebSocketServer { /** * 群发自定义消息 */ - public static void sendMessage(WebSocketMessageDto webSocketMessageDto, @PathParam("sid") String sid) throws IOException { - String message = JSON.toJSONString(webSocketMessageDto); + public static void sendMessage(CsWebSocketMessage webSocketMessage, @PathParam("sid") String sid) throws IOException { + String message = JSON.toJSONString(webSocketMessage); log.info("推送消息到{},推送内容:{}", sid, message); try { if (sid == null) { sendToAll(message); } else { - WebSocketClientManager.getClientBySid(sid).innerSendMessage(message); + CsWebSocketClientManager.getClientBySid(sid).innerSendMessage(message); } } catch (IOException ignored) { } diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/dto/WebSocketMessageDto.java b/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/dto/WebSocketMessageDto.java deleted file mode 100644 index e2b38759..00000000 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/dto/WebSocketMessageDto.java +++ /dev/null @@ -1,15 +0,0 @@ -package cn.odboy.websocket.dto; - -import cn.odboy.websocket.constant.WebSocketMessageBizTypeEnum; -import lombok.Data; - -@Data -public class WebSocketMessageDto { - private String message; - private WebSocketMessageBizTypeEnum bizType; - - public WebSocketMessageDto(String message, WebSocketMessageBizTypeEnum bizType) { - this.message = message; - this.bizType = bizType; - } -} diff --git a/cutejava/cutejava-starter/pom.xml b/cutejava/cutejava-starter/pom.xml index 46ed0331..4b14f19b 100644 --- a/cutejava/cutejava-starter/pom.xml +++ b/cutejava/cutejava-starter/pom.xml @@ -4,7 +4,7 @@ cutejava cn.odboy - 1.3.1 + 1.4.0 4.0.0 @@ -15,7 +15,7 @@ cn.odboy cutejava-system - 1.3.1 + 1.4.0 diff --git a/cutejava/cutejava-starter/src/main/java/cn/odboy/AppRun.java b/cutejava/cutejava-starter/src/main/java/cn/odboy/AppRun.java index e913a5c4..e611ecd9 100644 --- a/cutejava/cutejava-starter/src/main/java/cn/odboy/AppRun.java +++ b/cutejava/cutejava-starter/src/main/java/cn/odboy/AppRun.java @@ -1,19 +1,20 @@ package cn.odboy; import cn.odboy.annotation.AnonymousGetMapping; -import cn.odboy.context.BootApplication; +import cn.odboy.context.CsBootApplication; import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RestController; + import java.net.UnknownHostException; @Slf4j @RestController @Api(hidden = true) @SpringBootApplication -public class AppRun extends BootApplication { +public class AppRun extends CsBootApplication { public static void main(String[] args) throws UnknownHostException { SpringApplication springApplication = new SpringApplication(AppRun.class); diff --git a/cutejava/cutejava-starter/src/main/java/cn/odboy/GenCode.java b/cutejava/cutejava-starter/src/main/java/cn/odboy/GenCode.java index b962212e..f3fe4cc2 100644 --- a/cutejava/cutejava-starter/src/main/java/cn/odboy/GenCode.java +++ b/cutejava/cutejava-starter/src/main/java/cn/odboy/GenCode.java @@ -1,7 +1,8 @@ package cn.odboy; -import cn.odboy.core.framework.mybatisplus.util.CmdGenHelper; +import cn.odboy.core.framework.mybatisplus.core.CsMpCmdGenUtil; + import java.util.List; /** @@ -11,7 +12,7 @@ import java.util.List; */ public class GenCode { public static void main(String[] args) { - CmdGenHelper generator = new CmdGenHelper(); + CsMpCmdGenUtil generator = new CsMpCmdGenUtil(); generator.setDatabaseUrl(String.format("jdbc:mysql://%s:%s/%s", "localhost", 3306, "cutejava20250321")); generator.setDriverClassName("com.mysql.cj.jdbc.Driver"); generator.setDatabaseUsername("root"); @@ -19,7 +20,7 @@ public class GenCode { genCareer(generator); } - private static void genCareer(CmdGenHelper generator) { + private static void genCareer(CsMpCmdGenUtil generator) { generator.gen("tool_", List.of( // "tool_qiniu_content", )); diff --git a/cutejava/cutejava-starter/src/main/java/cn/odboy/monitor/HealthCheckPointerImpl.java b/cutejava/cutejava-starter/src/main/java/cn/odboy/monitor/HealthCheckPointerImpl.java index 7cddce0f..ee73853a 100644 --- a/cutejava/cutejava-starter/src/main/java/cn/odboy/monitor/HealthCheckPointerImpl.java +++ b/cutejava/cutejava-starter/src/main/java/cn/odboy/monitor/HealthCheckPointerImpl.java @@ -1,13 +1,13 @@ package cn.odboy.monitor; import cn.odboy.core.service.system.SystemDictService; -import cn.odboy.monitor.service.HealthCheckPointService; +import cn.odboy.monitor.service.CsHealthCheckPointService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; @Component -public class HealthCheckPointerImpl implements HealthCheckPointService { +public class HealthCheckPointerImpl implements CsHealthCheckPointService { @Autowired private SystemDictService systemDictService; diff --git a/cutejava/cutejava-starter/src/main/resources/application-dev.yml b/cutejava/cutejava-starter/src/main/resources/application-dev.yml index 765e7d6a..7152cf17 100644 --- a/cutejava/cutejava-starter/src/main/resources/application-dev.yml +++ b/cutejava/cutejava-starter/src/main/resources/application-dev.yml @@ -6,10 +6,10 @@ server: undertow: threads: # 工作线程数,默认设置为io-threads * 8。如果你的应用程序有很多同步阻塞操作,可以适当增加这个值 - worker: 4 + worker: 8 # 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程 # 阻塞任务线程池, 当执行类似servlet请求阻塞操作, undertow会从这个线程池中取得线程,它的值设置取决于系统的负载 - io: 2 + io: 4 # 设置为true以使用直接内存(堆外内存)来存储缓冲区。这可以减少垃圾回收的开销。 direct-buffers: true # 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理 @@ -54,9 +54,9 @@ spring: druid: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.p6spy.engine.spy.P6SpyDriver - url: jdbc:p6spy:mysql://127.0.0.1:3306/cutejava20250321?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false + url: jdbc:p6spy:mysql://127.0.0.1:3306/cutejava?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false username: root - password: 123456 + password: root123456 # 初始连接数,建议设置为与最小空闲连接数相同 initial-size: 2 # 最小空闲连接数,保持足够的空闲连接以应对请求 @@ -111,7 +111,7 @@ spring: database: ${REDIS_DB:1} host: ${REDIS_HOST:127.0.0.1} port: ${REDIS_PORT:6379} - password: ${REDIS_PWD:123456} + password: ${REDIS_PWD:root123456} # 连接超时时间 timeout: 5000 # 连接池配置 @@ -125,7 +125,6 @@ spring: max-idle: 20 # 连接池中的最小空闲连接数 min-idle: 1 -# 持久层 mybatis-plus: configuration: # 开启 Mybatis 二级缓存,默认为 true @@ -218,6 +217,15 @@ app: keep-alive-seconds: 60 # 队列容量 queue-capacity: 50 + pipeline-task-pool: + # 核心线程池大小 + core-pool-size: 10 + # 最大线程数 + max-pool-size: 200 + # 活跃时间 + keep-alive-seconds: 60 + # 队列容量 + queue-capacity: 300 # oss oss: # 七牛云 @@ -228,7 +236,6 @@ app: captchaSetting: # 邮箱验证码有效时间/秒 expiration: 300 - ## 启用debug #debug: true #logging: diff --git a/cutejava/cutejava-starter/src/main/resources/application-prod.yml b/cutejava/cutejava-starter/src/main/resources/application-prod.yml index 21d016fa..7152cf17 100644 --- a/cutejava/cutejava-starter/src/main/resources/application-prod.yml +++ b/cutejava/cutejava-starter/src/main/resources/application-prod.yml @@ -6,10 +6,10 @@ server: undertow: threads: # 工作线程数,默认设置为io-threads * 8。如果你的应用程序有很多同步阻塞操作,可以适当增加这个值 - worker: 4 + worker: 8 # 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程 # 阻塞任务线程池, 当执行类似servlet请求阻塞操作, undertow会从这个线程池中取得线程,它的值设置取决于系统的负载 - io: 2 + io: 4 # 设置为true以使用直接内存(堆外内存)来存储缓冲区。这可以减少垃圾回收的开销。 direct-buffers: true # 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理 @@ -54,9 +54,9 @@ spring: druid: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.p6spy.engine.spy.P6SpyDriver - url: jdbc:p6spy:mysql://127.0.0.1:3306/cutejava20250321?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false + url: jdbc:p6spy:mysql://127.0.0.1:3306/cutejava?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false username: root - password: 123456 + password: root123456 # 初始连接数,建议设置为与最小空闲连接数相同 initial-size: 2 # 最小空闲连接数,保持足够的空闲连接以应对请求 @@ -111,7 +111,7 @@ spring: database: ${REDIS_DB:1} host: ${REDIS_HOST:127.0.0.1} port: ${REDIS_PORT:6379} - password: ${REDIS_PWD:123456} + password: ${REDIS_PWD:root123456} # 连接超时时间 timeout: 5000 # 连接池配置 @@ -125,7 +125,6 @@ spring: max-idle: 20 # 连接池中的最小空闲连接数 min-idle: 1 -# 持久层 mybatis-plus: configuration: # 开启 Mybatis 二级缓存,默认为 true @@ -188,7 +187,7 @@ app: # 登录 login: # 是否限制单用户登录 - single: true + single: false # 验证码 captchaSetting: # 验证码类型配置 查看 LoginProperties 类 @@ -207,7 +206,7 @@ app: font-size: 25 # 是否开启 swagger-ui swagger: - enabled: false + enabled: true # 针对@Async async-task-pool: # 核心线程池大小 @@ -218,6 +217,15 @@ app: keep-alive-seconds: 60 # 队列容量 queue-capacity: 50 + pipeline-task-pool: + # 核心线程池大小 + core-pool-size: 10 + # 最大线程数 + max-pool-size: 200 + # 活跃时间 + keep-alive-seconds: 60 + # 队列容量 + queue-capacity: 300 # oss oss: # 七牛云 @@ -228,3 +236,8 @@ app: captchaSetting: # 邮箱验证码有效时间/秒 expiration: 300 +## 启用debug +#debug: true +#logging: +# level: +# root: debug diff --git a/cutejava/cutejava-starter/src/main/resources/application-quartz.yml b/cutejava/cutejava-starter/src/main/resources/application-quartz.yml index ce8be804..3edca402 100644 --- a/cutejava/cutejava-starter/src/main/resources/application-quartz.yml +++ b/cutejava/cutejava-starter/src/main/resources/application-quartz.yml @@ -1,31 +1,42 @@ # 配置 quartz 分布式支持, sql 文件在 sql 目录下,需要导入到数据库,并且需要修改 application.yml 文件的 active: dev 配置 spring: + # Quartz集群, 数据库表名称一定要不区分大小写! quartz: - # Quartz集群, 数据库表名称一定要不区分大小写! + # 必需,指定使用 JDBC 存储 job-store-type: jdbc properties: org: quartz: scheduler: + # 必需,指定调度器实例的名称 instanceName: ClusteredScheduler + # 必需,指定调度器实例的 ID instanceId: AUTO - jobStore: - class: org.quartz.impl.jdbcjobstore.JobStoreTX - driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate - tablePrefix: QRTZ_ - isClustered: true - clusterCheckinInterval: 20000 - useProperties: false - dataSource: myDS threadPool: class: org.quartz.simpl.SimpleThreadPool + # 可选,线程池的线程数量,可以根据需要调整 threadCount: 10 threadsInheritContextClassLoaderOfInitializingThread: true dataSource: - myDS: + jobStoreDataSource: driver: com.mysql.cj.jdbc.Driver - URL: jdbc:mysql://127.0.0.1:3306/cutejava20250321?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false + URL: jdbc:mysql://127.0.0.1:3306/cutejava?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false user: root - password: 123456 - maxConnections: 5 - validationQuery: select 1 \ No newline at end of file + password: root123456 + maxConnections: 10 + validationQuery: select 1 + jobStore: + # 可选,如果你不需要集群,可以去掉 + isClustered: true + # 可选,集群检查间隔时间,可以根据需要调整 + clusterCheckinInterval: 10000 + # class: org.quartz.impl.jdbcjobstore.JobStoreTX + # 必需,指定 JDBC 驱动代理类 + driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate + # 可选,是否使用属性存储,可以根据需要调整 + useProperties: false + # 必需,指定表的前缀 + tablePrefix: QRTZ_ + # 可选,指定误触发阈值,可以根据需要调整 + misfireThreshold: 60000 + dataSource: jobStoreDataSource \ No newline at end of file diff --git a/cutejava/cutejava-starter/src/main/resources/banner.txt b/cutejava/cutejava-starter/src/main/resources/banner.txt index 2e6525ba..cee7a60c 100644 --- a/cutejava/cutejava-starter/src/main/resources/banner.txt +++ b/cutejava/cutejava-starter/src/main/resources/banner.txt @@ -5,4 +5,4 @@ | |___ | |_| | | | | |___ | |_| | / / | | | |/ / / / | | \_____| \_____/ |_| |_____| \_____/ /_/ |_| |___/ /_/ |_| -Spring Boot Version: (${spring-boot.version}),CuteJava Version: (1.3.0) \ No newline at end of file +Spring Boot Version: (${spring-boot.version}),CuteJava Version: (1.4.0) \ No newline at end of file diff --git a/cutejava/cutejava-starter/src/main/resources/spy.properties b/cutejava/cutejava-starter/src/main/resources/spy.properties index ffb1aca7..702b9b07 100644 --- a/cutejava/cutejava-starter/src/main/resources/spy.properties +++ b/cutejava/cutejava-starter/src/main/resources/spy.properties @@ -1,7 +1,7 @@ # 应用的拦截模块 modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory # 自定义日志打印 -logMessageFormat=cn.odboy.core.framework.mybatisplus.context.CustomP6SpyLogger +logMessageFormat=cn.odboy.core.framework.mybatisplus.config.MpCustomP6SpyLogger # 日志输出到控制台 appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger # 日期格式 diff --git a/cutejava/cutejava-starter/src/test/java/cn/odboy/util/DesEncryptUtilTest.java b/cutejava/cutejava-starter/src/test/java/cn/odboy/util/DesEncryptUtilTest.java index d1c82480..eabc2f27 100644 --- a/cutejava/cutejava-starter/src/test/java/cn/odboy/util/DesEncryptUtilTest.java +++ b/cutejava/cutejava-starter/src/test/java/cn/odboy/util/DesEncryptUtilTest.java @@ -2,6 +2,7 @@ package cn.odboy.util; import lombok.SneakyThrows; import org.junit.jupiter.api.Test; + import static cn.odboy.util.DesEncryptUtil.desDecrypt; import static cn.odboy.util.DesEncryptUtil.desEncrypt; import static org.junit.jupiter.api.Assertions.assertEquals; diff --git a/cutejava/cutejava-starter/src/test/java/cn/odboy/util/FileUtilTest.java b/cutejava/cutejava-starter/src/test/java/cn/odboy/util/FileUtilTest.java index 7d145154..5b52e4bb 100644 --- a/cutejava/cutejava-starter/src/test/java/cn/odboy/util/FileUtilTest.java +++ b/cutejava/cutejava-starter/src/test/java/cn/odboy/util/FileUtilTest.java @@ -2,10 +2,8 @@ package cn.odboy.util; import org.junit.jupiter.api.Test; import org.springframework.mock.web.MockMultipartFile; -import static cn.odboy.util.FileUtil.getPrefix; -import static cn.odboy.util.FileUtil.getSize; -import static cn.odboy.util.FileUtil.getSuffix; -import static cn.odboy.util.FileUtil.toFile; + +import static cn.odboy.util.FileUtil.*; import static org.junit.jupiter.api.Assertions.assertEquals; public class FileUtilTest { diff --git a/cutejava/cutejava-starter/src/test/java/cn/odboy/util/PipelineTests.java b/cutejava/cutejava-starter/src/test/java/cn/odboy/util/PipelineTests.java index 16fe20a4..71ae98c8 100644 --- a/cutejava/cutejava-starter/src/test/java/cn/odboy/util/PipelineTests.java +++ b/cutejava/cutejava-starter/src/test/java/cn/odboy/util/PipelineTests.java @@ -1,7 +1,7 @@ package cn.odboy.util; -import cn.odboy.core.framework.flow.context.PipelineManager; -import cn.odboy.core.framework.flow.context.PipelineProcessManager; +import cn.odboy.core.framework.flow.core.PipelineManager; +import cn.odboy.core.framework.flow.core.PipelineProcessManager; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; diff --git a/cutejava/cutejava-starter/src/test/java/cn/odboy/util/StringUtilTest.java b/cutejava/cutejava-starter/src/test/java/cn/odboy/util/StringUtilTest.java index e83e9a44..3746cb84 100644 --- a/cutejava/cutejava-starter/src/test/java/cn/odboy/util/StringUtilTest.java +++ b/cutejava/cutejava-starter/src/test/java/cn/odboy/util/StringUtilTest.java @@ -2,12 +2,11 @@ package cn.odboy.util; import org.junit.jupiter.api.Test; import org.springframework.mock.web.MockHttpServletRequest; + import java.text.SimpleDateFormat; import java.util.Date; -import static cn.odboy.util.StringUtil.getWeekDay; -import static cn.odboy.util.StringUtil.toCamelCase; -import static cn.odboy.util.StringUtil.toCapitalizeCamelCase; -import static cn.odboy.util.StringUtil.toUnderScoreCase; + +import static cn.odboy.util.StringUtil.*; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; diff --git a/cutejava/cutejava-starter/src/test/java/cn/odboy/util/pipeline/PipelineTests.java b/cutejava/cutejava-starter/src/test/java/cn/odboy/util/pipeline/PipelineTests.java index 87eb5799..2e1fdb64 100644 --- a/cutejava/cutejava-starter/src/test/java/cn/odboy/util/pipeline/PipelineTests.java +++ b/cutejava/cutejava-starter/src/test/java/cn/odboy/util/pipeline/PipelineTests.java @@ -4,7 +4,7 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.RandomUtil; -import cn.odboy.base.MyObject; +import cn.odboy.base.CsSerializeObject; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.Setter; @@ -22,7 +22,7 @@ import java.util.Map; public class PipelineTests { @Getter @Setter - public static class PipelineNodeVo extends MyObject { + public static class PipelineNodeVo extends CsSerializeObject { /** * Service Code */ @@ -65,7 +65,7 @@ public class PipelineTests { private List buttonList; @Getter - public static class ButtonVo extends MyObject { + public static class ButtonVo extends CsSerializeObject { /** * 按钮类型(get:带参get请求 link:带参跳转) */ diff --git a/cutejava/cutejava-system/pom.xml b/cutejava/cutejava-system/pom.xml index 23490ab9..657860c3 100644 --- a/cutejava/cutejava-system/pom.xml +++ b/cutejava/cutejava-system/pom.xml @@ -4,7 +4,7 @@ cutejava cn.odboy - 1.3.1 + 1.4.0 4.0.0 @@ -23,7 +23,7 @@ cn.odboy cutejava-common - 1.3.1 + 1.4.0 @@ -62,14 +62,14 @@ 6.6.5 - + javax.mail mail ${mail.version} - + com.qiniu qiniu-java-sdk @@ -80,10 +80,16 @@ org.springframework.boot spring-boot-starter-quartz + + + org.quartz-scheduler + quartz + + org.quartz-scheduler - quartz-jobs + quartz 2.5.0 diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemDataApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemDataApi.java deleted file mode 100644 index eb37bb7c..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemDataApi.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.odboy.core.api.system; - - -import cn.odboy.core.dal.dataobject.system.User; -import java.util.List; - -/** - * 数据权限服务类 - */ -public interface SystemDataApi { - - /** - * 获取数据权限 - * - * @param user / - * @return / - */ - List describeDeptIdListByUserIdWithDeptId(User user); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemDeptApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemDeptApi.java deleted file mode 100644 index 73ba7677..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemDeptApi.java +++ /dev/null @@ -1,93 +0,0 @@ -package cn.odboy.core.api.system; - -import cn.odboy.base.BaseResult; -import cn.odboy.core.dal.dataobject.system.Dept; -import cn.odboy.core.service.system.dto.QueryDeptRequest; -import java.util.List; -import java.util.Set; - -public interface SystemDeptApi { - - /** - * 查询所有数据 - * - * @param criteria 条件 - * @param isQuery / - * @return / - * @throws Exception / - */ - List describeDeptList(QueryDeptRequest criteria, Boolean isQuery) throws Exception; - - /** - * 根据ID查询 - * - * @param id / - * @return / - */ - Dept describeDeptById(Long id); - - /** - * 根据PID查询 - * - * @param pid / - * @return / - */ - List describeDeptListByPid(long pid); - - /** - * 根据角色ID查询 - * - * @param id / - * @return / - */ - Set describeDeptByRoleId(Long id); - - /** - * 获取部门下所有关联的部门 - * - * @param deptList / - * @param depts / - * @return / - */ - Set describeRelationDeptSet(List deptList, Set depts); - - /** - * 根据ID获取同级与上级数据 - * - * @param dept / - * @param depts / - * @return / - */ - List describeSuperiorDeptListByPid(Dept dept, List depts); - - /** - * 构建树形数据 - * - * @param depts / - * @return / - */ - BaseResult buildDeptTree(List depts); - - /** - * 获取 - * - * @param deptList 、 - * @return 、 - */ - List describeChildDeptIdListByDeptIds(List deptList); - - /** - * 验证是否被角色或用户关联 - * - * @param depts / - */ - void verifyBindRelationByIds(Set depts); - - /** - * 遍历所有部门和子部门 - * - * @param ids / - * @param depts / - */ - void traverseDeptByIdWithPids(Set ids, Set depts); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemDictApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemDictApi.java deleted file mode 100644 index 6f49c0c1..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemDictApi.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.odboy.core.api.system; - -import cn.odboy.base.PageResult; -import cn.odboy.core.dal.dataobject.system.Dict; -import cn.odboy.core.service.system.dto.QueryDictRequest; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import java.util.List; - -public interface SystemDictApi { - /** - * 分页查询 - * - * @param criteria 条件 - * @param page 分页参数 - * @return / - */ - PageResult describeDictPage(QueryDictRequest criteria, Page page); - - /** - * 查询全部数据 - * - * @param criteria / - * @return / - */ - List describeDictList(QueryDictRequest criteria); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemDictDetailApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemDictDetailApi.java deleted file mode 100644 index 2d1a9ed4..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemDictDetailApi.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.odboy.core.api.system; - -import cn.odboy.base.PageResult; -import cn.odboy.core.dal.dataobject.system.DictDetail; -import cn.odboy.core.service.system.dto.QueryDictDetailRequest; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import java.util.List; - -public interface SystemDictDetailApi { - /** - * 分页查询 - * - * @param criteria 条件 - * @param page 分页参数 - * @return / - */ - PageResult describeDictDetailPage(QueryDictDetailRequest criteria, Page page); - - /** - * 根据字典名称获取字典详情 - * - * @param name 字典名称 - * @return / - */ - List describeDictDetailListByName(String name); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemQuartzJobApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemQuartzJobApi.java deleted file mode 100644 index 1b957e11..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemQuartzJobApi.java +++ /dev/null @@ -1,44 +0,0 @@ -package cn.odboy.core.api.system; - -import cn.odboy.base.PageResult; -import cn.odboy.core.dal.dataobject.job.QuartzJob; -import cn.odboy.core.dal.dataobject.job.QuartzLog; -import cn.odboy.core.service.system.dto.QueryQuartzJobRequest; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import java.util.List; - -public interface SystemQuartzJobApi { - /** - * 分页查询 - * - * @param criteria 条件 - * @param page 分页参数 - * @return / - */ - PageResult describeQuartzJobPage(QueryQuartzJobRequest criteria, Page page); - - /** - * 查询全部 - * - * @param criteria 条件 - * @return / - */ - List describeQuartzJobList(QueryQuartzJobRequest criteria); - - /** - * 分页查询日志 - * - * @param criteria 条件 - * @param page 分页参数 - * @return / - */ - PageResult describeQuartzLogPage(QueryQuartzJobRequest criteria, Page page); - - /** - * 查询全部 - * - * @param criteria 条件 - * @return / - */ - List describeQuartzLogList(QueryQuartzJobRequest criteria); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemDeptApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemDeptApiImpl.java deleted file mode 100644 index 99fc013b..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemDeptApiImpl.java +++ /dev/null @@ -1,206 +0,0 @@ -package cn.odboy.core.api.system.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.odboy.base.BaseResult; -import cn.odboy.core.api.system.SystemDeptApi; -import cn.odboy.core.constant.DataScopeEnum; -import cn.odboy.core.constant.SystemRedisKey; -import cn.odboy.core.dal.dataobject.system.Dept; -import cn.odboy.core.dal.mysql.system.DeptMapper; -import cn.odboy.core.dal.mysql.system.RoleMapper; -import cn.odboy.core.dal.mysql.system.UserMapper; -import cn.odboy.core.framework.permission.util.SecurityHelper; -import cn.odboy.core.service.system.dto.QueryDeptRequest; -import cn.odboy.exception.BadRequestException; -import cn.odboy.redis.RedisHelper; -import cn.odboy.util.ClassUtil; -import cn.odboy.util.StringUtil; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - -@Service -@RequiredArgsConstructor -public class SystemDeptApiImpl implements SystemDeptApi { - private final DeptMapper deptMapper; - private final RoleMapper roleMapper; - private final UserMapper userMapper; - private final RedisHelper redisHelper; - - /** - * 筛选出 list 中没有父部门(即 pid 不在其他部门 id 列表中的部门)的部门列表 - */ - private List deduplication(List list) { - List deptList = new ArrayList<>(); - // 使用 Set 存储所有部门的 id - Set idSet = list.stream().map(Dept::getId).collect(Collectors.toSet()); - // 遍历部门列表,筛选出没有父部门的部门 - for (Dept dept : list) { - if (!idSet.contains(dept.getPid())) { - deptList.add(dept); - } - } - return deptList; - } - - @Override - public List describeDeptList(QueryDeptRequest criteria, Boolean isQuery) throws Exception { - String dataScopeType = SecurityHelper.getDataScopeType(); - if (isQuery) { - if (dataScopeType.equals(DataScopeEnum.ALL.getValue())) { - criteria.setPidIsNull(true); - } - List fields = ClassUtil.getAllFields(criteria.getClass(), new ArrayList<>()); - List fieldNames = new ArrayList<>() {{ - add("pidIsNull"); - add("enabled"); - }}; - for (Field field : fields) { - // 设置对象的访问权限,保证对private的属性的访问 - field.setAccessible(true); - Object val = field.get(criteria); - if (fieldNames.contains(field.getName())) { - continue; - } - if (ObjectUtil.isNotNull(val)) { - criteria.setPidIsNull(null); - break; - } - } - } - // 数据权限 - criteria.setIds(SecurityHelper.getCurrentUserDataScope()); - List list = deptMapper.queryDeptListByArgs(criteria); - // 如果为空,就代表为自定义权限或者本级权限,就需要去重,不理解可以注释掉,看查询结果 - if (StringUtil.isBlank(dataScopeType)) { - return deduplication(list); - } - return list; - } - - @Override - public Dept describeDeptById(Long id) { - String key = SystemRedisKey.DEPT_ID + id; - Dept dept = redisHelper.get(key, Dept.class); - if (dept == null) { - dept = deptMapper.selectById(id); - redisHelper.set(key, dept, 1, TimeUnit.DAYS); - } - return dept; - } - - @Override - public List describeDeptListByPid(long pid) { - return deptMapper.queryDeptListByPid(pid); - } - - @Override - public Set describeDeptByRoleId(Long id) { - return deptMapper.queryDeptSetByRoleId(id); - } - - @Override - public Set describeRelationDeptSet(List menuList, Set deptSet) { - for (Dept dept : menuList) { - deptSet.add(dept); - List deptList = deptMapper.queryDeptListByPid(dept.getId()); - if (CollUtil.isNotEmpty(deptList)) { - describeRelationDeptSet(deptList, deptSet); - } - } - return deptSet; - } - - @Override - public List describeChildDeptIdListByDeptIds(List deptList) { - List list = new ArrayList<>(); - deptList.forEach(dept -> { - if (dept != null && dept.getEnabled()) { - List deptList1 = deptMapper.queryDeptListByPid(dept.getId()); - if (CollUtil.isNotEmpty(deptList1)) { - list.addAll(describeChildDeptIdListByDeptIds(deptList1)); - } - list.add(dept.getId()); - } - } - ); - return list; - } - - @Override - public List describeSuperiorDeptListByPid(Dept dept, List deptList) { - if (dept.getPid() == null) { - deptList.addAll(deptMapper.queryDeptListByPidIsNull()); - return deptList; - } - deptList.addAll(deptMapper.queryDeptListByPid(dept.getPid())); - return describeSuperiorDeptListByPid(describeDeptById(dept.getPid()), deptList); - } - - @Override - public BaseResult buildDeptTree(List deptList) { - Set trees = new LinkedHashSet<>(); - Set deptSet = new LinkedHashSet<>(); - List deptNames = deptList.stream().map(Dept::getName).collect(Collectors.toList()); - boolean isChild; - for (Dept dept : deptList) { - isChild = false; - if (dept.getPid() == null) { - trees.add(dept); - } - for (Dept it : deptList) { - if (it.getPid() != null && dept.getId().equals(it.getPid())) { - isChild = true; - if (dept.getChildren() == null) { - dept.setChildren(new ArrayList<>()); - } - dept.getChildren().add(it); - } - } - if (isChild) { - deptSet.add(dept); - } else if (dept.getPid() != null && !deptNames.contains(describeDeptById(dept.getPid()).getName())) { - deptSet.add(dept); - } - } - if (CollectionUtil.isEmpty(trees)) { - trees = deptSet; - } - BaseResult baseResult = new BaseResult<>(); - baseResult.setContent(CollectionUtil.isEmpty(trees) ? deptSet : trees); - baseResult.setTotalElements(deptSet.size()); - return baseResult; - } - - @Override - public void verifyBindRelationByIds(Set deptSet) { - Set deptIds = deptSet.stream().map(Dept::getId).collect(Collectors.toSet()); - if (userMapper.getUserCountByDeptIds(deptIds) > 0) { - throw new BadRequestException("所选部门存在用户关联,请解除后再试!"); - } - if (roleMapper.getRoleCountByDeptIds(deptIds) > 0) { - throw new BadRequestException("所选部门存在角色关联,请解除后再试!"); - } - } - - @Override - public void traverseDeptByIdWithPids(Set ids, Set depts) { - for (Long id : ids) { - // 根部门 - depts.add(describeDeptById(id)); - // 子部门 - List deptList = describeDeptListByPid(id); - if (CollectionUtil.isNotEmpty(deptList)) { - depts = describeRelationDeptSet(deptList, depts); - } - } - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemDictApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemDictApiImpl.java deleted file mode 100644 index 602eca70..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemDictApiImpl.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.odboy.core.api.system.impl; - -import cn.odboy.base.PageResult; -import cn.odboy.core.api.system.SystemDictApi; -import cn.odboy.core.dal.dataobject.system.Dict; -import cn.odboy.core.dal.mysql.system.DictMapper; -import cn.odboy.core.service.system.dto.QueryDictRequest; -import cn.odboy.util.PageUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import java.util.List; - -@Service -@RequiredArgsConstructor -public class SystemDictApiImpl implements SystemDictApi { - private final DictMapper dictMapper; - - @Override - public PageResult describeDictPage(QueryDictRequest criteria, Page page) { - IPage dicts = dictMapper.queryDictPageByArgs(criteria, page); - return PageUtil.toPage(dicts); - } - - @Override - public List describeDictList(QueryDictRequest criteria) { - return dictMapper.queryDictPageByArgs(criteria, PageUtil.getCount(dictMapper)).getRecords(); - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemQuartzJobApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemQuartzJobApiImpl.java deleted file mode 100644 index a424ebb0..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemQuartzJobApiImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -package cn.odboy.core.api.system.impl; - -import cn.odboy.base.PageResult; -import cn.odboy.core.api.system.SystemQuartzJobApi; -import cn.odboy.core.dal.dataobject.job.QuartzJob; -import cn.odboy.core.dal.dataobject.job.QuartzLog; -import cn.odboy.core.dal.mysql.job.QuartzJobMapper; -import cn.odboy.core.dal.mysql.job.QuartzLogMapper; -import cn.odboy.core.service.system.dto.QueryQuartzJobRequest; -import cn.odboy.util.PageUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import java.util.List; - -@Service -@RequiredArgsConstructor -public class SystemQuartzJobApiImpl implements SystemQuartzJobApi { - private final QuartzJobMapper quartzJobMapper; - private final QuartzLogMapper quartzLogMapper; - - @Override - public PageResult describeQuartzJobPage(QueryQuartzJobRequest criteria, Page page) { - return PageUtil.toPage(quartzJobMapper.queryQuartzJobPageByArgs(criteria, page)); - } - - @Override - public PageResult describeQuartzLogPage(QueryQuartzJobRequest criteria, Page page) { - return PageUtil.toPage(quartzLogMapper.queryQuartzLogPageByArgs(criteria, page)); - } - - @Override - public List describeQuartzJobList(QueryQuartzJobRequest criteria) { - return quartzJobMapper.queryQuartzJobPageByArgs(criteria, PageUtil.getCount(quartzJobMapper)).getRecords(); - } - - @Override - public List describeQuartzLogList(QueryQuartzJobRequest criteria) { - return quartzLogMapper.queryQuartzLogPageByArgs(criteria, PageUtil.getCount(quartzLogMapper)).getRecords(); - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/EmailApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/EmailApi.java deleted file mode 100644 index dd9bdfe1..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/EmailApi.java +++ /dev/null @@ -1,13 +0,0 @@ -package cn.odboy.core.api.tools; - -import cn.odboy.core.dal.dataobject.tools.EmailConfig; - -public interface EmailApi { - - /** - * 查询配置 - * - * @return EmailConfig 邮件配置 - */ - EmailConfig describeEmailConfig(); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/LocalStorageApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/LocalStorageApi.java deleted file mode 100644 index ae17a303..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/LocalStorageApi.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.odboy.core.api.tools; - -import cn.odboy.base.PageResult; -import cn.odboy.core.dal.dataobject.tools.LocalStorage; -import cn.odboy.core.service.tools.dto.QueryLocalStorageRequest; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import java.util.List; - -public interface LocalStorageApi { - - /** - * 分页查询 - * - * @param criteria 条件 - * @param page 分页参数 - * @return / - */ - PageResult describeLocalStoragePage(QueryLocalStorageRequest criteria, Page page); - - /** - * 查询全部数据 - * - * @param criteria 条件 - * @return / - */ - List describeLocalStorageList(QueryLocalStorageRequest criteria); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/QiniuConfigApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/QiniuConfigApi.java deleted file mode 100644 index 5547b6e6..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/QiniuConfigApi.java +++ /dev/null @@ -1,13 +0,0 @@ -package cn.odboy.core.api.tools; - -import cn.odboy.core.dal.dataobject.tools.QiniuConfig; - -public interface QiniuConfigApi { - - /** - * 查询配置 - * - * @return QiniuConfig - */ - QiniuConfig describeQiniuConfig(); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/QiniuContentApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/QiniuContentApi.java deleted file mode 100644 index d133f0eb..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/QiniuContentApi.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.odboy.core.api.tools; - -import cn.odboy.base.PageResult; -import cn.odboy.core.dal.dataobject.tools.QiniuContent; -import cn.odboy.core.service.tools.dto.QueryQiniuRequest; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import java.util.List; - -public interface QiniuContentApi { - - /** - * 分页查询 - * - * @param criteria 条件 - * @param page 分页参数 - * @return / - */ - PageResult describeQiniuContentPage(QueryQiniuRequest criteria, Page page); - - /** - * 查询全部 - * - * @param criteria 条件 - * @return / - */ - List describeQiniuContentList(QueryQiniuRequest criteria); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/impl/EmailApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/impl/EmailApiImpl.java deleted file mode 100644 index d21f7087..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/impl/EmailApiImpl.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.odboy.core.api.tools.impl; - -import cn.odboy.core.api.tools.EmailApi; -import cn.odboy.core.dal.dataobject.tools.EmailConfig; -import cn.odboy.core.dal.mysql.tools.EmailConfigMapper; -import lombok.RequiredArgsConstructor; -import org.springframework.cache.annotation.CacheConfig; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.stereotype.Service; - -@Service -@RequiredArgsConstructor -@CacheConfig(cacheNames = "email") -public class EmailApiImpl implements EmailApi { - private final EmailConfigMapper emailConfigMapper; - - @Override - @Cacheable(key = "'config'") - public EmailConfig describeEmailConfig() { - EmailConfig emailConfig = emailConfigMapper.selectById(1L); - return emailConfig == null ? new EmailConfig() : emailConfig; - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/impl/LocalStorageApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/impl/LocalStorageApiImpl.java deleted file mode 100644 index 8f183a6b..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/impl/LocalStorageApiImpl.java +++ /dev/null @@ -1,28 +0,0 @@ -package cn.odboy.core.api.tools.impl; - -import cn.odboy.base.PageResult; -import cn.odboy.core.api.tools.LocalStorageApi; -import cn.odboy.core.dal.dataobject.tools.LocalStorage; -import cn.odboy.core.dal.mysql.tools.LocalStorageMapper; -import cn.odboy.core.service.tools.dto.QueryLocalStorageRequest; -import cn.odboy.util.PageUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import java.util.List; - -@Service -@RequiredArgsConstructor -public class LocalStorageApiImpl implements LocalStorageApi { - private final LocalStorageMapper localStorageMapper; - - @Override - public PageResult describeLocalStoragePage(QueryLocalStorageRequest criteria, Page page) { - return PageUtil.toPage(localStorageMapper.queryLocalStoragePageByArgs(criteria, page)); - } - - @Override - public List describeLocalStorageList(QueryLocalStorageRequest criteria) { - return localStorageMapper.queryLocalStoragePageByArgs(criteria, PageUtil.getCount(localStorageMapper)).getRecords(); - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/impl/QiniuConfigApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/impl/QiniuConfigApiImpl.java deleted file mode 100644 index d97ec9ca..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/impl/QiniuConfigApiImpl.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.odboy.core.api.tools.impl; - -import cn.odboy.core.api.tools.QiniuConfigApi; -import cn.odboy.core.dal.dataobject.tools.QiniuConfig; -import cn.odboy.core.dal.mysql.tools.QiniuConfigMapper; -import lombok.RequiredArgsConstructor; -import org.springframework.cache.annotation.CacheConfig; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.stereotype.Service; - -@Service -@RequiredArgsConstructor -@CacheConfig(cacheNames = "qiNiu") -public class QiniuConfigApiImpl implements QiniuConfigApi { - private final QiniuConfigMapper qiniuConfigMapper; - - @Override - @Cacheable(key = "'config'") - public QiniuConfig describeQiniuConfig() { - QiniuConfig qiniuConfig = qiniuConfigMapper.selectById(1L); - return qiniuConfig == null ? new QiniuConfig() : qiniuConfig; - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/impl/QiniuContentApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/impl/QiniuContentApiImpl.java deleted file mode 100644 index f1fa6e4d..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/tools/impl/QiniuContentApiImpl.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.odboy.core.api.tools.impl; - -import cn.odboy.base.PageResult; -import cn.odboy.core.api.tools.QiniuContentApi; -import cn.odboy.core.dal.dataobject.tools.QiniuContent; -import cn.odboy.core.dal.mysql.tools.QiniuContentMapper; -import cn.odboy.core.service.tools.dto.QueryQiniuRequest; -import cn.odboy.util.PageUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.cache.annotation.CacheConfig; -import org.springframework.stereotype.Service; -import java.util.List; - -@Service -@RequiredArgsConstructor -@CacheConfig(cacheNames = "qiNiu") -public class QiniuContentApiImpl implements QiniuContentApi { - private final QiniuContentMapper qiniuContentMapper; - - @Override - public PageResult describeQiniuContentPage(QueryQiniuRequest criteria, Page page) { - return PageUtil.toPage(qiniuContentMapper.queryQiniuContentPageByArgs(criteria, page)); - } - - @Override - public List describeQiniuContentList(QueryQiniuRequest criteria) { - return qiniuContentMapper.queryQiniuContentPageByArgs(criteria, PageUtil.getCount(qiniuContentMapper)).getRecords(); - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/api/SystemUserJwtApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/api/SystemUserJwtApi.java deleted file mode 100644 index a37faf1e..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/api/SystemUserJwtApi.java +++ /dev/null @@ -1,13 +0,0 @@ -package cn.odboy.core.cache.api; - -import cn.odboy.core.service.system.dto.UserJwtVo; - -public interface SystemUserJwtApi { - /** - * 返回用户缓存 - * - * @param username 用户名 - * @return UserJwtVo - */ - UserJwtVo describeUserJwtModelByUsername(String username); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/constant/CaptchaBizEnum.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/constant/system/SystemCaptchaBizEnum.java similarity index 82% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/constant/CaptchaBizEnum.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/constant/system/SystemCaptchaBizEnum.java index ed45579e..eab9e373 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/constant/CaptchaBizEnum.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/constant/system/SystemCaptchaBizEnum.java @@ -1,4 +1,4 @@ -package cn.odboy.core.constant; +package cn.odboy.core.constant.system; import lombok.AllArgsConstructor; import lombok.Getter; @@ -8,7 +8,7 @@ import lombok.Getter; */ @Getter @AllArgsConstructor -public enum CaptchaBizEnum { +public enum SystemCaptchaBizEnum { /* 通过手机号码重置邮箱 */ PHONE_RESET_EMAIL_CODE("10000", "phone_reset_email_code_", "通过手机号码重置邮箱"), @@ -35,8 +35,8 @@ public enum CaptchaBizEnum { */ private final String description; - public static CaptchaBizEnum getByBizCode(String bizCode) { - for (CaptchaBizEnum value : CaptchaBizEnum.values()) { + public static SystemCaptchaBizEnum getByBizCode(String bizCode) { + for (SystemCaptchaBizEnum value : SystemCaptchaBizEnum.values()) { if (value.getBizCode().equals(bizCode)) { return value; } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/constant/DataScopeEnum.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/constant/system/SystemDataScopeEnum.java similarity index 74% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/constant/DataScopeEnum.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/constant/system/SystemDataScopeEnum.java index 37e0cc22..0e830a00 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/constant/DataScopeEnum.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/constant/system/SystemDataScopeEnum.java @@ -1,4 +1,4 @@ -package cn.odboy.core.constant; +package cn.odboy.core.constant.system; import lombok.AllArgsConstructor; import lombok.Getter; @@ -8,7 +8,7 @@ import lombok.Getter; */ @Getter @AllArgsConstructor -public enum DataScopeEnum { +public enum SystemDataScopeEnum { /* 全部的数据权限 */ ALL("全部", "全部的数据权限"), @@ -22,8 +22,8 @@ public enum DataScopeEnum { private final String value; private final String description; - public static DataScopeEnum find(String val) { - for (DataScopeEnum dataScopeEnum : DataScopeEnum.values()) { + public static SystemDataScopeEnum find(String val) { + for (SystemDataScopeEnum dataScopeEnum : SystemDataScopeEnum.values()) { if (dataScopeEnum.getValue().equals(val)) { return dataScopeEnum; } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/AuthController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemAuthController.java similarity index 81% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/AuthController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemAuthController.java index 489e12e5..ba86b611 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/AuthController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemAuthController.java @@ -4,16 +4,16 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.IdUtil; import cn.odboy.annotation.AnonymousPostMapping; import cn.odboy.constant.SystemConst; -import cn.odboy.core.cache.service.impl.SystemUserOnlineServiceImpl; +import cn.odboy.core.dal.redis.system.SystemUserOnlineServiceImpl; import cn.odboy.core.constant.LoginCodeEnum; -import cn.odboy.core.constant.SystemRedisKey; -import cn.odboy.core.dal.model.UserInfoResponse; -import cn.odboy.core.framework.permission.TokenProvider; -import cn.odboy.core.framework.permission.UserDetailsServiceImpl; -import cn.odboy.core.framework.permission.util.SecurityHelper; +import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.odboy.core.dal.model.system.SystemUserInfoVo; +import cn.odboy.core.framework.permission.core.SecurityHelper; +import cn.odboy.core.framework.permission.core.handler.TokenProvider; +import cn.odboy.core.framework.permission.core.handler.UserDetailsHandler; import cn.odboy.core.framework.properties.AppProperties; -import cn.odboy.core.service.system.dto.UserJwtVo; -import cn.odboy.core.service.system.dto.UserLoginRequest; +import cn.odboy.core.dal.model.system.SystemUserJwtVo; +import cn.odboy.core.dal.model.system.SystemUserLoginArgs; import cn.odboy.exception.BadRequestException; import cn.odboy.redis.RedisHelper; import cn.odboy.util.RsaEncryptUtil; @@ -34,6 +34,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; + import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.Map; @@ -47,17 +48,17 @@ import java.util.concurrent.TimeUnit; @RequestMapping("/auth") @RequiredArgsConstructor @Api(tags = "系统:系统授权接口") -public class AuthController { +public class SystemAuthController { private final RedisHelper redisHelper; private final SystemUserOnlineServiceImpl onlineUserService; private final TokenProvider tokenProvider; private final AppProperties properties; private final PasswordEncoder passwordEncoder; - private final UserDetailsServiceImpl userDetailsService; + private final UserDetailsHandler userDetailsService; @ApiOperation("登录授权") @AnonymousPostMapping(value = "/login") - public ResponseEntity login(@Validated @RequestBody UserLoginRequest loginRequest, HttpServletRequest request) throws Exception { + public ResponseEntity login(@Validated @RequestBody SystemUserLoginArgs loginRequest, HttpServletRequest request) throws Exception { // 密码解密 String password = RsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), loginRequest.getPassword()); // 查询验证码 @@ -71,7 +72,7 @@ public class AuthController { throw new BadRequestException("验证码错误"); } // 获取用户信息 - UserJwtVo jwtUser = userDetailsService.loadUserByUsername(loginRequest.getUsername()); + SystemUserJwtVo jwtUser = userDetailsService.loadUserByUsername(loginRequest.getUsername()); // 验证用户密码 if (!passwordEncoder.matches(password, jwtUser.getPassword())) { throw new BadRequestException("登录密码错误"); @@ -83,7 +84,7 @@ public class AuthController { // 返回 token 与 用户信息 Map authInfo = new HashMap<>(2) {{ put("token", String.format("%s %s", SystemConst.TOKEN_PREFIX, token)); - put("user", BeanUtil.copyProperties(jwtUser, UserInfoResponse.class)); + put("user", BeanUtil.copyProperties(jwtUser, SystemUserInfoVo.class)); }}; if (properties.getLogin().isSingle()) { // 踢掉之前已经登录的token @@ -97,10 +98,10 @@ public class AuthController { @ApiOperation("获取用户信息") @PostMapping(value = "/info") - public ResponseEntity getUserInfo() { - UserJwtVo jwtUser = (UserJwtVo) SecurityHelper.getCurrentUser(); - UserInfoResponse userInfoResponse = BeanUtil.copyProperties(jwtUser, UserInfoResponse.class); - return ResponseEntity.ok(userInfoResponse); + public ResponseEntity getUserInfo() { + SystemUserJwtVo jwtUser = (SystemUserJwtVo) SecurityHelper.getCurrentUser(); + SystemUserInfoVo userInfoVo = BeanUtil.copyProperties(jwtUser, SystemUserInfoVo.class); + return ResponseEntity.ok(userInfoVo); } @ApiOperation("获取验证码") diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/CaptchaController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemCaptchaController.java similarity index 70% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/CaptchaController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemCaptchaController.java index d37f4d0c..1cd259c3 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/CaptchaController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemCaptchaController.java @@ -1,8 +1,8 @@ package cn.odboy.core.controller.system; -import cn.odboy.core.constant.CaptchaBizEnum; -import cn.odboy.core.service.tools.CaptchaService; -import cn.odboy.core.service.tools.EmailService; +import cn.odboy.core.constant.system.SystemCaptchaBizEnum; +import cn.odboy.core.service.system.SystemCaptchaService; +import cn.odboy.core.service.system.SystemEmailService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -12,15 +12,16 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; + import java.util.Objects; @RestController @RequiredArgsConstructor @RequestMapping("/api/code") @Api(tags = "系统:验证码管理") -public class CaptchaController { - private final CaptchaService captchaService; - private final EmailService emailService; +public class SystemCaptchaController { + private final SystemCaptchaService captchaService; + private final SystemEmailService emailService; /** * 除了这个其他的接口都没有用上 @@ -30,27 +31,27 @@ public class CaptchaController { @ApiOperation("重置邮箱,发送验证码") @PostMapping(value = "/sendResetEmailCaptcha") public ResponseEntity sendResetEmailCaptcha(@RequestParam String email) { - emailService.sendEmail(captchaService.renderCodeTemplate(email, CaptchaBizEnum.EMAIL_RESET_EMAIL_CODE.getRedisKey())); + emailService.sendEmail(captchaService.renderCodeTemplate(email, SystemCaptchaBizEnum.EMAIL_RESET_EMAIL_CODE.getRedisKey())); return new ResponseEntity<>(HttpStatus.OK); } @ApiOperation("重置密码,发送验证码") @PostMapping(value = "/sendResetPasswordCaptcha") public ResponseEntity sendResetPasswordCaptcha(@RequestParam String email) { - emailService.sendEmail(captchaService.renderCodeTemplate(email, CaptchaBizEnum.EMAIL_RESET_PWD_CODE.getRedisKey())); + emailService.sendEmail(captchaService.renderCodeTemplate(email, SystemCaptchaBizEnum.EMAIL_RESET_PWD_CODE.getRedisKey())); return new ResponseEntity<>(HttpStatus.OK); } @ApiOperation("验证码验证") @PostMapping(value = "/checkCodeAvailable") public ResponseEntity checkCodeAvailable(@RequestParam String email, @RequestParam String code, @RequestParam String codeBi) { - CaptchaBizEnum biEnum = CaptchaBizEnum.getByBizCode(codeBi); + SystemCaptchaBizEnum biEnum = SystemCaptchaBizEnum.getByBizCode(codeBi); switch (Objects.requireNonNull(biEnum)) { case EMAIL_RESET_EMAIL_CODE: - captchaService.checkCodeAvailable(CaptchaBizEnum.EMAIL_RESET_EMAIL_CODE.getBizCode(), email, code); + captchaService.checkCodeAvailable(SystemCaptchaBizEnum.EMAIL_RESET_EMAIL_CODE.getBizCode(), email, code); break; case EMAIL_RESET_PWD_CODE: - captchaService.checkCodeAvailable(CaptchaBizEnum.EMAIL_RESET_PWD_CODE.getBizCode(), email, code); + captchaService.checkCodeAvailable(SystemCaptchaBizEnum.EMAIL_RESET_PWD_CODE.getBizCode(), email, code); break; default: break; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/DeptController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDeptController.java similarity index 58% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/DeptController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDeptController.java index 9f74234b..c16660ea 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/DeptController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDeptController.java @@ -1,11 +1,10 @@ package cn.odboy.core.controller.system; -import cn.odboy.base.PageResult; -import cn.odboy.core.api.system.SystemDeptApi; -import cn.odboy.core.dal.dataobject.system.Dept; -import cn.odboy.core.service.system.SystemDeptService; -import cn.odboy.core.service.system.dto.CreateDeptRequest; -import cn.odboy.core.service.system.dto.QueryDeptRequest; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.dataobject.system.SystemDeptTb; +import cn.odboy.core.service.system.ookkoko.SystemDeptService; +import cn.odboy.core.dal.model.system.CreateSystemDeptArgs; +import cn.odboy.core.dal.model.system.QuerySystemDeptArgs; import cn.odboy.util.PageUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -14,40 +13,31 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; @RestController @RequiredArgsConstructor @Api(tags = "系统:部门管理") @RequestMapping("/api/dept") -public class DeptController { - private final SystemDeptApi systemDeptApi; +public class SystemDeptController { private final SystemDeptService systemDeptService; @ApiOperation("导出部门数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('dept:list')") - public void exportDept(HttpServletResponse response, QueryDeptRequest criteria) throws Exception { - systemDeptService.downloadDeptExcel(systemDeptApi.describeDeptList(criteria, false), response); + public void exportDept(HttpServletResponse response, QuerySystemDeptArgs criteria) throws Exception { + systemDeptService.downloadDeptExcel(systemDeptService.describeDeptList(criteria, false), response); } @ApiOperation("查询部门") @GetMapping @PreAuthorize("@el.check('user:list','dept:list')") - public ResponseEntity> describeDeptPage(QueryDeptRequest criteria) throws Exception { - List depts = systemDeptApi.describeDeptList(criteria, true); + public ResponseEntity>> describeDeptPage(QuerySystemDeptArgs criteria) throws Exception { + List depts = systemDeptService.describeDeptList(criteria, true); return new ResponseEntity<>(PageUtil.toPage(depts), HttpStatus.OK); } @@ -55,12 +45,12 @@ public class DeptController { @PostMapping("/describeDeptSuperiorTree") @PreAuthorize("@el.check('user:list','dept:list')") public ResponseEntity describeDeptSuperiorTree(@RequestBody List ids, @RequestParam(defaultValue = "false") Boolean exclude) { - Set deptSet = new LinkedHashSet<>(); + Set deptSet = new LinkedHashSet<>(); for (Long id : ids) { - Dept dept = systemDeptApi.describeDeptById(id); - List depts = systemDeptApi.describeSuperiorDeptListByPid(dept, new ArrayList<>()); + SystemDeptTb dept = systemDeptService.describeDeptById(id); + List depts = systemDeptService.describeSuperiorDeptListByPid(dept, new ArrayList<>()); if (exclude) { - for (Dept data : depts) { + for (SystemDeptTb data : depts) { if (data.getId().equals(dept.getPid())) { data.setSubCount(data.getSubCount() - 1); } @@ -70,13 +60,13 @@ public class DeptController { } deptSet.addAll(depts); } - return new ResponseEntity<>(systemDeptApi.buildDeptTree(new ArrayList<>(deptSet)), HttpStatus.OK); + return new ResponseEntity<>(systemDeptService.buildDeptTree(new ArrayList<>(deptSet)), HttpStatus.OK); } @ApiOperation("新增部门") @PostMapping(value = "/saveDept") @PreAuthorize("@el.check('dept:add')") - public ResponseEntity saveDept(@Validated @RequestBody CreateDeptRequest resources) { + public ResponseEntity saveDept(@Validated @RequestBody CreateSystemDeptArgs resources) { systemDeptService.saveDept(resources); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -84,7 +74,7 @@ public class DeptController { @ApiOperation("修改部门") @PostMapping(value = "/modifyDept") @PreAuthorize("@el.check('dept:edit')") - public ResponseEntity modifyDept(@Validated(Dept.Update.class) @RequestBody Dept resources) { + public ResponseEntity modifyDept(@Validated(SystemDeptTb.Update.class) @RequestBody SystemDeptTb resources) { systemDeptService.modifyDept(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -93,11 +83,10 @@ public class DeptController { @PostMapping(value = "/removeDeptByIds") @PreAuthorize("@el.check('dept:del')") public ResponseEntity removeDeptByIds(@RequestBody Set ids) { - Set depts = new HashSet<>(); // 获取部门,和其所有子部门 - systemDeptApi.traverseDeptByIdWithPids(ids, depts); + Set depts = systemDeptService.traverseDeptByIdWithPids(ids); // 验证是否被角色或用户关联 - systemDeptApi.verifyBindRelationByIds(depts); + systemDeptService.verifyBindRelationByIds(depts); systemDeptService.removeDeptByIds(depts); return new ResponseEntity<>(HttpStatus.OK); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/DictController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDictController.java similarity index 67% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/DictController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDictController.java index 37534daf..fc220087 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/DictController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDictController.java @@ -1,11 +1,11 @@ package cn.odboy.core.controller.system; -import cn.odboy.base.PageResult; -import cn.odboy.core.api.system.SystemDictApi; -import cn.odboy.core.dal.dataobject.system.Dict; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.service.system.SystemDictApi; +import cn.odboy.core.dal.dataobject.system.SystemDictTb; import cn.odboy.core.service.system.SystemDictService; -import cn.odboy.core.service.system.dto.CreateDictRequest; -import cn.odboy.core.service.system.dto.QueryDictRequest; +import cn.odboy.core.dal.model.system.CreateSystemDictArgs; +import cn.odboy.core.dal.model.system.QuerySystemDictArgs; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -14,11 +14,8 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; @@ -28,36 +25,36 @@ import java.util.Set; @RequiredArgsConstructor @Api(tags = "系统:字典管理") @RequestMapping("/api/dict") -public class DictController { +public class SystemDictController { private final SystemDictApi systemDictApi; private final SystemDictService systemDictService; @ApiOperation("导出字典数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('dict:list')") - public void exportDict(HttpServletResponse response, QueryDictRequest criteria) throws IOException { + public void exportDict(HttpServletResponse response, QuerySystemDictArgs criteria) throws IOException { systemDictService.downloadDictExcel(systemDictApi.describeDictList(criteria), response); } @ApiOperation("查询字典") @PostMapping(value = "/queryAllDict") @PreAuthorize("@el.check('dict:list')") - public ResponseEntity> queryAllDict() { - return new ResponseEntity<>(systemDictApi.describeDictList(new QueryDictRequest()), HttpStatus.OK); + public ResponseEntity> queryAllDict() { + return new ResponseEntity<>(systemDictApi.describeDictList(new QuerySystemDictArgs()), HttpStatus.OK); } @ApiOperation("查询字典") @GetMapping @PreAuthorize("@el.check('dict:list')") - public ResponseEntity> queryDict(QueryDictRequest criteria) { - Page page = new Page<>(criteria.getPage(), criteria.getSize()); + public ResponseEntity>> queryDict(QuerySystemDictArgs criteria) { + Page page = new Page<>(criteria.getPage(), criteria.getSize()); return new ResponseEntity<>(systemDictApi.describeDictPage(criteria, page), HttpStatus.OK); } @ApiOperation("新增字典") @PostMapping(value = "/saveDict") @PreAuthorize("@el.check('dict:add')") - public ResponseEntity saveDict(@Validated @RequestBody CreateDictRequest resources) { + public ResponseEntity saveDict(@Validated @RequestBody CreateSystemDictArgs resources) { systemDictService.saveDict(resources); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -65,7 +62,7 @@ public class DictController { @ApiOperation("修改字典") @PostMapping(value = "/modifyDictById") @PreAuthorize("@el.check('dict:edit')") - public ResponseEntity modifyDictById(@Validated(Dict.Update.class) @RequestBody Dict resources) { + public ResponseEntity modifyDictById(@Validated(SystemDictTb.Update.class) @RequestBody SystemDictTb resources) { systemDictService.modifyDictById(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/DictDetailController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDictDetailController.java similarity index 68% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/DictDetailController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDictDetailController.java index 5cd88ca2..24d9d4b7 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/DictDetailController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDictDetailController.java @@ -1,11 +1,11 @@ package cn.odboy.core.controller.system; -import cn.odboy.base.PageResult; -import cn.odboy.core.api.system.SystemDictDetailApi; -import cn.odboy.core.dal.dataobject.system.DictDetail; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.service.system.SystemDictDetailApi; +import cn.odboy.core.dal.dataobject.system.SystemDictDetailTb; import cn.odboy.core.service.system.SystemDictDetailService; -import cn.odboy.core.service.system.dto.CreateDictDetailRequest; -import cn.odboy.core.service.system.dto.QueryDictDetailRequest; +import cn.odboy.core.dal.model.system.CreateSystemDictDetailArgs; +import cn.odboy.core.dal.model.system.QuerySystemDictDetailArgs; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -14,12 +14,8 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + import java.util.HashMap; import java.util.List; import java.util.Map; @@ -28,22 +24,22 @@ import java.util.Map; @RequiredArgsConstructor @Api(tags = "系统:字典详情管理") @RequestMapping("/api/dictDetail") -public class DictDetailController { +public class SystemDictDetailController { private final SystemDictDetailService systemDictDetailService; private final SystemDictDetailApi systemDictDetailApi; @ApiOperation("查询字典详情") @GetMapping - public ResponseEntity> describeDictDetailPage(QueryDictDetailRequest criteria) { + public ResponseEntity>> queryDictDetailListByArgs(QuerySystemDictDetailArgs criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); - return new ResponseEntity<>(systemDictDetailApi.describeDictDetailPage(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(systemDictDetailApi.queryDictDetailListByArgs(criteria, page), HttpStatus.OK); } @ApiOperation("查询多个字典详情") @GetMapping(value = "/getDictDetailMaps") public ResponseEntity getDictDetailMaps(@RequestParam String dictName) { String[] names = dictName.split("[,,]"); - Map> dictMap = new HashMap<>(16); + Map> dictMap = new HashMap<>(16); for (String name : names) { dictMap.put(name, systemDictDetailApi.describeDictDetailListByName(name)); } @@ -53,7 +49,7 @@ public class DictDetailController { @ApiOperation("新增字典详情") @PostMapping(value = "/saveDictDetail") @PreAuthorize("@el.check('dict:add')") - public ResponseEntity saveDictDetail(@Validated @RequestBody CreateDictDetailRequest resources) { + public ResponseEntity saveDictDetail(@Validated @RequestBody CreateSystemDictDetailArgs resources) { systemDictDetailService.saveDictDetail(resources); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -61,7 +57,7 @@ public class DictDetailController { @ApiOperation("修改字典详情") @PostMapping(value = "/modifyDictDetailById") @PreAuthorize("@el.check('dict:edit')") - public ResponseEntity modifyDictDetailById(@Validated(DictDetail.Update.class) @RequestBody DictDetail resources) { + public ResponseEntity modifyDictDetailById(@Validated(SystemDictDetailTb.Update.class) @RequestBody SystemDictDetailTb resources) { systemDictDetailService.modifyDictDetailById(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -69,7 +65,7 @@ public class DictDetailController { @ApiOperation("删除字典详情") @PostMapping(value = "/removeDictDetailById") @PreAuthorize("@el.check('dict:del')") - public ResponseEntity removeDictDetailById(@RequestBody DictDetail args) { + public ResponseEntity removeDictDetailById(@RequestBody SystemDictDetailTb args) { systemDictDetailService.removeDictDetailById(args.getId()); return new ResponseEntity<>(HttpStatus.OK); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/tools/EmailController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemEmailController.java similarity index 69% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/tools/EmailController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemEmailController.java index 56cb880c..e0fc51f9 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/tools/EmailController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemEmailController.java @@ -1,9 +1,9 @@ -package cn.odboy.core.controller.tools; +package cn.odboy.core.controller.system; -import cn.odboy.core.api.tools.EmailApi; -import cn.odboy.core.dal.dataobject.tools.EmailConfig; -import cn.odboy.core.service.tools.EmailService; -import cn.odboy.core.service.tools.dto.SendEmailRequest; +import cn.odboy.core.dal.dataobject.system.SystemEmailConfigTb; +import cn.odboy.core.service.system.SystemEmailApi; +import cn.odboy.core.service.system.SystemEmailService; +import cn.odboy.core.dal.model.system.SendSystemEmailArgs; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -22,26 +22,26 @@ import org.springframework.web.bind.annotation.RestController; @RequiredArgsConstructor @RequestMapping("api/email") @Api(tags = "工具:邮件管理") -public class EmailController { - private final EmailApi emailApi; - private final EmailService emailService; +public class SystemEmailController { + private final SystemEmailApi emailApi; + private final SystemEmailService emailService; @ApiOperation("查询配置") @PostMapping(value = "/describeEmailConfig") - public ResponseEntity describeEmailConfig() { + public ResponseEntity describeEmailConfig() { return new ResponseEntity<>(emailApi.describeEmailConfig(), HttpStatus.OK); } @ApiOperation("配置邮件") @PostMapping(value = "/modifyEmailConfig") - public ResponseEntity modifyEmailConfig(@Validated @RequestBody EmailConfig emailConfig) throws Exception { + public ResponseEntity modifyEmailConfig(@Validated @RequestBody SystemEmailConfigTb emailConfig) throws Exception { emailService.modifyEmailConfigOnPassChange(emailConfig); return new ResponseEntity<>(HttpStatus.OK); } @ApiOperation("发送邮件") @PostMapping(value = "/sendEmail") - public ResponseEntity sendEmail(@Validated @RequestBody SendEmailRequest sendEmailRequest) { + public ResponseEntity sendEmail(@Validated @RequestBody SendSystemEmailArgs sendEmailRequest) { emailService.sendEmail(sendEmailRequest); return new ResponseEntity<>(HttpStatus.OK); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/JobController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemJobController.java similarity index 68% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/JobController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemJobController.java index 0c27c341..420cd77f 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/JobController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemJobController.java @@ -1,11 +1,11 @@ package cn.odboy.core.controller.system; -import cn.odboy.base.PageResult; -import cn.odboy.core.api.system.SystemJobApi; -import cn.odboy.core.dal.dataobject.system.Job; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.service.system.SystemJobApi; +import cn.odboy.core.dal.dataobject.system.SystemJobTb; import cn.odboy.core.service.system.SystemJobService; -import cn.odboy.core.service.system.dto.CreateJobRequest; -import cn.odboy.core.service.system.dto.QueryJobRequest; +import cn.odboy.core.dal.model.system.CreateSystemJobArgs; +import cn.odboy.core.dal.model.system.QuerySystemJobArgs; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -14,13 +14,11 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.util.List; import java.util.Set; @@ -28,29 +26,29 @@ import java.util.Set; @RequiredArgsConstructor @Api(tags = "系统:岗位管理") @RequestMapping("/api/job") -public class JobController { +public class SystemJobController { private final SystemJobApi systemJobApi; private final SystemJobService systemJobService; @ApiOperation("导出岗位数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('job:list')") - public void exportJob(HttpServletResponse response, QueryJobRequest criteria) throws IOException { + public void exportJob(HttpServletResponse response, QuerySystemJobArgs criteria) throws IOException { systemJobService.downloadJobExcel(systemJobApi.describeJobList(criteria), response); } @ApiOperation("查询岗位") @GetMapping @PreAuthorize("@el.check('job:list','user:list')") - public ResponseEntity> queryJob(QueryJobRequest criteria) { - Page page = new Page<>(criteria.getPage(), criteria.getSize()); + public ResponseEntity>> queryJob(QuerySystemJobArgs criteria) { + Page page = new Page<>(criteria.getPage(), criteria.getSize()); return new ResponseEntity<>(systemJobApi.describeJobPage(criteria, page), HttpStatus.OK); } @ApiOperation("新增岗位") @PostMapping(value = "/saveJob") @PreAuthorize("@el.check('job:add')") - public ResponseEntity saveJob(@Validated @RequestBody CreateJobRequest resources) { + public ResponseEntity saveJob(@Validated @RequestBody CreateSystemJobArgs resources) { systemJobService.saveJob(resources); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -58,7 +56,7 @@ public class JobController { @ApiOperation("修改岗位") @PostMapping(value = "/modifyJobById") @PreAuthorize("@el.check('job:edit')") - public ResponseEntity modifyJobById(@Validated(Job.Update.class) @RequestBody Job resources) { + public ResponseEntity modifyJobById(@Validated(SystemJobTb.Update.class) @RequestBody SystemJobTb resources) { systemJobService.modifyJobById(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/tools/LocalStorageController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemLocalStorageController.java similarity index 66% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/tools/LocalStorageController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemLocalStorageController.java index 8f58f11c..b3397e11 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/tools/LocalStorageController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemLocalStorageController.java @@ -1,11 +1,11 @@ -package cn.odboy.core.controller.tools; +package cn.odboy.core.controller.system; -import cn.odboy.base.PageResult; +import cn.odboy.base.CsResultVo; import cn.odboy.constant.FileTypeEnum; -import cn.odboy.core.api.tools.LocalStorageApi; -import cn.odboy.core.dal.dataobject.tools.LocalStorage; -import cn.odboy.core.service.tools.LocalStorageService; -import cn.odboy.core.service.tools.dto.QueryLocalStorageRequest; +import cn.odboy.core.dal.dataobject.system.SystemLocalStorageTb; +import cn.odboy.core.service.system.SystemLocalStorageApi; +import cn.odboy.core.service.system.SystemLocalStorageService; +import cn.odboy.core.dal.model.system.QuerySystemLocalStorageArgs; import cn.odboy.exception.BadRequestException; import cn.odboy.util.FileUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -16,36 +16,33 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.util.List; @RestController @RequiredArgsConstructor @Api(tags = "工具:本地存储管理") @RequestMapping("/api/localStorage") -public class LocalStorageController { - private final LocalStorageService localStorageService; - private final LocalStorageApi localStorageApi; +public class SystemLocalStorageController { + private final SystemLocalStorageService localStorageService; + private final SystemLocalStorageApi localStorageApi; @ApiOperation("查询文件") @GetMapping @PreAuthorize("@el.check('storage:list')") - public ResponseEntity> queryFile(QueryLocalStorageRequest criteria) { - Page page = new Page<>(criteria.getPage(), criteria.getSize()); + public ResponseEntity>> queryFile(QuerySystemLocalStorageArgs criteria) { + Page page = new Page<>(criteria.getPage(), criteria.getSize()); return new ResponseEntity<>(localStorageApi.describeLocalStoragePage(criteria, page), HttpStatus.OK); } @ApiOperation("导出数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('storage:list')") - public void exportFile(HttpServletResponse response, QueryLocalStorageRequest criteria) throws IOException { + public void exportFile(HttpServletResponse response, QuerySystemLocalStorageArgs criteria) throws IOException { localStorageService.downloadExcel(localStorageApi.describeLocalStorageList(criteria), response); } @@ -59,20 +56,20 @@ public class LocalStorageController { @ApiOperation("上传图片") @PostMapping("/uploadPicture") - public ResponseEntity uploadPicture(@RequestParam MultipartFile file) { + public ResponseEntity uploadPicture(@RequestParam MultipartFile file) { // 判断文件是否为图片 String suffix = FileUtil.getSuffix(file.getOriginalFilename()); if (!FileTypeEnum.IMAGE.getCode().equals(FileUtil.getFileType(suffix))) { throw new BadRequestException("只能上传图片"); } - LocalStorage localStorage = localStorageService.uploadFile(null, file); + SystemLocalStorageTb localStorage = localStorageService.uploadFile(null, file); return new ResponseEntity<>(localStorage, HttpStatus.OK); } @ApiOperation("修改文件") @PostMapping(value = "/modifyLocalStorageById") @PreAuthorize("@el.check('storage:edit')") - public ResponseEntity modifyLocalStorageById(@Validated @RequestBody LocalStorage resources) { + public ResponseEntity modifyLocalStorageById(@Validated @RequestBody SystemLocalStorageTb resources) { localStorageService.modifyLocalStorageById(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/MenuController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemMenuController.java similarity index 64% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/MenuController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemMenuController.java index 8c9390ea..0c9ff4db 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/MenuController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemMenuController.java @@ -1,13 +1,13 @@ package cn.odboy.core.controller.system; import cn.hutool.core.collection.CollectionUtil; -import cn.odboy.base.PageResult; -import cn.odboy.core.api.system.SystemMenuApi; -import cn.odboy.core.dal.dataobject.system.Menu; -import cn.odboy.core.dal.model.MenuResponse; -import cn.odboy.core.framework.permission.util.SecurityHelper; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.service.system.SystemMenuApi; +import cn.odboy.core.dal.dataobject.system.SystemMenuTb; +import cn.odboy.core.dal.model.system.SystemMenuVo; +import cn.odboy.core.framework.permission.core.SecurityHelper; import cn.odboy.core.service.system.SystemMenuService; -import cn.odboy.core.service.system.dto.QueryMenuRequest; +import cn.odboy.core.dal.model.system.QuerySystemMenuArgs; import cn.odboy.exception.BadRequestException; import cn.odboy.util.PageUtil; import io.swagger.annotations.Api; @@ -17,18 +17,10 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; @@ -36,7 +28,7 @@ import java.util.stream.Collectors; @RequiredArgsConstructor @Api(tags = "系统:菜单管理") @RequestMapping("/api/menus") -public class MenuController { +public class SystemMenuController { private static final String ENTITY_NAME = "menu"; private final SystemMenuApi systemMenuApi; private final SystemMenuService systemMenuService; @@ -44,22 +36,22 @@ public class MenuController { @ApiOperation("导出菜单数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('menu:list')") - public void exportMenu(HttpServletResponse response, QueryMenuRequest criteria) throws Exception { + public void exportMenu(HttpServletResponse response, QuerySystemMenuArgs criteria) throws Exception { systemMenuService.downloadMenuExcel(systemMenuApi.describeMenuList(criteria, false), response); } @PostMapping(value = "/buildMenus") @ApiOperation("获取前端所需菜单") - public ResponseEntity> buildMenus() { - List menuList = systemMenuApi.describeMenuListByUserId(SecurityHelper.getCurrentUserId()); - List menus = systemMenuApi.buildMenuTree(menuList); - return new ResponseEntity<>(systemMenuApi.buildMenuResponse(menus), HttpStatus.OK); + public ResponseEntity> buildMenus() { + List menuList = systemMenuApi.describeMenuListByUserId(SecurityHelper.getCurrentUserId()); + List menus = systemMenuApi.buildMenuTree(menuList); + return new ResponseEntity<>(systemMenuApi.buildMenuVo(menus), HttpStatus.OK); } @ApiOperation("返回全部的菜单") @PostMapping(value = "/describeMenuListByPid") @PreAuthorize("@el.check('menu:list','roles:list')") - public ResponseEntity> describeMenuListByPid(@RequestParam Long pid) { + public ResponseEntity> describeMenuListByPid(@RequestParam Long pid) { return new ResponseEntity<>(systemMenuApi.describeMenuListByPid(pid), HttpStatus.OK); } @@ -67,32 +59,32 @@ public class MenuController { @PostMapping(value = "/describeChildMenuSet") @PreAuthorize("@el.check('menu:list','roles:list')") public ResponseEntity describeChildMenuSet(@RequestParam Long id) { - Set menuSet = new HashSet<>(); - List menuList = systemMenuApi.describeMenuListByPid(id); + Set menuSet = new HashSet<>(); + List menuList = systemMenuApi.describeMenuListByPid(id); menuSet.add(systemMenuApi.describeMenuById(id)); menuSet = systemMenuApi.describeChildMenuSet(menuList, menuSet); - Set ids = menuSet.stream().map(Menu::getId).collect(Collectors.toSet()); + Set ids = menuSet.stream().map(SystemMenuTb::getId).collect(Collectors.toSet()); return new ResponseEntity<>(ids, HttpStatus.OK); } @GetMapping @ApiOperation("查询菜单") @PreAuthorize("@el.check('menu:list')") - public ResponseEntity> queryMenu(QueryMenuRequest criteria) throws Exception { - List menuList = systemMenuApi.describeMenuList(criteria, true); + public ResponseEntity>> queryMenu(QuerySystemMenuArgs criteria) throws Exception { + List menuList = systemMenuApi.describeMenuList(criteria, true); return new ResponseEntity<>(PageUtil.toPage(menuList), HttpStatus.OK); } @ApiOperation("查询菜单:根据ID获取同级与上级数据") @PostMapping("/describeMenuSuperior") @PreAuthorize("@el.check('menu:list')") - public ResponseEntity> describeMenuSuperior(@RequestBody List ids) { - Set menus = new LinkedHashSet<>(); + public ResponseEntity> describeMenuSuperior(@RequestBody List ids) { + Set menus = new LinkedHashSet<>(); if (CollectionUtil.isNotEmpty(ids)) { for (Long id : ids) { - Menu menu = systemMenuApi.describeMenuById(id); - List menuList = systemMenuApi.describeSuperiorMenuList(menu, new ArrayList<>()); - for (Menu data : menuList) { + SystemMenuTb menu = systemMenuApi.describeMenuById(id); + List menuList = systemMenuApi.describeSuperiorMenuList(menu, new ArrayList<>()); + for (SystemMenuTb data : menuList) { if (data.getId().equals(menu.getPid())) { data.setSubCount(data.getSubCount() - 1); } @@ -109,7 +101,7 @@ public class MenuController { @ApiOperation("新增菜单") @PostMapping(value = "/saveMenu") @PreAuthorize("@el.check('menu:add')") - public ResponseEntity saveMenu(@Validated @RequestBody Menu resources) { + public ResponseEntity saveMenu(@Validated @RequestBody SystemMenuTb resources) { if (resources.getId() != null) { throw new BadRequestException("A new " + ENTITY_NAME + " cannot already have an ID"); } @@ -120,7 +112,7 @@ public class MenuController { @ApiOperation("修改菜单") @PostMapping(value = "/modifyMenuById") @PreAuthorize("@el.check('menu:edit')") - public ResponseEntity modifyMenuById(@Validated(Menu.Update.class) @RequestBody Menu resources) { + public ResponseEntity modifyMenuById(@Validated(SystemMenuTb.Update.class) @RequestBody SystemMenuTb resources) { systemMenuService.modifyMenuById(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -129,9 +121,9 @@ public class MenuController { @PostMapping(value = "/removeMenuByIds") @PreAuthorize("@el.check('menu:del')") public ResponseEntity removeMenuByIds(@RequestBody Set ids) { - Set menuSet = new HashSet<>(); + Set menuSet = new HashSet<>(); for (Long id : ids) { - List menuList = systemMenuApi.describeMenuListByPid(id); + List menuList = systemMenuApi.describeMenuListByPid(id); menuSet.add(systemMenuApi.describeMenuById(id)); menuSet = systemMenuApi.describeChildMenuSet(menuList, menuSet); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/MonitorController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemMonitorController.java similarity index 91% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/MonitorController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemMonitorController.java index fe031eab..b70a5558 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/MonitorController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemMonitorController.java @@ -1,6 +1,6 @@ package cn.odboy.core.controller.system; -import cn.odboy.core.api.system.SystemMonitorApi; +import cn.odboy.core.service.system.SystemMonitorApi; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RestController; @RequiredArgsConstructor @Api(tags = "系统-服务监控管理") @RequestMapping("/api/monitor") -public class MonitorController { +public class SystemMonitorController { private final SystemMonitorApi serverService; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/OnlineController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemOnlineController.java similarity index 73% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/OnlineController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemOnlineController.java index ea3bdb3b..ecbdff84 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/OnlineController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemOnlineController.java @@ -1,9 +1,9 @@ package cn.odboy.core.controller.system; -import cn.odboy.base.PageResult; -import cn.odboy.core.cache.api.SystemUserOnlineApi; -import cn.odboy.core.cache.service.SystemUserOnlineService; -import cn.odboy.core.service.system.dto.UserOnlineVo; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.redis.system.SystemUserOnlineApi; +import cn.odboy.core.dal.redis.system.SystemUserOnlineService; +import cn.odboy.core.dal.model.system.SystemUserOnlineVo; import cn.odboy.util.DesEncryptUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -12,13 +12,11 @@ import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.util.List; import java.util.Set; @@ -26,14 +24,14 @@ import java.util.Set; @RequiredArgsConstructor @RequestMapping("/auth/online") @Api(tags = "系统:在线用户管理") -public class OnlineController { +public class SystemOnlineController { private final SystemUserOnlineApi systemUserOnlineApi; private final SystemUserOnlineService systemUserOnlineService; @ApiOperation("查询在线用户") @GetMapping @PreAuthorize("@el.check()") - public ResponseEntity> queryOnlineUser(String username, Pageable pageable) { + public ResponseEntity>> queryOnlineUser(String username, Pageable pageable) { return new ResponseEntity<>(systemUserOnlineApi.describeUserOnlineModelPage(username, pageable), HttpStatus.OK); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/tools/QiniuController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemQiniuController.java similarity index 65% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/tools/QiniuController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemQiniuController.java index d8ae1233..1eec9975 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/tools/QiniuController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemQiniuController.java @@ -1,13 +1,13 @@ -package cn.odboy.core.controller.tools; +package cn.odboy.core.controller.system; -import cn.odboy.base.PageResult; -import cn.odboy.core.api.tools.QiniuConfigApi; -import cn.odboy.core.api.tools.QiniuContentApi; -import cn.odboy.core.dal.dataobject.tools.QiniuConfig; -import cn.odboy.core.dal.dataobject.tools.QiniuContent; -import cn.odboy.core.service.tools.QiniuConfigService; -import cn.odboy.core.service.tools.QiniuContentService; -import cn.odboy.core.service.tools.dto.QueryQiniuRequest; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.dataobject.system.SystemQiniuConfigTb; +import cn.odboy.core.dal.dataobject.system.SystemQiniuContentTb; +import cn.odboy.core.service.system.SystemQiniuConfigApi; +import cn.odboy.core.service.system.SystemQiniuConfigService; +import cn.odboy.core.service.system.SystemQiniuContentApi; +import cn.odboy.core.service.system.SystemQiniuContentService; +import cn.odboy.core.dal.model.system.QuerySystemQiniuArgs; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -16,18 +16,13 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -38,21 +33,21 @@ import java.util.Map; @RequiredArgsConstructor @RequestMapping("/api/qiNiuContent") @Api(tags = "工具:七牛云存储管理") -public class QiniuController { - private final QiniuContentService qiniuContentService; - private final QiniuConfigService qiNiuConfigService; - private final QiniuConfigApi qiniuConfigApi; - private final QiniuContentApi qiniuContentApi; +public class SystemQiniuController { + private final SystemQiniuContentService qiniuContentService; + private final SystemQiniuConfigService qiNiuConfigService; + private final SystemQiniuConfigApi qiniuConfigApi; + private final SystemQiniuContentApi qiniuContentApi; @ApiOperation("查询七牛云存储配置") @PostMapping(value = "/describeQiniuConfig") - public ResponseEntity describeQiniuConfig() { + public ResponseEntity describeQiniuConfig() { return new ResponseEntity<>(qiniuConfigApi.describeQiniuConfig(), HttpStatus.OK); } @ApiOperation("配置七牛云存储") @PostMapping(value = "/modifyQiniuConfig") - public ResponseEntity modifyQiniuConfig(@Validated @RequestBody QiniuConfig qiniuConfig) { + public ResponseEntity modifyQiniuConfig(@Validated @RequestBody SystemQiniuConfigTb qiniuConfig) { qiNiuConfigService.saveQiniuConfig(qiniuConfig); qiNiuConfigService.modifyQiniuConfigType(qiniuConfig.getType()); return new ResponseEntity<>(HttpStatus.OK); @@ -60,21 +55,21 @@ public class QiniuController { @ApiOperation("导出数据") @GetMapping(value = "/download") - public void exportQiNiu(HttpServletResponse response, QueryQiniuRequest criteria) throws IOException { + public void exportQiNiu(HttpServletResponse response, QuerySystemQiniuArgs criteria) throws IOException { qiniuContentService.downloadExcel(qiniuContentApi.describeQiniuContentList(criteria), response); } @ApiOperation("查询文件") @GetMapping - public ResponseEntity> queryQiNiu(QueryQiniuRequest criteria) { - Page page = new Page<>(criteria.getPage(), criteria.getSize()); + public ResponseEntity>> queryQiNiu(QuerySystemQiniuArgs criteria) { + Page page = new Page<>(criteria.getPage(), criteria.getSize()); return new ResponseEntity<>(qiniuContentApi.describeQiniuContentPage(criteria, page), HttpStatus.OK); } @ApiOperation("上传文件") @PostMapping public ResponseEntity uploadQiNiu(@RequestParam MultipartFile file) { - QiniuContent qiniuContent = qiniuContentService.uploadFile(file); + SystemQiniuContentTb qiniuContent = qiniuContentService.uploadFile(file); Map map = new HashMap<>(3); map.put("id", qiniuContent.getId()); map.put("errno", 0); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/job/QuartzJobController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemQuartzJobController.java similarity index 75% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/job/QuartzJobController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemQuartzJobController.java index 71f20668..c22c6bda 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/job/QuartzJobController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemQuartzJobController.java @@ -1,13 +1,13 @@ -package cn.odboy.core.controller.job; +package cn.odboy.core.controller.system; -import cn.odboy.base.PageResult; +import cn.odboy.base.CsResultVo; import cn.odboy.context.SpringBeanHolder; -import cn.odboy.core.api.system.SystemQuartzJobApi; -import cn.odboy.core.dal.dataobject.job.QuartzJob; -import cn.odboy.core.dal.dataobject.job.QuartzLog; +import cn.odboy.core.dal.dataobject.system.SystemQuartzJobTb; +import cn.odboy.core.dal.dataobject.system.SystemQuartzLogTb; +import cn.odboy.core.service.system.SystemQuartzJobApi; import cn.odboy.core.service.system.SystemQuartzJobService; -import cn.odboy.core.service.system.dto.QueryQuartzJobRequest; -import cn.odboy.core.service.system.dto.UpdateQuartzJobRequest; +import cn.odboy.core.dal.model.system.QuerySystemQuartzJobArgs; +import cn.odboy.core.dal.model.system.UpdateSystemQuartzJobArgs; import cn.odboy.exception.BadRequestException; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; @@ -18,16 +18,11 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.util.List; import java.util.Set; @@ -36,7 +31,7 @@ import java.util.Set; @RequiredArgsConstructor @RequestMapping("/api/jobs") @Api(tags = "系统:定时任务管理") -public class QuartzJobController { +public class SystemQuartzJobController { private static final String ENTITY_NAME = "quartzJob"; private final SystemQuartzJobService systemQuartzJobService; private final SystemQuartzJobApi systemQuartzJobApi; @@ -44,37 +39,37 @@ public class QuartzJobController { @ApiOperation("查询定时任务") @GetMapping @PreAuthorize("@el.check('timing:list')") - public ResponseEntity> queryQuartzJob(QueryQuartzJobRequest criteria) { - Page page = new Page<>(criteria.getPage(), criteria.getSize()); + public ResponseEntity>> queryQuartzJob(QuerySystemQuartzJobArgs criteria) { + Page page = new Page<>(criteria.getPage(), criteria.getSize()); return new ResponseEntity<>(systemQuartzJobApi.describeQuartzJobPage(criteria, page), HttpStatus.OK); } @ApiOperation("导出任务数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('timing:list')") - public void exportQuartzJob(HttpServletResponse response, QueryQuartzJobRequest criteria) throws IOException { + public void exportQuartzJob(HttpServletResponse response, QuerySystemQuartzJobArgs criteria) throws IOException { systemQuartzJobService.downloadQuartzJobExcel(systemQuartzJobApi.describeQuartzJobList(criteria), response); } @ApiOperation("导出日志数据") @GetMapping(value = "/logs/download") @PreAuthorize("@el.check('timing:list')") - public void exportQuartzJobLog(HttpServletResponse response, QueryQuartzJobRequest criteria) throws IOException { + public void exportQuartzJobLog(HttpServletResponse response, QuerySystemQuartzJobArgs criteria) throws IOException { systemQuartzJobService.downloadQuartzLogExcel(systemQuartzJobApi.describeQuartzLogList(criteria), response); } @ApiOperation("查询任务执行日志") @GetMapping(value = "/logs") @PreAuthorize("@el.check('timing:list')") - public ResponseEntity> queryQuartzJobLog(QueryQuartzJobRequest criteria) { - Page page = new Page<>(criteria.getPage(), criteria.getSize()); + public ResponseEntity>> queryQuartzJobLog(QuerySystemQuartzJobArgs criteria) { + Page page = new Page<>(criteria.getPage(), criteria.getSize()); return new ResponseEntity<>(systemQuartzJobApi.describeQuartzLogPage(criteria, page), HttpStatus.OK); } @ApiOperation("新增定时任务") @PostMapping @PreAuthorize("@el.check('timing:add')") - public ResponseEntity createQuartzJob(@Validated @RequestBody QuartzJob resources) { + public ResponseEntity createQuartzJob(@Validated @RequestBody SystemQuartzJobTb resources) { if (resources.getId() != null) { throw new BadRequestException("A new " + ENTITY_NAME + " cannot already have an ID"); } @@ -87,7 +82,7 @@ public class QuartzJobController { @ApiOperation("修改定时任务") @PutMapping @PreAuthorize("@el.check('timing:edit')") - public ResponseEntity updateQuartzJob(@Validated(QuartzJob.Update.class) @RequestBody UpdateQuartzJobRequest resources) { + public ResponseEntity updateQuartzJob(@Validated(SystemQuartzJobTb.Update.class) @RequestBody UpdateSystemQuartzJobArgs resources) { // 验证Bean是不是合法的,合法的定时任务 Bean 需要用 @Service 定义 checkBean(resources.getBeanName()); systemQuartzJobService.modifyQuartzJobResumeCron(resources); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/RoleController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemRoleController.java similarity index 75% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/RoleController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemRoleController.java index d9542ec1..9e282e50 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/RoleController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemRoleController.java @@ -1,13 +1,13 @@ package cn.odboy.core.controller.system; import cn.hutool.core.lang.Dict; -import cn.odboy.base.PageResult; -import cn.odboy.core.api.system.SystemRoleApi; -import cn.odboy.core.dal.dataobject.system.Role; -import cn.odboy.core.framework.permission.util.SecurityHelper; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.service.system.SystemRoleApi; +import cn.odboy.core.dal.dataobject.system.SystemRoleTb; +import cn.odboy.core.framework.permission.core.SecurityHelper; import cn.odboy.core.service.system.SystemRoleService; -import cn.odboy.core.service.system.dto.CreateRoleRequest; -import cn.odboy.core.service.system.dto.QueryRoleRequest; +import cn.odboy.core.dal.model.system.CreateSystemRoleArgs; +import cn.odboy.core.dal.model.system.QuerySystemRoleArgs; import cn.odboy.exception.BadRequestException; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; @@ -17,11 +17,8 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Collections; @@ -34,35 +31,35 @@ import java.util.stream.Collectors; @RequiredArgsConstructor @Api(tags = "系统:角色管理") @RequestMapping("/api/roles") -public class RoleController { +public class SystemRoleController { private final SystemRoleApi systemRoleApi; private final SystemRoleService systemRoleService; @ApiOperation("获取单个role") @PostMapping(value = "/describeRoleById") @PreAuthorize("@el.check('roles:list')") - public ResponseEntity describeRoleById(@RequestBody Role args) { + public ResponseEntity describeRoleById(@RequestBody SystemRoleTb args) { return new ResponseEntity<>(systemRoleApi.describeRoleById(args.getId()), HttpStatus.OK); } @ApiOperation("导出角色数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('role:list')") - public void exportRole(HttpServletResponse response, QueryRoleRequest criteria) throws IOException { + public void exportRole(HttpServletResponse response, QuerySystemRoleArgs criteria) throws IOException { systemRoleService.downloadRoleExcel(systemRoleApi.describeRoleList(criteria), response); } @ApiOperation("返回全部的角色") @PostMapping(value = "/describeRoleList") @PreAuthorize("@el.check('roles:list','user:add','user:edit')") - public ResponseEntity> describeRoleList() { + public ResponseEntity> describeRoleList() { return new ResponseEntity<>(systemRoleApi.describeRoleList(), HttpStatus.OK); } @ApiOperation("查询角色") @GetMapping @PreAuthorize("@el.check('roles:list')") - public ResponseEntity> describeRolePage(QueryRoleRequest criteria) { + public ResponseEntity>> describeRolePage(QuerySystemRoleArgs criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); return new ResponseEntity<>(systemRoleApi.describeRolePage(criteria, page), HttpStatus.OK); } @@ -76,7 +73,7 @@ public class RoleController { @ApiOperation("新增角色") @PostMapping(value = "/saveRole") @PreAuthorize("@el.check('roles:add')") - public ResponseEntity saveRole(@Validated @RequestBody CreateRoleRequest resources) { + public ResponseEntity saveRole(@Validated @RequestBody CreateSystemRoleArgs resources) { checkRoleLevels(resources.getLevel()); systemRoleService.saveRole(resources); return new ResponseEntity<>(HttpStatus.CREATED); @@ -85,7 +82,7 @@ public class RoleController { @ApiOperation("修改角色") @PostMapping(value = "/modifyRoleById") @PreAuthorize("@el.check('roles:edit')") - public ResponseEntity modifyRoleById(@Validated(Role.Update.class) @RequestBody Role resources) { + public ResponseEntity modifyRoleById(@Validated(SystemRoleTb.Update.class) @RequestBody SystemRoleTb resources) { checkRoleLevels(resources.getLevel()); systemRoleService.modifyRoleById(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); @@ -94,8 +91,8 @@ public class RoleController { @ApiOperation("修改角色菜单") @PostMapping(value = "/modifyBindMenuById") @PreAuthorize("@el.check('roles:edit')") - public ResponseEntity modifyBindMenuById(@RequestBody Role resources) { - Role role = systemRoleService.getById(resources.getId()); + public ResponseEntity modifyBindMenuById(@RequestBody SystemRoleTb resources) { + SystemRoleTb role = systemRoleService.getById(resources.getId()); checkRoleLevels(role.getLevel()); systemRoleService.modifyBindMenuById(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); @@ -106,7 +103,7 @@ public class RoleController { @PreAuthorize("@el.check('roles:del')") public ResponseEntity removeRoleByIds(@RequestBody Set ids) { for (Long id : ids) { - Role role = systemRoleService.getById(id); + SystemRoleTb role = systemRoleService.getById(id); checkRoleLevels(role.getLevel()); } // 验证是否被用户关联 @@ -121,7 +118,7 @@ public class RoleController { * @return / */ private int checkRoleLevels(Integer level) { - List levels = systemRoleApi.describeRoleListByUsersId(SecurityHelper.getCurrentUserId()).stream().map(Role::getLevel).collect(Collectors.toList()); + List levels = systemRoleApi.describeRoleListByUsersId(SecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).collect(Collectors.toList()); int min = Collections.min(levels); if (level != null) { if (level < min) { diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/UserController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemUserController.java similarity index 70% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/UserController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemUserController.java index 1baba2b2..50ff4879 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/UserController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemUserController.java @@ -1,22 +1,19 @@ package cn.odboy.core.controller.system; import cn.hutool.core.collection.CollectionUtil; -import cn.odboy.base.MyMetaOption; -import cn.odboy.base.PageResult; -import cn.odboy.core.api.system.SystemDataApi; -import cn.odboy.core.api.system.SystemDeptApi; -import cn.odboy.core.api.system.SystemRoleApi; -import cn.odboy.core.api.system.SystemUserApi; -import cn.odboy.core.constant.CaptchaBizEnum; -import cn.odboy.core.dal.dataobject.system.Dept; -import cn.odboy.core.dal.dataobject.system.Role; -import cn.odboy.core.dal.dataobject.system.User; -import cn.odboy.core.dal.model.UpdateUserPasswordResponse; -import cn.odboy.core.framework.permission.util.SecurityHelper; +import cn.odboy.base.CsResultVo; +import cn.odboy.base.CsSelectOptionItemVo; +import cn.odboy.core.service.system.*; +import cn.odboy.core.service.system.ookkoko.SystemDataService; +import cn.odboy.core.constant.system.SystemCaptchaBizEnum; +import cn.odboy.core.dal.dataobject.system.SystemDeptTb; +import cn.odboy.core.dal.dataobject.system.SystemRoleTb; +import cn.odboy.core.dal.dataobject.system.SystemUserTb; +import cn.odboy.core.dal.model.system.UpdateSystemUserPasswordArgs; +import cn.odboy.core.framework.permission.core.SecurityHelper; import cn.odboy.core.framework.properties.AppProperties; -import cn.odboy.core.service.system.SystemUserService; -import cn.odboy.core.service.system.dto.QueryUserRequest; -import cn.odboy.core.service.tools.CaptchaService; +import cn.odboy.core.dal.model.system.QuerySystemUserArgs; +import cn.odboy.core.service.system.ookkoko.SystemDeptService; import cn.odboy.exception.BadRequestException; import cn.odboy.util.PageUtil; import cn.odboy.util.RsaEncryptUtil; @@ -32,58 +29,49 @@ import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; @Api(tags = "系统:用户管理") @RestController @RequestMapping("/api/users") @RequiredArgsConstructor -public class UserController { +public class SystemUserController { private final PasswordEncoder passwordEncoder; private final SystemUserService systemUserService; - private final SystemDataApi systemDataApi; - private final SystemDeptApi systemDeptApi; + private final SystemDataService systemDataService; + private final SystemDeptService systemDeptService; private final SystemRoleApi systemRoleApi; private final SystemUserApi systemUserApi; - private final CaptchaService verificationCodeService; + private final SystemCaptchaService verificationCodeService; private final AppProperties properties; @ApiOperation("导出用户数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('user:list')") - public void downloadUserExcel(HttpServletResponse response, QueryUserRequest criteria) throws IOException { + public void downloadUserExcel(HttpServletResponse response, QuerySystemUserArgs criteria) throws IOException { systemUserService.downloadUserExcel(systemUserApi.describeUserList(criteria), response); } @ApiOperation("查询用户") @GetMapping @PreAuthorize("@el.check('user:list')") - public ResponseEntity> queryUser(QueryUserRequest criteria) { + public ResponseEntity>> queryUser(QuerySystemUserArgs criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); if (!ObjectUtils.isEmpty(criteria.getDeptId())) { criteria.getDeptIds().add(criteria.getDeptId()); // 先查找是否存在子节点 - List data = systemDeptApi.describeDeptListByPid(criteria.getDeptId()); + List data = systemDeptService.describeDeptListByPid(criteria.getDeptId()); // 然后把子节点的ID都加入到集合中 - criteria.getDeptIds().addAll(systemDeptApi.describeChildDeptIdListByDeptIds(data)); + criteria.getDeptIds().addAll(systemDeptService.describeChildDeptIdListByDeptIds(data)); } // 数据权限 - List dataScopes = systemDataApi.describeDeptIdListByUserIdWithDeptId(systemUserApi.describeUserByUsername(SecurityHelper.getCurrentUsername())); + List dataScopes = systemDataService.describeDeptIdListByUserIdWithDeptId(systemUserApi.describeUserByUsername(SecurityHelper.getCurrentUsername())); // criteria.getDeptIds() 不为空并且数据权限不为空则取交集 if (!CollectionUtils.isEmpty(criteria.getDeptIds()) && !CollectionUtils.isEmpty(dataScopes)) { // 取交集 @@ -96,13 +84,13 @@ public class UserController { criteria.getDeptIds().addAll(dataScopes); return new ResponseEntity<>(systemUserApi.describeUserPage(criteria, page), HttpStatus.OK); } - return new ResponseEntity<>(PageUtil.noData(), HttpStatus.OK); + return new ResponseEntity<>(PageUtil.emptyData(), HttpStatus.OK); } @ApiOperation("新增用户") @PostMapping(value = "/saveUser") @PreAuthorize("@el.check('user:add')") - public ResponseEntity saveUser(@Validated @RequestBody User resources) { + public ResponseEntity saveUser(@Validated @RequestBody SystemUserTb resources) { checkLevel(resources); // 默认密码 123456 resources.setPassword(passwordEncoder.encode("123456")); @@ -113,7 +101,7 @@ public class UserController { @ApiOperation("修改用户") @PostMapping(value = "/modifyUserById") @PreAuthorize("@el.check('user:edit')") - public ResponseEntity modifyUserById(@Validated(User.Update.class) @RequestBody User resources) throws Exception { + public ResponseEntity modifyUserById(@Validated(SystemUserTb.Update.class) @RequestBody SystemUserTb resources) throws Exception { checkLevel(resources); systemUserService.modifyUserById(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); @@ -121,7 +109,7 @@ public class UserController { @ApiOperation("修改用户:个人中心") @PostMapping(value = "modifyUserCenterInfoById") - public ResponseEntity modifyUserCenterInfoById(@Validated(User.Update.class) @RequestBody User resources) { + public ResponseEntity modifyUserCenterInfoById(@Validated(SystemUserTb.Update.class) @RequestBody SystemUserTb resources) { if (!resources.getId().equals(SecurityHelper.getCurrentUserId())) { throw new BadRequestException("不能修改他人资料"); } @@ -134,8 +122,8 @@ public class UserController { @PreAuthorize("@el.check('user:del')") public ResponseEntity removeUserByIds(@RequestBody Set ids) { for (Long id : ids) { - Integer currentLevel = Collections.min(systemRoleApi.describeRoleListByUsersId(SecurityHelper.getCurrentUserId()).stream().map(Role::getLevel).collect(Collectors.toList())); - Integer optLevel = Collections.min(systemRoleApi.describeRoleListByUsersId(id).stream().map(Role::getLevel).collect(Collectors.toList())); + Integer currentLevel = Collections.min(systemRoleApi.describeRoleListByUsersId(SecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).collect(Collectors.toList())); + Integer optLevel = Collections.min(systemRoleApi.describeRoleListByUsersId(id).stream().map(SystemRoleTb::getLevel).collect(Collectors.toList())); if (currentLevel > optLevel) { throw new BadRequestException("角色权限不足,不能删除:" + systemUserApi.describeUserById(id).getUsername()); } @@ -146,10 +134,10 @@ public class UserController { @ApiOperation("修改密码") @PostMapping(value = "/modifyUserPasswordByUsername") - public ResponseEntity modifyUserPasswordByUsername(@RequestBody UpdateUserPasswordResponse passVo) throws Exception { + public ResponseEntity modifyUserPasswordByUsername(@RequestBody UpdateSystemUserPasswordArgs passVo) throws Exception { String oldPass = RsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), passVo.getOldPass()); String newPass = RsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), passVo.getNewPass()); - User user = systemUserApi.describeUserByUsername(SecurityHelper.getCurrentUsername()); + SystemUserTb user = systemUserApi.describeUserByUsername(SecurityHelper.getCurrentUsername()); if (!passwordEncoder.matches(oldPass, user.getPassword())) { throw new BadRequestException("修改失败,旧密码错误"); } @@ -176,13 +164,13 @@ public class UserController { @ApiOperation("修改邮箱") @PostMapping(value = "/modifyUserEmailByUsername/{code}") - public ResponseEntity modifyUserEmailByUsername(@PathVariable String code, @RequestBody User resources) throws Exception { + public ResponseEntity modifyUserEmailByUsername(@PathVariable String code, @RequestBody SystemUserTb resources) throws Exception { String password = RsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), resources.getPassword()); - User user = systemUserApi.describeUserByUsername(SecurityHelper.getCurrentUsername()); + SystemUserTb user = systemUserApi.describeUserByUsername(SecurityHelper.getCurrentUsername()); if (!passwordEncoder.matches(password, user.getPassword())) { throw new BadRequestException("密码错误"); } - verificationCodeService.checkCodeAvailable(CaptchaBizEnum.EMAIL_RESET_EMAIL_CODE.getBizCode(), resources.getEmail(), code); + verificationCodeService.checkCodeAvailable(SystemCaptchaBizEnum.EMAIL_RESET_EMAIL_CODE.getBizCode(), resources.getEmail(), code); systemUserService.modifyUserEmailByUsername(user.getUsername(), resources.getEmail()); return new ResponseEntity<>(HttpStatus.OK); } @@ -192,8 +180,8 @@ public class UserController { * * @param resources / */ - private void checkLevel(User resources) { - Integer currentLevel = Collections.min(systemRoleApi.describeRoleListByUsersId(SecurityHelper.getCurrentUserId()).stream().map(Role::getLevel).collect(Collectors.toList())); + private void checkLevel(SystemUserTb resources) { + Integer currentLevel = Collections.min(systemRoleApi.describeRoleListByUsersId(SecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).collect(Collectors.toList())); Integer optLevel = systemRoleApi.describeDeptLevelByRoles(resources.getRoles()); if (currentLevel > optLevel) { throw new BadRequestException("角色权限不足"); @@ -203,17 +191,17 @@ public class UserController { @ApiOperation("查询用户基础数据") @PostMapping(value = "/describeUserMetadataOptions") @PreAuthorize("@el.check('user:list')") - public ResponseEntity> queryUserMetadataOptions(@Validated @RequestBody QueryUserRequest criteria) { + public ResponseEntity> queryUserMetadataOptions(@Validated @RequestBody QuerySystemUserArgs criteria) { int maxPageSize = 50; - return new ResponseEntity<>(systemUserService.page(new Page<>(criteria.getPage(), maxPageSize), new LambdaQueryWrapper() + return new ResponseEntity<>(systemUserService.page(new Page<>(criteria.getPage(), maxPageSize), new LambdaQueryWrapper() .and(c -> { - c.eq(User::getPhone, criteria.getBlurry()); + c.eq(SystemUserTb::getPhone, criteria.getBlurry()); c.or(); - c.eq(User::getEmail, criteria.getBlurry()); + c.eq(SystemUserTb::getEmail, criteria.getBlurry()); c.or(); - c.like(User::getUsername, criteria.getBlurry()); + c.like(SystemUserTb::getUsername, criteria.getBlurry()); c.or(); - c.like(User::getNickName, criteria.getBlurry()); + c.like(SystemUserTb::getNickName, criteria.getBlurry()); }) ).getRecords().stream().map(m -> { Map ext = new HashMap<>(1); @@ -221,7 +209,7 @@ public class UserController { ext.put("deptId", m.getDeptId()); ext.put("email", m.getEmail()); ext.put("phone", m.getPhone()); - return MyMetaOption.builder() + return CsSelectOptionItemVo.builder() .label(m.getNickName()) .value(m.getUsername()) .ext(ext) diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/Dept.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemDeptTb.java similarity index 90% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/Dept.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemDeptTb.java index 623c12ed..713821ee 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/Dept.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemDeptTb.java @@ -1,6 +1,6 @@ package cn.odboy.core.dal.dataobject.system; -import cn.odboy.base.MyEntity; +import cn.odboy.base.CsBaseUserTimeTb; import com.alibaba.fastjson2.annotation.JSONField; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; + import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.List; @@ -18,7 +19,7 @@ import java.util.Set; @Getter @Setter @TableName("system_dept") -public class Dept extends MyEntity { +public class SystemDeptTb extends CsBaseUserTimeTb { @NotNull(groups = Update.class) @TableId(value = "dept_id", type = IdType.AUTO) @@ -28,11 +29,11 @@ public class Dept extends MyEntity { @TableField(exist = false) @JSONField(serialize = false) @ApiModelProperty(value = "角色") - private Set roles; + private Set roles; @TableField(exist = false) @ApiModelProperty(value = "子部门") - private List children; + private List children; @ApiModelProperty(value = "排序") private Integer deptSort; @@ -59,7 +60,7 @@ public class Dept extends MyEntity { if (o == null || getClass() != o.getClass()) { return false; } - Dept dept = (Dept) o; + SystemDeptTb dept = (SystemDeptTb) o; return Objects.equals(id, dept.id) && Objects.equals(name, dept.name); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/DictDetail.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemDictDetailTb.java similarity index 88% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/DictDetail.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemDictDetailTb.java index 936b5b57..aad39ce5 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/DictDetail.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemDictDetailTb.java @@ -1,6 +1,6 @@ package cn.odboy.core.dal.dataobject.system; -import cn.odboy.base.MyEntity; +import cn.odboy.base.CsBaseUserTimeTb; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -8,12 +8,13 @@ import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; + import javax.validation.constraints.NotNull; @Getter @Setter @TableName("system_dict_detail") -public class DictDetail extends MyEntity { +public class SystemDictDetailTb extends CsBaseUserTimeTb { @NotNull(groups = Update.class) @ApiModelProperty(value = "ID", hidden = true) @@ -26,7 +27,7 @@ public class DictDetail extends MyEntity { @TableField(exist = false) @ApiModelProperty(value = "字典") - private Dict dict; + private SystemDictTb dict; @ApiModelProperty(value = "字典标签") private String label; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/Dict.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemDictTb.java similarity index 65% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/Dict.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemDictTb.java index 0085d7f6..04085cfd 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/Dict.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemDictTb.java @@ -1,14 +1,11 @@ package cn.odboy.core.dal.dataobject.system; -import cn.odboy.base.MyEntity; -import com.baomidou.mybatisplus.annotation.FieldStrategy; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import cn.odboy.base.CsBaseUserTimeTb; +import com.baomidou.mybatisplus.annotation.*; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; + import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @@ -16,7 +13,7 @@ import javax.validation.constraints.NotNull; @Getter @Setter @TableName("system_dict") -public class Dict extends MyEntity { +public class SystemDictTb extends CsBaseUserTimeTb { @NotNull(groups = Update.class) @ApiModelProperty(value = "ID", hidden = true) diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/tools/EmailConfig.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemEmailConfigTb.java similarity index 82% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/tools/EmailConfig.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemEmailConfigTb.java index 479b8acd..73c2b06c 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/tools/EmailConfig.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemEmailConfigTb.java @@ -1,20 +1,21 @@ -package cn.odboy.core.dal.dataobject.tools; +package cn.odboy.core.dal.dataobject.system; -import cn.odboy.base.MyObject; +import cn.odboy.base.CsSerializeObject; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; + import javax.validation.constraints.NotBlank; /** * 邮件配置类,数据存覆盖式存入数据存 */ @Data -@TableName("tool_email_config") +@TableName("system_email_config") @EqualsAndHashCode(callSuper = false) -public class EmailConfig extends MyObject { +public class SystemEmailConfigTb extends CsSerializeObject { @TableId("config_id") private Long id; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/Job.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemJobTb.java similarity index 89% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/Job.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemJobTb.java index b1ab2b6d..bd59bdca 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/Job.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemJobTb.java @@ -1,12 +1,13 @@ package cn.odboy.core.dal.dataobject.system; -import cn.odboy.base.MyEntity; +import cn.odboy.base.CsBaseUserTimeTb; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; + import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.Objects; @@ -15,7 +16,7 @@ import java.util.Objects; @Getter @Setter @TableName("system_job") -public class Job extends MyEntity { +public class SystemJobTb extends CsBaseUserTimeTb { @NotNull(groups = Update.class) @TableId(value = "id", type = IdType.AUTO) @@ -42,7 +43,7 @@ public class Job extends MyEntity { if (o == null || getClass() != o.getClass()) { return false; } - Job job = (Job) o; + SystemJobTb job = (SystemJobTb) o; return Objects.equals(id, job.id); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/tools/LocalStorage.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemLocalStorageTb.java similarity index 77% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/tools/LocalStorage.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemLocalStorageTb.java index fa6e339e..609a70fa 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/tools/LocalStorage.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemLocalStorageTb.java @@ -1,8 +1,8 @@ -package cn.odboy.core.dal.dataobject.tools; +package cn.odboy.core.dal.dataobject.system; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; -import cn.odboy.base.MyEntity; +import cn.odboy.base.CsBaseUserTimeTb; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -14,8 +14,8 @@ import lombok.Setter; @Getter @Setter @NoArgsConstructor -@TableName("tool_local_storage") -public class LocalStorage extends MyEntity { +@TableName("system_local_storage") +public class SystemLocalStorageTb extends CsBaseUserTimeTb { @TableId(value = "id", type = IdType.AUTO) @ApiModelProperty(value = "ID", hidden = true) @@ -39,7 +39,7 @@ public class LocalStorage extends MyEntity { @ApiModelProperty(value = "大小") private String size; - public LocalStorage(String realName, String name, String suffix, String path, String type, String size) { + public SystemLocalStorageTb(String realName, String name, String suffix, String path, String type, String size) { this.realName = realName; this.name = name; this.suffix = suffix; @@ -48,7 +48,7 @@ public class LocalStorage extends MyEntity { this.size = size; } - public void copy(LocalStorage source) { + public void copy(SystemLocalStorageTb source) { BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true)); } } \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/Menu.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemMenuTb.java similarity index 92% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/Menu.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemMenuTb.java index 531a8c79..c4ad7a4c 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/Menu.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemMenuTb.java @@ -1,6 +1,6 @@ package cn.odboy.core.dal.dataobject.system; -import cn.odboy.base.MyEntity; +import cn.odboy.base.CsBaseUserTimeTb; import com.alibaba.fastjson2.annotation.JSONField; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; + import javax.validation.constraints.NotNull; import java.util.List; import java.util.Objects; @@ -17,7 +18,7 @@ import java.util.Set; @Getter @Setter @TableName("system_menu") -public class Menu extends MyEntity { +public class SystemMenuTb extends CsBaseUserTimeTb { @NotNull(groups = {Update.class}) @TableId(value = "menu_id", type = IdType.AUTO) @@ -27,10 +28,10 @@ public class Menu extends MyEntity { @TableField(exist = false) @JSONField(serialize = false) @ApiModelProperty(value = "菜单角色") - private Set roles; + private Set roles; @TableField(exist = false) - private List children; + private List children; @ApiModelProperty(value = "菜单标题") private String title; @@ -80,7 +81,7 @@ public class Menu extends MyEntity { if (o == null || getClass() != o.getClass()) { return false; } - Menu menu = (Menu) o; + SystemMenuTb menu = (SystemMenuTb) o; return Objects.equals(id, menu.id); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/tools/QiniuConfig.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemQiniuConfigTb.java similarity index 87% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/tools/QiniuConfig.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemQiniuConfigTb.java index 71983697..5e3f63f7 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/tools/QiniuConfig.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemQiniuConfigTb.java @@ -1,20 +1,21 @@ -package cn.odboy.core.dal.dataobject.tools; +package cn.odboy.core.dal.dataobject.system; -import cn.odboy.base.MyObject; +import cn.odboy.base.CsSerializeObject; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; + import javax.validation.constraints.NotBlank; /** * 七牛云对象存储配置类 */ @Data -@TableName("tool_qiniu_config") +@TableName("system_qiniu_config") @EqualsAndHashCode(callSuper = false) -public class QiniuConfig extends MyObject { +public class SystemQiniuConfigTb extends CsSerializeObject { @TableId("config_id") private Long id; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/tools/QiniuContent.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemQiniuContentTb.java similarity index 69% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/tools/QiniuContent.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemQiniuContentTb.java index dd0e0518..e1e02fdc 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/tools/QiniuContent.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemQiniuContentTb.java @@ -1,23 +1,20 @@ -package cn.odboy.core.dal.dataobject.tools; +package cn.odboy.core.dal.dataobject.system; -import cn.odboy.base.MyObject; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import cn.odboy.base.CsSerializeObject; +import com.baomidou.mybatisplus.annotation.*; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; + import java.util.Date; /** * 上传成功后,存储结果 */ @Data -@TableName("tool_qiniu_content") +@TableName("system_qiniu_content") @EqualsAndHashCode(callSuper = false) -public class QiniuContent extends MyObject { +public class SystemQiniuContentTb extends CsSerializeObject { @TableId(value = "id", type = IdType.AUTO) @ApiModelProperty(value = "ID", hidden = true) diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/job/QuartzJob.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemQuartzJobTb.java similarity index 79% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/job/QuartzJob.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemQuartzJobTb.java index 9ea6ddf2..902d8937 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/job/QuartzJob.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemQuartzJobTb.java @@ -1,14 +1,11 @@ -package cn.odboy.core.dal.dataobject.job; +package cn.odboy.core.dal.dataobject.system; -import cn.odboy.base.MyEntity; -import com.baomidou.mybatisplus.annotation.FieldStrategy; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import cn.odboy.base.CsBaseUserTimeTb; +import com.baomidou.mybatisplus.annotation.*; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; + import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @@ -16,7 +13,7 @@ import javax.validation.constraints.NotNull; @Getter @Setter @TableName("system_quartz_job") -public class QuartzJob extends MyEntity { +public class SystemQuartzJobTb extends CsBaseUserTimeTb { public static final String JOB_KEY = "JOB_KEY"; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/job/QuartzLog.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemQuartzLogTb.java similarity index 75% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/job/QuartzLog.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemQuartzLogTb.java index a730e63e..477be3a7 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/job/QuartzLog.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemQuartzLogTb.java @@ -1,20 +1,17 @@ -package cn.odboy.core.dal.dataobject.job; +package cn.odboy.core.dal.dataobject.system; -import cn.odboy.base.MyObject; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import cn.odboy.base.CsSerializeObject; +import com.baomidou.mybatisplus.annotation.*; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; + import java.util.Date; @Data @TableName("system_quartz_log") @EqualsAndHashCode(callSuper = false) -public class QuartzLog extends MyObject { +public class SystemQuartzLogTb extends CsSerializeObject { @TableId(value = "id", type = IdType.AUTO) @ApiModelProperty(value = "ID", hidden = true) diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/Role.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemRoleTb.java similarity index 72% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/Role.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemRoleTb.java index dde30f98..a8b05e4a 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/Role.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemRoleTb.java @@ -1,15 +1,12 @@ package cn.odboy.core.dal.dataobject.system; -import cn.odboy.base.MyEntity; -import cn.odboy.core.constant.DataScopeEnum; -import com.baomidou.mybatisplus.annotation.FieldStrategy; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import cn.odboy.base.CsBaseUserTimeTb; +import cn.odboy.core.constant.system.SystemDataScopeEnum; +import com.baomidou.mybatisplus.annotation.*; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; + import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.Objects; @@ -21,7 +18,7 @@ import java.util.Set; @Getter @Setter @TableName("system_role") -public class Role extends MyEntity { +public class SystemRoleTb extends CsBaseUserTimeTb { @NotNull(groups = {Update.class}) @TableId(value = "role_id", type = IdType.AUTO) @@ -30,22 +27,22 @@ public class Role extends MyEntity { @TableField(exist = false) @ApiModelProperty(value = "用户", hidden = true) - private Set users; + private Set users; @TableField(exist = false) @ApiModelProperty(value = "菜单", hidden = true) - private Set menus; + private Set menus; @TableField(exist = false) @ApiModelProperty(value = "部门", hidden = true) - private Set depts; + private Set depts; @NotBlank @ApiModelProperty(value = "名称", hidden = true) private String name; @ApiModelProperty(value = "数据权限,全部 、 本级 、 自定义") - private String dataScope = DataScopeEnum.THIS_LEVEL.getValue(); + private String dataScope = SystemDataScopeEnum.THIS_LEVEL.getValue(); @ApiModelProperty(value = "级别,数值越小,级别越大") private Integer level = 3; @@ -62,7 +59,7 @@ public class Role extends MyEntity { if (o == null || getClass() != o.getClass()) { return false; } - Role role = (Role) o; + SystemRoleTb role = (SystemRoleTb) o; return Objects.equals(id, role.id); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/User.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemUserTb.java similarity index 91% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/User.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemUserTb.java index b18ae78f..06814195 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/User.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/dataobject/system/SystemUserTb.java @@ -1,6 +1,6 @@ package cn.odboy.core.dal.dataobject.system; -import cn.odboy.base.MyEntity; +import cn.odboy.base.CsBaseUserTimeTb; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; + import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @@ -18,7 +19,7 @@ import java.util.Set; @Getter @Setter @TableName("system_user") -public class User extends MyEntity { +public class SystemUserTb extends CsBaseUserTimeTb { @NotNull(groups = Update.class) @TableId(value = "user_id", type = IdType.AUTO) @@ -27,11 +28,11 @@ public class User extends MyEntity { @TableField(exist = false) @ApiModelProperty(value = "用户角色") - private Set roles; + private Set roles; @TableField(exist = false) @ApiModelProperty(value = "用户岗位") - private Set jobs; + private Set jobs; @TableField(value = "dept_id") @ApiModelProperty(hidden = true) @@ -39,7 +40,7 @@ public class User extends MyEntity { @ApiModelProperty(value = "用户部门") @TableField(exist = false) - private Dept dept; + private SystemDeptTb dept; @NotBlank @ApiModelProperty(value = "用户名称") @@ -88,7 +89,7 @@ public class User extends MyEntity { if (o == null || getClass() != o.getClass()) { return false; } - User user = (User) o; + SystemUserTb user = (SystemUserTb) o; return Objects.equals(id, user.id) && Objects.equals(username, user.username); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/UserInfoResponse.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/UserInfoResponse.java deleted file mode 100644 index 26db343f..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/UserInfoResponse.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.odboy.core.dal.model; - -import cn.odboy.base.MyObject; -import cn.odboy.core.service.system.dto.RoleCodeVo; -import cn.odboy.core.service.system.dto.SimpleUserVo; -import lombok.Data; -import lombok.EqualsAndHashCode; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; - -@Data -@EqualsAndHashCode(callSuper = false) -public class UserInfoResponse extends MyObject { - private SimpleUserVo user; - private List dataScopes; - private List authorities; - - public Set getRoles() { - return authorities.stream().map(RoleCodeVo::getAuthority).collect(Collectors.toSet()); - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/CreateDeptRequest.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/CreateSystemDeptArgs.java similarity index 75% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/CreateDeptRequest.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/CreateSystemDeptArgs.java index 1b7cfa93..7604cbc4 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/CreateDeptRequest.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/CreateSystemDeptArgs.java @@ -1,14 +1,15 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; -import cn.odboy.base.MyObject; +import cn.odboy.base.CsSerializeObject; import lombok.Data; import lombok.EqualsAndHashCode; + import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @Data @EqualsAndHashCode(callSuper = false) -public class CreateDeptRequest extends MyObject { +public class CreateSystemDeptArgs extends CsSerializeObject { @NotBlank(message = "部门名称必填") private String name; @NotNull(message = "部门排序必填") diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/CreateDictRequest.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/CreateSystemDictArgs.java similarity index 63% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/CreateDictRequest.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/CreateSystemDictArgs.java index 5c9cd19d..c9e47106 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/CreateDictRequest.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/CreateSystemDictArgs.java @@ -1,13 +1,14 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; -import cn.odboy.base.MyObject; +import cn.odboy.base.CsSerializeObject; import lombok.Data; import lombok.EqualsAndHashCode; + import javax.validation.constraints.NotBlank; @Data @EqualsAndHashCode(callSuper = false) -public class CreateDictRequest extends MyObject { +public class CreateSystemDictArgs extends CsSerializeObject { @NotBlank(message = "字典名称必填") private String name; private String description; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/CreateDictDetailRequest.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/CreateSystemDictDetailArgs.java similarity index 65% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/CreateDictDetailRequest.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/CreateSystemDictDetailArgs.java index d8ad9b88..a7318195 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/CreateDictDetailRequest.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/CreateSystemDictDetailArgs.java @@ -1,17 +1,18 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; -import cn.odboy.base.MyObject; -import cn.odboy.core.dal.dataobject.system.Dict; +import cn.odboy.base.CsSerializeObject; +import cn.odboy.core.dal.dataobject.system.SystemDictTb; import lombok.Data; import lombok.EqualsAndHashCode; + import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @Data @EqualsAndHashCode(callSuper = false) -public class CreateDictDetailRequest extends MyObject { +public class CreateSystemDictDetailArgs extends CsSerializeObject { @NotBlank(message = "参数dict必填") - private Dict dict; + private SystemDictTb dict; @NotBlank(message = "字典标签必填") private String label; @NotBlank(message = "字典值必填") diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/CreateJobRequest.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/CreateSystemJobArgs.java similarity index 72% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/CreateJobRequest.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/CreateSystemJobArgs.java index e779709c..900fc9c5 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/CreateJobRequest.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/CreateSystemJobArgs.java @@ -1,14 +1,15 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; -import cn.odboy.base.MyObject; +import cn.odboy.base.CsSerializeObject; import lombok.Data; import lombok.EqualsAndHashCode; + import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @Data @EqualsAndHashCode(callSuper = false) -public class CreateJobRequest extends MyObject { +public class CreateSystemJobArgs extends CsSerializeObject { @NotBlank(message = "职位名称必填") private String name; @NotNull(message = "职位排序必填") diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/CreateRoleRequest.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/CreateSystemRoleArgs.java similarity index 68% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/CreateRoleRequest.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/CreateSystemRoleArgs.java index 68ad4edd..a9d35252 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/CreateRoleRequest.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/CreateSystemRoleArgs.java @@ -1,16 +1,17 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; -import cn.odboy.base.MyObject; -import cn.odboy.core.dal.dataobject.system.Dept; +import cn.odboy.base.CsSerializeObject; +import cn.odboy.core.dal.dataobject.system.SystemDeptTb; import lombok.Data; import lombok.EqualsAndHashCode; + import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.Set; @Data @EqualsAndHashCode(callSuper = false) -public class CreateRoleRequest extends MyObject { +public class CreateSystemRoleArgs extends CsSerializeObject { @NotBlank(message = "角色名称必填") private String name; @NotNull(message = "角色级别必填") @@ -22,5 +23,5 @@ public class CreateRoleRequest extends MyObject { * 关联的部门 */ private Long id; - private Set depts; + private Set depts; } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryDeptRequest.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemDeptArgs.java similarity index 88% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryDeptRequest.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemDeptArgs.java index c3e5a2a0..5924ece8 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryDeptRequest.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemDeptArgs.java @@ -1,12 +1,13 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; import io.swagger.annotations.ApiModelProperty; import lombok.Data; + import java.util.Date; import java.util.List; @Data -public class QueryDeptRequest { +public class QuerySystemDeptArgs { @ApiModelProperty(value = "部门id集合") private List ids; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryDictRequest.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemDictArgs.java similarity index 81% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryDictRequest.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemDictArgs.java index 5dc3607e..49c5bca9 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryDictRequest.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemDictArgs.java @@ -1,10 +1,10 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data -public class QueryDictRequest { +public class QuerySystemDictArgs { @ApiModelProperty(value = "模糊查询") private String blurry; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryDictDetailRequest.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemDictDetailArgs.java similarity index 83% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryDictDetailRequest.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemDictDetailArgs.java index 1c246dca..2db67c33 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryDictDetailRequest.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemDictDetailArgs.java @@ -1,10 +1,10 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data -public class QueryDictDetailRequest { +public class QuerySystemDictDetailArgs { @ApiModelProperty(value = "标签") private String label; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryJobRequest.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemJobArgs.java similarity index 88% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryJobRequest.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemJobArgs.java index 0fc72226..84aeae70 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryJobRequest.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemJobArgs.java @@ -1,15 +1,16 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.NoArgsConstructor; + import java.util.Date; import java.util.List; @Data @NoArgsConstructor -public class QueryJobRequest { +public class QuerySystemJobArgs { @ApiModelProperty(value = "岗位名称") private String name; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/dto/QueryLocalStorageRequest.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemLocalStorageArgs.java similarity index 84% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/dto/QueryLocalStorageRequest.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemLocalStorageArgs.java index 69cedf3e..9d2e35c3 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/dto/QueryLocalStorageRequest.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemLocalStorageArgs.java @@ -1,13 +1,14 @@ -package cn.odboy.core.service.tools.dto; +package cn.odboy.core.dal.model.system; import io.swagger.annotations.ApiModelProperty; import lombok.Data; + import java.util.Date; import java.util.List; @Data -public class QueryLocalStorageRequest { +public class QuerySystemLocalStorageArgs { @ApiModelProperty(value = "模糊查询") private String blurry; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryMenuRequest.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemMenuArgs.java similarity index 84% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryMenuRequest.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemMenuArgs.java index 757b49da..2d240be7 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryMenuRequest.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemMenuArgs.java @@ -1,13 +1,14 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; import io.swagger.annotations.ApiModelProperty; import lombok.Data; + import java.util.Date; import java.util.List; @Data -public class QueryMenuRequest { +public class QuerySystemMenuArgs { @ApiModelProperty(value = "模糊查询") private String blurry; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/dto/QueryQiniuRequest.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemQiniuArgs.java similarity index 85% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/dto/QueryQiniuRequest.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemQiniuArgs.java index 8109e33b..6581e30d 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/dto/QueryQiniuRequest.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemQiniuArgs.java @@ -1,13 +1,14 @@ -package cn.odboy.core.service.tools.dto; +package cn.odboy.core.dal.model.system; import io.swagger.annotations.ApiModelProperty; import lombok.Data; + import java.util.Date; import java.util.List; @Data -public class QueryQiniuRequest { +public class QuerySystemQiniuArgs { @ApiModelProperty(value = "名称查询") private String key; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryQuartzJobRequest.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemQuartzJobArgs.java similarity index 87% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryQuartzJobRequest.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemQuartzJobArgs.java index 8091987d..02be3816 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryQuartzJobRequest.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemQuartzJobArgs.java @@ -1,13 +1,14 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; import io.swagger.annotations.ApiModelProperty; import lombok.Data; + import java.util.Date; import java.util.List; @Data -public class QueryQuartzJobRequest { +public class QuerySystemQuartzJobArgs { @ApiModelProperty(value = "定时任务名称") private String jobName; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryRoleRequest.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemRoleArgs.java similarity index 87% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryRoleRequest.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemRoleArgs.java index b0633e18..6e54ce8b 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryRoleRequest.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemRoleArgs.java @@ -1,13 +1,14 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; import io.swagger.annotations.ApiModelProperty; import lombok.Data; + import java.util.Date; import java.util.List; @Data -public class QueryRoleRequest { +public class QuerySystemRoleArgs { @ApiModelProperty(value = "模糊查询") private String blurry; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryUserRequest.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemUserArgs.java similarity index 87% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryUserRequest.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemUserArgs.java index 50ddb721..9be0a72b 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/QueryUserRequest.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/QuerySystemUserArgs.java @@ -1,9 +1,10 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; -import cn.odboy.base.MyObject; +import cn.odboy.base.CsSerializeObject; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; + import java.util.Date; import java.util.HashSet; import java.util.List; @@ -11,7 +12,7 @@ import java.util.Set; @Data @EqualsAndHashCode(callSuper = false) -public class QueryUserRequest extends MyObject { +public class QuerySystemUserArgs extends CsSerializeObject { @ApiModelProperty(value = "ID") private Long id; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/dto/SendEmailRequest.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SendSystemEmailArgs.java similarity index 88% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/dto/SendEmailRequest.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SendSystemEmailArgs.java index 4991704e..d995175b 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/dto/SendEmailRequest.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SendSystemEmailArgs.java @@ -1,9 +1,10 @@ -package cn.odboy.core.service.tools.dto; +package cn.odboy.core.dal.model.system; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; + import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty; import java.util.List; @@ -14,7 +15,7 @@ import java.util.List; @Data @AllArgsConstructor @NoArgsConstructor -public class SendEmailRequest { +public class SendSystemEmailArgs { @NotEmpty @ApiModelProperty(value = "收件人") diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/MenuMetaVo.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemMenuMetaVo.java similarity index 75% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/MenuMetaVo.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemMenuMetaVo.java index b589624f..6035c011 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/MenuMetaVo.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemMenuMetaVo.java @@ -1,6 +1,6 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; -import cn.odboy.base.MyObject; +import cn.odboy.base.CsSerializeObject; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; @@ -9,7 +9,7 @@ import lombok.EqualsAndHashCode; @Data @AllArgsConstructor @EqualsAndHashCode(callSuper = false) -public class MenuMetaVo extends MyObject { +public class SystemMenuMetaVo extends CsSerializeObject { @ApiModelProperty(value = "菜单标题") private String title; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/MenuResponse.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemMenuVo.java similarity index 76% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/MenuResponse.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemMenuVo.java index 67bcaed8..f0bc7ecc 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/MenuResponse.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemMenuVo.java @@ -1,10 +1,10 @@ -package cn.odboy.core.dal.model; +package cn.odboy.core.dal.model.system; -import cn.odboy.base.MyObject; -import cn.odboy.core.service.system.dto.MenuMetaVo; +import cn.odboy.base.CsSerializeObject; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; + import java.util.List; /** @@ -12,7 +12,7 @@ import java.util.List; */ @Data @EqualsAndHashCode(callSuper = false) -public class MenuResponse extends MyObject { +public class SystemMenuVo extends CsSerializeObject { @ApiModelProperty(value = "菜单名称") private String name; @@ -33,8 +33,8 @@ public class MenuResponse extends MyObject { private Boolean alwaysShow; @ApiModelProperty(value = "元数据") - private MenuMetaVo meta; + private SystemMenuMetaVo meta; @ApiModelProperty(value = "子路由") - private List children; + private List children; } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/RoleCodeVo.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemRoleCodeVo.java similarity index 77% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/RoleCodeVo.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemRoleCodeVo.java index 6587ffce..928735bb 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/RoleCodeVo.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemRoleCodeVo.java @@ -1,4 +1,4 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -12,7 +12,7 @@ import org.springframework.security.core.GrantedAuthority; @Data @NoArgsConstructor @AllArgsConstructor -public class RoleCodeVo implements GrantedAuthority { +public class SystemRoleCodeVo implements GrantedAuthority { @ApiModelProperty(value = "角色名") private String authority; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/SimpleUserVo.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemSimpleUserVo.java similarity index 72% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/SimpleUserVo.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemSimpleUserVo.java index 0512557c..6bf37ff5 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/SimpleUserVo.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemSimpleUserVo.java @@ -1,27 +1,28 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; -import cn.odboy.base.MyObject; -import cn.odboy.core.dal.dataobject.system.Dept; -import cn.odboy.core.dal.dataobject.system.Job; -import cn.odboy.core.dal.dataobject.system.Role; +import cn.odboy.base.CsSerializeObject; +import cn.odboy.core.dal.dataobject.system.SystemDeptTb; +import cn.odboy.core.dal.dataobject.system.SystemJobTb; +import cn.odboy.core.dal.dataobject.system.SystemRoleTb; import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; + import java.util.Set; @Data @EqualsAndHashCode(callSuper = false) -public class SimpleUserVo extends MyObject { +public class SystemSimpleUserVo extends CsSerializeObject { @ApiModelProperty(value = "ID", hidden = true) private Long id; @ApiModelProperty(value = "用户角色") - private Set roles; + private Set roles; @ApiModelProperty(value = "用户岗位") - private Set jobs; + private Set jobs; private Long deptId; @TableField(exist = false) - private Dept dept; + private SystemDeptTb dept; @ApiModelProperty(value = "用户名称") private String username; @ApiModelProperty(value = "用户昵称") diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemUserInfoVo.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemUserInfoVo.java new file mode 100644 index 00000000..0f2cfe73 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemUserInfoVo.java @@ -0,0 +1,21 @@ +package cn.odboy.core.dal.model.system; + +import cn.odboy.base.CsSerializeObject; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +@Data +@EqualsAndHashCode(callSuper = false) +public class SystemUserInfoVo extends CsSerializeObject { + private SystemSimpleUserVo user; + private List dataScopes; + private List authorities; + + public Set getRoles() { + return authorities.stream().map(SystemRoleCodeVo::getAuthority).collect(Collectors.toSet()); + } +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/UserJwtVo.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemUserJwtVo.java similarity index 78% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/UserJwtVo.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemUserJwtVo.java index f23f2f68..4136ddac 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/UserJwtVo.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemUserJwtVo.java @@ -1,30 +1,31 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; -import cn.odboy.core.dal.dataobject.system.User; +import cn.odboy.core.dal.dataobject.system.SystemUserTb; import com.alibaba.fastjson2.annotation.JSONField; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Getter; import org.springframework.security.core.userdetails.UserDetails; + import java.util.List; import java.util.Set; import java.util.stream.Collectors; @Getter @AllArgsConstructor -public class UserJwtVo implements UserDetails { +public class SystemUserJwtVo implements UserDetails { @ApiModelProperty(value = "用户") - private final User user; + private final SystemUserTb user; @ApiModelProperty(value = "数据权限") private final List dataScopes; @ApiModelProperty(value = "角色") - private final List authorities; + private final List authorities; public Set getRoles() { - return authorities.stream().map(RoleCodeVo::getAuthority).collect(Collectors.toSet()); + return authorities.stream().map(SystemRoleCodeVo::getAuthority).collect(Collectors.toSet()); } @Override diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/UserLoginRequest.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemUserLoginArgs.java similarity index 86% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/UserLoginRequest.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemUserLoginArgs.java index 53260c91..3135bf7d 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/UserLoginRequest.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemUserLoginArgs.java @@ -1,13 +1,14 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; + import javax.validation.constraints.NotBlank; @Getter @Setter -public class UserLoginRequest { +public class SystemUserLoginArgs { @NotBlank @ApiModelProperty(value = "用户名") diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/UserOnlineVo.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemUserOnlineVo.java similarity index 90% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/UserOnlineVo.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemUserOnlineVo.java index 99b1f60a..669ee897 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/UserOnlineVo.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/SystemUserOnlineVo.java @@ -1,14 +1,15 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; import io.swagger.annotations.ApiModelProperty; import lombok.Data; + import java.util.Date; /** * 在线用户 */ @Data -public class UserOnlineVo { +public class SystemUserOnlineVo { @ApiModelProperty(value = "Token编号") private String uid; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/UpdateQuartzJobRequest.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/UpdateSystemQuartzJobArgs.java similarity index 81% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/UpdateQuartzJobRequest.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/UpdateSystemQuartzJobArgs.java index e7c84de7..5e35cfca 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/dto/UpdateQuartzJobRequest.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/UpdateSystemQuartzJobArgs.java @@ -1,14 +1,15 @@ -package cn.odboy.core.service.system.dto; +package cn.odboy.core.dal.model.system; -import cn.odboy.base.MyObject; +import cn.odboy.base.CsSerializeObject; import lombok.Data; import lombok.EqualsAndHashCode; + import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @Data @EqualsAndHashCode(callSuper = false) -public class UpdateQuartzJobRequest extends MyObject { +public class UpdateSystemQuartzJobArgs extends CsSerializeObject { @NotNull private Long id; private String uuid; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/UpdateUserPasswordResponse.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/UpdateSystemUserPasswordArgs.java similarity index 74% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/UpdateUserPasswordResponse.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/UpdateSystemUserPasswordArgs.java index 85b236c1..3f8f7863 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/UpdateUserPasswordResponse.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/model/system/UpdateSystemUserPasswordArgs.java @@ -1,4 +1,4 @@ -package cn.odboy.core.dal.model; +package cn.odboy.core.dal.model.system; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -7,7 +7,7 @@ import lombok.Data; * 修改密码 */ @Data -public class UpdateUserPasswordResponse { +public class UpdateSystemUserPasswordArgs { @ApiModelProperty(value = "旧密码") private String oldPass; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/job/QuartzJobMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/job/QuartzJobMapper.java deleted file mode 100644 index 043f4ee7..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/job/QuartzJobMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package cn.odboy.core.dal.mysql.job; - -import cn.odboy.core.dal.dataobject.job.QuartzJob; -import cn.odboy.core.service.system.dto.QueryQuartzJobRequest; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import java.util.List; - -@Mapper -public interface QuartzJobMapper extends BaseMapper { - IPage queryQuartzJobPageByArgs(@Param("criteria") QueryQuartzJobRequest criteria, Page page); - - List queryActiveQuartzJobList(); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/job/QuartzLogMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/job/QuartzLogMapper.java deleted file mode 100644 index 9bf02cdf..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/job/QuartzLogMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package cn.odboy.core.dal.mysql.job; - -import cn.odboy.core.dal.dataobject.job.QuartzLog; -import cn.odboy.core.service.system.dto.QueryQuartzJobRequest; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - - -@Mapper -public interface QuartzLogMapper extends BaseMapper { - IPage queryQuartzLogPageByArgs(@Param("criteria") QueryQuartzJobRequest criteria, Page page); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/DeptMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/DeptMapper.java deleted file mode 100644 index 501fac02..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/DeptMapper.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.odboy.core.dal.mysql.system; - -import cn.odboy.core.dal.dataobject.system.Dept; -import cn.odboy.core.service.system.dto.QueryDeptRequest; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import java.util.List; -import java.util.Set; - -@Mapper -public interface DeptMapper extends BaseMapper { - List queryDeptListByArgs(@Param("criteria") QueryDeptRequest criteria); - - List queryDeptListByPid(@Param("pid") Long pid); - - int getDeptCountByPid(@Param("pid") Long pid); - - List queryDeptListByPidIsNull(); - - Set queryDeptSetByRoleId(@Param("roleId") Long roleId); - - void updateSubCountById(@Param("count") Integer count, @Param("id") Long id); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/JobMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/JobMapper.java deleted file mode 100644 index 19c3a76c..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/JobMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.odboy.core.dal.mysql.system; - -import cn.odboy.core.dal.dataobject.system.Job; -import cn.odboy.core.service.system.dto.QueryJobRequest; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -@Mapper -public interface JobMapper extends BaseMapper { - Job getJobByName(@Param("name") String name); - - IPage queryJobPageByArgs(@Param("criteria") QueryJobRequest criteria, Page page); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/MenuMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/MenuMapper.java deleted file mode 100644 index 0eb2ebbb..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/MenuMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.odboy.core.dal.mysql.system; - -import cn.odboy.core.dal.dataobject.system.Menu; -import cn.odboy.core.service.system.dto.QueryMenuRequest; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; - -@Mapper -public interface MenuMapper extends BaseMapper { - - List queryMenuListByArgs(@Param("criteria") QueryMenuRequest criteria); - - LinkedHashSet queryMenuSetByRoleIdsAndType(@Param("roleIds") Set roleIds, @Param("type") Integer type); - - List queryMenuListByPidIsNullOrderByMenuSort(); - - List queryMenuListByPidOrderByMenuSort(@Param("pid") Long pid); - - Menu getMenuByTitle(@Param("title") String title); - - Menu getMenuByComponentName(@Param("name") String name); - - Integer getMenuCountByPid(@Param("pid") Long pid); - - void updateSubCntByMenuId(@Param("count") int count, @Param("menuId") Long menuId); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/RoleMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/RoleMapper.java deleted file mode 100644 index abdf247c..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/RoleMapper.java +++ /dev/null @@ -1,28 +0,0 @@ -package cn.odboy.core.dal.mysql.system; - -import cn.odboy.core.dal.dataobject.system.Role; -import cn.odboy.core.service.system.dto.QueryRoleRequest; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import java.util.List; -import java.util.Set; - -@Mapper -public interface RoleMapper extends BaseMapper { - List queryRoleList(); - - List queryRoleListByArgs(@Param("criteria") QueryRoleRequest criteria); - - Long getRoleCountByArgs(@Param("criteria") QueryRoleRequest criteria); - - Role getRoleByName(@Param("name") String name); - - Role getRoleById(@Param("roleId") Long roleId); - - List queryRoleListByUserId(@Param("userId") Long userId); - - int getRoleCountByDeptIds(@Param("deptIds") Set deptIds); - - List queryRoleListByMenuId(@Param("menuId") Long menuId); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemDeptMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemDeptMapper.java new file mode 100644 index 00000000..7a428ee8 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemDeptMapper.java @@ -0,0 +1,25 @@ +package cn.odboy.core.dal.mysql.system; + +import cn.odboy.core.dal.dataobject.system.SystemDeptTb; +import cn.odboy.core.dal.model.system.QuerySystemDeptArgs; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Set; + +@Mapper +public interface SystemDeptMapper extends BaseMapper { + List queryDeptListByArgs(@Param("criteria") QuerySystemDeptArgs criteria); + + List queryDeptListByPid(@Param("pid") Long pid); + + int getDeptCountByPid(@Param("pid") Long pid); + + List queryDeptListByPidIsNull(); + + Set queryDeptSetByRoleId(@Param("roleId") Long roleId); + + void updateSubCountById(@Param("count") Integer count, @Param("id") Long id); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/DictDetailMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemDictDetailMapper.java similarity index 50% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/DictDetailMapper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemDictDetailMapper.java index ff4ef4d4..131f03f0 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/DictDetailMapper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemDictDetailMapper.java @@ -1,21 +1,22 @@ package cn.odboy.core.dal.mysql.system; -import cn.odboy.core.dal.dataobject.system.DictDetail; -import cn.odboy.core.service.system.dto.QueryDictDetailRequest; +import cn.odboy.core.dal.dataobject.system.SystemDictDetailTb; +import cn.odboy.core.dal.model.system.QuerySystemDictDetailArgs; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + import java.util.List; import java.util.Set; @Mapper -public interface DictDetailMapper extends BaseMapper { - List queryDictDetailListByDictName(@Param("name") String name); +public interface SystemDictDetailMapper extends BaseMapper { + List queryDictDetailListByDictName(@Param("name") String name); - IPage queryDictDetailPageByArgs(@Param("criteria") QueryDictDetailRequest criteria, Page page); + IPage queryDictDetailListByArgs(@Param("criteria") QuerySystemDictDetailArgs criteria, Page page); void deleteDictDetailByDictIds(@Param("dictIds") Set dictIds); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/DictMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemDictMapper.java similarity index 51% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/DictMapper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemDictMapper.java index 61abc582..b95e8162 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/DictMapper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemDictMapper.java @@ -1,7 +1,7 @@ package cn.odboy.core.dal.mysql.system; -import cn.odboy.core.dal.dataobject.system.Dict; -import cn.odboy.core.service.system.dto.QueryDictRequest; +import cn.odboy.core.dal.dataobject.system.SystemDictTb; +import cn.odboy.core.dal.model.system.QuerySystemDictArgs; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -9,6 +9,6 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @Mapper -public interface DictMapper extends BaseMapper { - IPage queryDictPageByArgs(@Param("criteria") QueryDictRequest criteria, Page page); +public interface SystemDictMapper extends BaseMapper { + IPage queryDictPageByArgs(@Param("criteria") QuerySystemDictArgs criteria, Page page); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemEmailConfigMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemEmailConfigMapper.java new file mode 100644 index 00000000..bdea3e0b --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemEmailConfigMapper.java @@ -0,0 +1,10 @@ +package cn.odboy.core.dal.mysql.system; + +import cn.odboy.core.dal.dataobject.system.SystemEmailConfigTb; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + + +@Mapper +public interface SystemEmailConfigMapper extends BaseMapper { +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemJobMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemJobMapper.java new file mode 100644 index 00000000..8e874164 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemJobMapper.java @@ -0,0 +1,16 @@ +package cn.odboy.core.dal.mysql.system; + +import cn.odboy.core.dal.dataobject.system.SystemJobTb; +import cn.odboy.core.dal.model.system.QuerySystemJobArgs; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface SystemJobMapper extends BaseMapper { + SystemJobTb getJobByName(@Param("name") String name); + + IPage queryJobPageByArgs(@Param("criteria") QuerySystemJobArgs criteria, Page page); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemLocalStorageMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemLocalStorageMapper.java new file mode 100644 index 00000000..b99814f2 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemLocalStorageMapper.java @@ -0,0 +1,14 @@ +package cn.odboy.core.dal.mysql.system; + +import cn.odboy.core.dal.dataobject.system.SystemLocalStorageTb; +import cn.odboy.core.dal.model.system.QuerySystemLocalStorageArgs; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface SystemLocalStorageMapper extends BaseMapper { + IPage queryLocalStoragePageByArgs(@Param("criteria") QuerySystemLocalStorageArgs criteria, Page page); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemMenuMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemMenuMapper.java new file mode 100644 index 00000000..99c740d4 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemMenuMapper.java @@ -0,0 +1,31 @@ +package cn.odboy.core.dal.mysql.system; + +import cn.odboy.core.dal.dataobject.system.SystemMenuTb; +import cn.odboy.core.dal.model.system.QuerySystemMenuArgs; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; + +@Mapper +public interface SystemMenuMapper extends BaseMapper { + + List queryMenuListByArgs(@Param("criteria") QuerySystemMenuArgs criteria); + + LinkedHashSet queryMenuSetByRoleIdsAndType(@Param("roleIds") Set roleIds, @Param("type") Integer type); + + List queryMenuListByPidIsNullOrderByMenuSort(); + + List queryMenuListByPidOrderByMenuSort(@Param("pid") Long pid); + + SystemMenuTb getMenuByTitle(@Param("title") String title); + + SystemMenuTb getMenuByComponentName(@Param("name") String name); + + Integer getMenuCountByPid(@Param("pid") Long pid); + + void updateSubCntByMenuId(@Param("count") int count, @Param("menuId") Long menuId); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemQiniuConfigMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemQiniuConfigMapper.java new file mode 100644 index 00000000..c42cb998 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemQiniuConfigMapper.java @@ -0,0 +1,10 @@ +package cn.odboy.core.dal.mysql.system; + +import cn.odboy.core.dal.dataobject.system.SystemQiniuConfigTb; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + + +@Mapper +public interface SystemQiniuConfigMapper extends BaseMapper { +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemQiniuContentMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemQiniuContentMapper.java new file mode 100644 index 00000000..ee8bbd2a --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemQiniuContentMapper.java @@ -0,0 +1,17 @@ +package cn.odboy.core.dal.mysql.system; + +import cn.odboy.core.dal.dataobject.system.SystemQiniuContentTb; +import cn.odboy.core.dal.model.system.QuerySystemQiniuArgs; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + + +@Mapper +public interface SystemQiniuContentMapper extends BaseMapper { + SystemQiniuContentTb getQiniuContentByName(@Param("name") String name); + + IPage queryQiniuContentPageByArgs(@Param("criteria") QuerySystemQiniuArgs criteria, Page page); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemQuartzJobMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemQuartzJobMapper.java new file mode 100644 index 00000000..55b93c74 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemQuartzJobMapper.java @@ -0,0 +1,18 @@ +package cn.odboy.core.dal.mysql.system; + +import cn.odboy.core.dal.dataobject.system.SystemQuartzJobTb; +import cn.odboy.core.dal.model.system.QuerySystemQuartzJobArgs; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface SystemQuartzJobMapper extends BaseMapper { + IPage queryQuartzJobPageByArgs(@Param("criteria") QuerySystemQuartzJobArgs criteria, Page page); + + List queryActiveQuartzJobList(); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemQuartzLogMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemQuartzLogMapper.java new file mode 100644 index 00000000..c6683b5c --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemQuartzLogMapper.java @@ -0,0 +1,15 @@ +package cn.odboy.core.dal.mysql.system; + +import cn.odboy.core.dal.dataobject.system.SystemQuartzLogTb; +import cn.odboy.core.dal.model.system.QuerySystemQuartzJobArgs; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + + +@Mapper +public interface SystemQuartzLogMapper extends BaseMapper { + IPage queryQuartzLogPageByArgs(@Param("criteria") QuerySystemQuartzJobArgs criteria, Page page); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/RoleDeptMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemRoleDeptMapper.java similarity index 58% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/RoleDeptMapper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemRoleDeptMapper.java index c0b3fb50..f8a3cfe6 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/RoleDeptMapper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemRoleDeptMapper.java @@ -1,13 +1,14 @@ package cn.odboy.core.dal.mysql.system; -import cn.odboy.core.dal.dataobject.system.Dept; +import cn.odboy.core.dal.dataobject.system.SystemDeptTb; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + import java.util.Set; @Mapper -public interface RoleDeptMapper { - void insertBatchWithRoleId(@Param("depts") Set depts, @Param("roleId") Long roleId); +public interface SystemRoleDeptMapper { + void insertBatchWithRoleId(@Param("depts") Set depts, @Param("roleId") Long roleId); void deleteByRoleId(@Param("roleId") Long roleId); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemRoleMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemRoleMapper.java new file mode 100644 index 00000000..211f34d5 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemRoleMapper.java @@ -0,0 +1,29 @@ +package cn.odboy.core.dal.mysql.system; + +import cn.odboy.core.dal.dataobject.system.SystemRoleTb; +import cn.odboy.core.dal.model.system.QuerySystemRoleArgs; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Set; + +@Mapper +public interface SystemRoleMapper extends BaseMapper { + List queryRoleList(); + + List queryRoleListByArgs(@Param("criteria") QuerySystemRoleArgs criteria); + + Long getRoleCountByArgs(@Param("criteria") QuerySystemRoleArgs criteria); + + SystemRoleTb getRoleByName(@Param("name") String name); + + SystemRoleTb getRoleById(@Param("roleId") Long roleId); + + List queryRoleListByUserId(@Param("userId") Long userId); + + int getRoleCountByDeptIds(@Param("deptIds") Set deptIds); + + List queryRoleListByMenuId(@Param("menuId") Long menuId); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/RoleMenuMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemRoleMenuMapper.java similarity index 62% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/RoleMenuMapper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemRoleMenuMapper.java index 1da86120..b44c217a 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/RoleMenuMapper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemRoleMenuMapper.java @@ -1,14 +1,15 @@ package cn.odboy.core.dal.mysql.system; -import cn.odboy.core.dal.dataobject.system.Menu; +import cn.odboy.core.dal.dataobject.system.SystemMenuTb; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + import java.util.Set; @Mapper -public interface RoleMenuMapper { - void insertBatchWithRoleId(@Param("menus") Set menus, @Param("roleId") Long roleId); +public interface SystemRoleMenuMapper { + void insertBatchWithRoleId(@Param("menus") Set menus, @Param("roleId") Long roleId); void deleteByRoleId(@Param("roleId") Long roleId); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/UserRoleMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemUserJobMapper.java similarity index 59% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/UserRoleMapper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemUserJobMapper.java index f07dea59..3632bf56 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/UserRoleMapper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemUserJobMapper.java @@ -1,13 +1,14 @@ package cn.odboy.core.dal.mysql.system; -import cn.odboy.core.dal.dataobject.system.Role; +import cn.odboy.core.dal.dataobject.system.SystemJobTb; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + import java.util.Set; @Mapper -public interface UserRoleMapper { - void insertBatchWithUserId(@Param("roles") Set roles, @Param("userId") Long userId); +public interface SystemUserJobMapper { + void insertBatchWithUserId(@Param("jobs") Set jobs, @Param("userId") Long userId); void deleteByUserId(@Param("userId") Long userId); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/UserMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemUserMapper.java similarity index 54% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/UserMapper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemUserMapper.java index 1cc6cd5f..5d009e35 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/UserMapper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemUserMapper.java @@ -1,38 +1,39 @@ package cn.odboy.core.dal.mysql.system; -import cn.odboy.core.dal.dataobject.system.User; -import cn.odboy.core.service.system.dto.QueryUserRequest; +import cn.odboy.core.dal.dataobject.system.SystemUserTb; +import cn.odboy.core.dal.model.system.QuerySystemUserArgs; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + import java.util.Date; import java.util.List; import java.util.Set; @Mapper -public interface UserMapper extends BaseMapper { +public interface SystemUserMapper extends BaseMapper { - Long getUserCountByArgs(@Param("criteria") QueryUserRequest criteria); + Long getUserCountByArgs(@Param("criteria") QuerySystemUserArgs criteria); - IPage queryUserPageByArgs(@Param("criteria") QueryUserRequest criteria, Page page); + IPage queryUserPageByArgs(@Param("criteria") QuerySystemUserArgs criteria, Page page); - User getUserByUsername(@Param("username") String username); + SystemUserTb getUserByUsername(@Param("username") String username); - User getUserByEmail(@Param("email") String email); + SystemUserTb getUserByEmail(@Param("email") String email); - User getUserByPhone(@Param("phone") String phone); + SystemUserTb getUserByPhone(@Param("phone") String phone); void updatePasswordByUsername(@Param("username") String username, @Param("password") String password, @Param("lastPasswordResetTime") Date lastPasswordResetTime); void updateEmailByUsername(@Param("username") String username, @Param("email") String email); - List queryUserListByRoleId(@Param("roleId") Long roleId); + List queryUserListByRoleId(@Param("roleId") Long roleId); - List queryUserListByDeptId(@Param("deptId") Long deptId); + List queryUserListByDeptId(@Param("deptId") Long deptId); - List queryUserListByMenuId(@Param("menuId") Long menuId); + List queryUserListByMenuId(@Param("menuId") Long menuId); int getUserCountByJobIds(@Param("jobIds") Set jobIds); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/UserJobMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemUserRoleMapper.java similarity index 58% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/UserJobMapper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemUserRoleMapper.java index 84fbd606..fe196d5f 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/UserJobMapper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/system/SystemUserRoleMapper.java @@ -1,13 +1,14 @@ package cn.odboy.core.dal.mysql.system; -import cn.odboy.core.dal.dataobject.system.Job; +import cn.odboy.core.dal.dataobject.system.SystemRoleTb; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + import java.util.Set; @Mapper -public interface UserJobMapper { - void insertBatchWithUserId(@Param("jobs") Set jobs, @Param("userId") Long userId); +public interface SystemUserRoleMapper { + void insertBatchWithUserId(@Param("roles") Set roles, @Param("userId") Long userId); void deleteByUserId(@Param("userId") Long userId); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/tools/EmailConfigMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/tools/EmailConfigMapper.java deleted file mode 100644 index 5f6e12ba..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/tools/EmailConfigMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package cn.odboy.core.dal.mysql.tools; - -import cn.odboy.core.dal.dataobject.tools.EmailConfig; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - - -@Mapper -public interface EmailConfigMapper extends BaseMapper { -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/tools/LocalStorageMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/tools/LocalStorageMapper.java deleted file mode 100644 index 1cdace81..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/tools/LocalStorageMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.odboy.core.dal.mysql.tools; - -import cn.odboy.core.dal.dataobject.tools.LocalStorage; -import cn.odboy.core.service.tools.dto.QueryLocalStorageRequest; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -@Mapper -public interface LocalStorageMapper extends BaseMapper { - IPage queryLocalStoragePageByArgs(@Param("criteria") QueryLocalStorageRequest criteria, Page page); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/tools/QiniuConfigMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/tools/QiniuConfigMapper.java deleted file mode 100644 index 3ab66e00..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/tools/QiniuConfigMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package cn.odboy.core.dal.mysql.tools; - -import cn.odboy.core.dal.dataobject.tools.QiniuConfig; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - - -@Mapper -public interface QiniuConfigMapper extends BaseMapper { -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/tools/QiniuContentMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/tools/QiniuContentMapper.java deleted file mode 100644 index 49078da2..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/mysql/tools/QiniuContentMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package cn.odboy.core.dal.mysql.tools; - -import cn.odboy.core.dal.dataobject.tools.QiniuContent; -import cn.odboy.core.service.tools.dto.QueryQiniuRequest; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - - -@Mapper -public interface QiniuContentMapper extends BaseMapper { - QiniuContent getQiniuContentByName(@Param("name") String name); - - IPage queryQiniuContentPageByArgs(@Param("criteria") QueryQiniuRequest criteria, Page page); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/constant/SystemRedisKey.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemRedisKey.java similarity index 95% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/constant/SystemRedisKey.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemRedisKey.java index 7e7eda49..1a9a489e 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/constant/SystemRedisKey.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemRedisKey.java @@ -1,4 +1,4 @@ -package cn.odboy.core.constant; +package cn.odboy.core.dal.redis.system; /** * 关于缓存的Key集合 diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserJwtApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserJwtApi.java new file mode 100644 index 00000000..8fa53509 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserJwtApi.java @@ -0,0 +1,14 @@ +package cn.odboy.core.dal.redis.system; + + +import cn.odboy.core.dal.model.system.SystemUserJwtVo; + +public interface SystemUserJwtApi { + /** + * 返回用户缓存 + * + * @param username 用户名 + * @return UserJwtVo + */ + SystemUserJwtVo describeUserJwtModelByUsername(String username); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/api/impl/SystemUserJwtApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserJwtApiImpl.java similarity index 68% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/api/impl/SystemUserJwtApiImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserJwtApiImpl.java index 4a669f16..b6517cbf 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/api/impl/SystemUserJwtApiImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserJwtApiImpl.java @@ -1,12 +1,11 @@ -package cn.odboy.core.cache.api.impl; +package cn.odboy.core.dal.redis.system; -import cn.odboy.core.cache.api.SystemUserJwtApi; -import cn.odboy.core.constant.SystemRedisKey; -import cn.odboy.core.service.system.dto.UserJwtVo; +import cn.odboy.core.dal.model.system.SystemUserJwtVo; import cn.odboy.redis.RedisHelper; import cn.odboy.util.StringUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; + import javax.annotation.Resource; @Service @@ -16,12 +15,12 @@ public class SystemUserJwtApiImpl implements SystemUserJwtApi { private RedisHelper redisHelper; @Override - public UserJwtVo describeUserJwtModelByUsername(String username) { + public SystemUserJwtVo describeUserJwtModelByUsername(String username) { // 转小写 username = StringUtil.lowerCase(username); if (StringUtil.isNotEmpty(username)) { // 获取数据 - return redisHelper.get(SystemRedisKey.USER_INFO + username, UserJwtVo.class); + return redisHelper.get(SystemRedisKey.USER_INFO + username, SystemUserJwtVo.class); } return null; } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/service/SystemUserJwtService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserJwtService.java similarity index 69% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/service/SystemUserJwtService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserJwtService.java index a5146c61..2503d988 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/service/SystemUserJwtService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserJwtService.java @@ -1,6 +1,6 @@ -package cn.odboy.core.cache.service; +package cn.odboy.core.dal.redis.system; -import cn.odboy.core.service.system.dto.UserJwtVo; +import cn.odboy.core.dal.model.system.SystemUserJwtVo; import org.springframework.scheduling.annotation.Async; public interface SystemUserJwtService { @@ -10,7 +10,7 @@ public interface SystemUserJwtService { * @param userName 用户名 */ @Async - void saveUserJwtModelByUserName(String userName, UserJwtVo user); + void saveUserJwtModelByUserName(String userName, SystemUserJwtVo user); /** * 清理用户缓存信息 diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/service/impl/SystemUserJwtServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserJwtServiceImpl.java similarity index 79% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/service/impl/SystemUserJwtServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserJwtServiceImpl.java index be5d6c76..f2975769 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/service/impl/SystemUserJwtServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserJwtServiceImpl.java @@ -1,12 +1,11 @@ -package cn.odboy.core.cache.service.impl; +package cn.odboy.core.dal.redis.system; import cn.hutool.core.util.RandomUtil; -import cn.odboy.core.cache.service.SystemUserJwtService; -import cn.odboy.core.constant.SystemRedisKey; -import cn.odboy.core.service.system.dto.UserJwtVo; +import cn.odboy.core.dal.model.system.SystemUserJwtVo; import cn.odboy.redis.RedisHelper; import cn.odboy.util.StringUtil; import org.springframework.stereotype.Service; + import javax.annotation.Resource; /** @@ -18,7 +17,7 @@ public class SystemUserJwtServiceImpl implements SystemUserJwtService { private RedisHelper redisHelper; @Override - public void saveUserJwtModelByUserName(String userName, UserJwtVo user) { + public void saveUserJwtModelByUserName(String userName, SystemUserJwtVo user) { // 转小写 userName = StringUtil.lowerCase(userName); if (StringUtil.isNotEmpty(userName)) { diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/api/SystemUserOnlineApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserOnlineApi.java similarity index 51% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/api/SystemUserOnlineApi.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserOnlineApi.java index a4f86f63..868dc553 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/api/SystemUserOnlineApi.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserOnlineApi.java @@ -1,8 +1,9 @@ -package cn.odboy.core.cache.api; +package cn.odboy.core.dal.redis.system; -import cn.odboy.base.PageResult; -import cn.odboy.core.service.system.dto.UserOnlineVo; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.model.system.SystemUserOnlineVo; import org.springframework.data.domain.Pageable; + import java.util.List; public interface SystemUserOnlineApi { @@ -14,7 +15,7 @@ public interface SystemUserOnlineApi { * @param pageable / * @return / */ - PageResult describeUserOnlineModelPage(String username, Pageable pageable); + CsResultVo> describeUserOnlineModelPage(String username, Pageable pageable); /** * 查询全部数据,不分页 @@ -22,7 +23,7 @@ public interface SystemUserOnlineApi { * @param username / * @return / */ - List describeUserOnlineModelListByUsername(String username); + List describeUserOnlineModelListByUsername(String username); /** * 查询用户 @@ -30,5 +31,5 @@ public interface SystemUserOnlineApi { * @param key / * @return / */ - UserOnlineVo describeUserOnlineModelByKey(String key); + SystemUserOnlineVo describeUserOnlineModelByKey(String key); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/api/impl/SystemUserOnlineApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserOnlineApiImpl.java similarity index 53% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/api/impl/SystemUserOnlineApiImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserOnlineApiImpl.java index 4db5da30..dd4e6b56 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/api/impl/SystemUserOnlineApiImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserOnlineApiImpl.java @@ -1,9 +1,7 @@ -package cn.odboy.core.cache.api.impl; +package cn.odboy.core.dal.redis.system; -import cn.odboy.base.PageResult; -import cn.odboy.core.cache.api.SystemUserOnlineApi; -import cn.odboy.core.constant.SystemRedisKey; -import cn.odboy.core.service.system.dto.UserOnlineVo; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.model.system.SystemUserOnlineVo; import cn.odboy.redis.RedisHelper; import cn.odboy.util.PageUtil; import cn.odboy.util.StringUtil; @@ -11,6 +9,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; + import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -21,29 +20,28 @@ import java.util.List; public class SystemUserOnlineApiImpl implements SystemUserOnlineApi { private final RedisHelper redisHelper; - @Override - public PageResult describeUserOnlineModelPage(String username, Pageable pageable) { - List onlineUserList = describeUserOnlineModelListByUsername(username); - List paging = PageUtil.softPaging(pageable.getPageNumber(), pageable.getPageSize(), onlineUserList); + public CsResultVo> describeUserOnlineModelPage(String username, Pageable pageable) { + List onlineUserList = describeUserOnlineModelListByUsername(username); + List paging = PageUtil.softPaging(pageable.getPageNumber(), pageable.getPageSize(), onlineUserList); return PageUtil.toPage(paging, onlineUserList.size()); } @Override - public List describeUserOnlineModelListByUsername(String username) { + public List describeUserOnlineModelListByUsername(String username) { String loginKey = SystemRedisKey.ONLINE_USER + (StringUtil.isBlank(username) ? "" : "*" + username); List keys = redisHelper.scan(loginKey + "*"); Collections.reverse(keys); - List onlineUserList = new ArrayList<>(); + List onlineUserList = new ArrayList<>(); for (String key : keys) { - onlineUserList.add(redisHelper.get(key, UserOnlineVo.class)); + onlineUserList.add(redisHelper.get(key, SystemUserOnlineVo.class)); } onlineUserList.sort((o1, o2) -> o2.getLoginTime().compareTo(o1.getLoginTime())); return onlineUserList; } @Override - public UserOnlineVo describeUserOnlineModelByKey(String key) { - return redisHelper.get(key, UserOnlineVo.class); + public SystemUserOnlineVo describeUserOnlineModelByKey(String key) { + return redisHelper.get(key, SystemUserOnlineVo.class); } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/service/SystemUserOnlineService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserOnlineService.java similarity index 64% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/service/SystemUserOnlineService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserOnlineService.java index 992db7f4..351da70f 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/service/SystemUserOnlineService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserOnlineService.java @@ -1,7 +1,8 @@ -package cn.odboy.core.cache.service; +package cn.odboy.core.dal.redis.system; + +import cn.odboy.core.dal.model.system.SystemUserJwtVo; +import cn.odboy.core.dal.model.system.SystemUserOnlineVo; -import cn.odboy.core.service.system.dto.UserJwtVo; -import cn.odboy.core.service.system.dto.UserOnlineVo; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -15,7 +16,7 @@ public interface SystemUserOnlineService { * @param token / * @param request / */ - void saveUserJwtModelByToken(UserJwtVo userJwtVo, String token, HttpServletRequest request); + void saveUserJwtModelByToken(SystemUserJwtVo userJwtVo, String token, HttpServletRequest request); /** @@ -32,7 +33,7 @@ public interface SystemUserOnlineService { * @param response / * @throws IOException / */ - void downloadUserOnlineModelExcel(List all, HttpServletResponse response) throws IOException; + void downloadUserOnlineModelExcel(List all, HttpServletResponse response) throws IOException; /** diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/service/impl/SystemUserOnlineServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserOnlineServiceImpl.java similarity index 77% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/service/impl/SystemUserOnlineServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserOnlineServiceImpl.java index 193d058b..cc096fb4 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/cache/service/impl/SystemUserOnlineServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/dal/redis/system/SystemUserOnlineServiceImpl.java @@ -1,11 +1,9 @@ -package cn.odboy.core.cache.service.impl; +package cn.odboy.core.dal.redis.system; -import cn.odboy.core.cache.service.SystemUserOnlineService; -import cn.odboy.core.constant.SystemRedisKey; -import cn.odboy.core.framework.permission.TokenProvider; +import cn.odboy.core.framework.permission.core.handler.TokenProvider; import cn.odboy.core.framework.properties.AppProperties; -import cn.odboy.core.service.system.dto.UserJwtVo; -import cn.odboy.core.service.system.dto.UserOnlineVo; +import cn.odboy.core.dal.model.system.SystemUserJwtVo; +import cn.odboy.core.dal.model.system.SystemUserOnlineVo; import cn.odboy.redis.RedisHelper; import cn.odboy.util.BrowserUtil; import cn.odboy.util.DesEncryptUtil; @@ -14,14 +12,11 @@ import cn.odboy.util.IpUtil; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.ArrayList; -import java.util.Date; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.TimeUnit; @Slf4j @@ -33,15 +28,15 @@ public class SystemUserOnlineServiceImpl implements SystemUserOnlineService { private final RedisHelper redisHelper; @Override - public void saveUserJwtModelByToken(UserJwtVo userJwtVo, String token, HttpServletRequest request) { + public void saveUserJwtModelByToken(SystemUserJwtVo userJwtVo, String token, HttpServletRequest request) { String dept = userJwtVo.getUser().getDept().getName(); String ip = BrowserUtil.getIp(request); String id = tokenProvider.getId(token); String version = BrowserUtil.getVersion(request); String address = IpUtil.getCityInfo(ip); - UserOnlineVo userOnlineVo = null; + SystemUserOnlineVo userOnlineVo = null; try { - userOnlineVo = new UserOnlineVo(); + userOnlineVo = new SystemUserOnlineVo(); userOnlineVo.setUid(id); userOnlineVo.setUserName(userJwtVo.getUsername()); userOnlineVo.setNickName(userJwtVo.getUser().getNickName()); @@ -66,9 +61,9 @@ public class SystemUserOnlineServiceImpl implements SystemUserOnlineService { } @Override - public void downloadUserOnlineModelExcel(List all, HttpServletResponse response) throws IOException { + public void downloadUserOnlineModelExcel(List all, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); - for (UserOnlineVo user : all) { + for (SystemUserOnlineVo user : all) { Map map = new LinkedHashMap<>(); map.put("用户名", user.getUserName()); map.put("部门", user.getDept()); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/doc/SwaggerConfig.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/doc/SwaggerConfig.java index 8f4138ee..9232c005 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/doc/SwaggerConfig.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/doc/SwaggerConfig.java @@ -13,17 +13,14 @@ import org.springframework.util.ReflectionUtils; import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; -import springfox.documentation.service.ApiInfo; -import springfox.documentation.service.ApiKey; -import springfox.documentation.service.AuthorizationScope; -import springfox.documentation.service.SecurityReference; -import springfox.documentation.service.SecurityScheme; +import springfox.documentation.service.*; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spi.service.contexts.SecurityContext; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.spring.web.plugins.WebFluxRequestHandlerProvider; import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider; import springfox.documentation.swagger2.annotations.EnableSwagger2; + import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Collections; @@ -66,7 +63,7 @@ public class SwaggerConfig { return new ApiInfoBuilder() .description("一个简单且易上手的 Spring boot 后台管理框架") .title("CuteJava 接口文档") - .version("1.3.0") + .version("1.4.0") .build(); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/context/PipelineManager.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/core/PipelineManager.java similarity index 95% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/context/PipelineManager.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/core/PipelineManager.java index 15a54c52..907b8ab6 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/context/PipelineManager.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/core/PipelineManager.java @@ -1,14 +1,15 @@ -package cn.odboy.core.framework.flow.context; +package cn.odboy.core.framework.flow.core; import cn.hutool.core.date.DateTime; import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.util.IdUtil; import cn.odboy.context.SpringBeanHolder; -import cn.odboy.core.framework.flow.dto.PipelineNodeVo; -import cn.odboy.core.framework.flow.handler.SerialPipelineNodeHandler; +import cn.odboy.core.framework.flow.core.handler.SerialPipelineNodeHandler; +import cn.odboy.core.framework.flow.model.PipelineNodeVo; import cn.odboy.exception.BadRequestException; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; + import java.util.ArrayList; import java.util.List; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/context/PipelineProcessManager.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/core/PipelineProcessManager.java similarity index 97% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/context/PipelineProcessManager.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/core/PipelineProcessManager.java index 01bdf370..386cdfa8 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/context/PipelineProcessManager.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/core/PipelineProcessManager.java @@ -1,14 +1,15 @@ -package cn.odboy.core.framework.flow.context; +package cn.odboy.core.framework.flow.core; import cn.hutool.core.date.DateTime; import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.util.IdUtil; import cn.odboy.context.SpringBeanHolder; -import cn.odboy.core.framework.flow.dto.PipelineNodeVo; -import cn.odboy.core.framework.flow.handler.SerialPipelineNodeHandler; +import cn.odboy.core.framework.flow.core.handler.SerialPipelineNodeHandler; +import cn.odboy.core.framework.flow.model.PipelineNodeVo; import cn.odboy.exception.BadRequestException; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; + import java.util.ArrayList; import java.util.List; import java.util.Map; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/context/PipelineTaskPool.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/core/PipelineTaskPool.java similarity index 95% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/context/PipelineTaskPool.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/core/PipelineTaskPool.java index b68c22b1..66798979 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/context/PipelineTaskPool.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/core/PipelineTaskPool.java @@ -1,12 +1,7 @@ -package cn.odboy.core.framework.flow.context; +package cn.odboy.core.framework.flow.core; import java.util.Map; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.ThreadFactory; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; +import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/handler/SerialPipelineNodeHandler.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/core/handler/SerialPipelineNodeHandler.java similarity index 98% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/handler/SerialPipelineNodeHandler.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/core/handler/SerialPipelineNodeHandler.java index 7ec1e536..0acc308e 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/handler/SerialPipelineNodeHandler.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/core/handler/SerialPipelineNodeHandler.java @@ -1,4 +1,4 @@ -package cn.odboy.core.framework.flow.handler; +package cn.odboy.core.framework.flow.core.handler; import cn.hutool.core.thread.ThreadUtil; import cn.odboy.exception.BadRequestException; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/handler/impl/PipelineAppCreateReleaseBranchHandlerServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/core/handler/impl/PipelineAppCreateReleaseBranchHandlerServiceImpl.java similarity index 89% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/handler/impl/PipelineAppCreateReleaseBranchHandlerServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/core/handler/impl/PipelineAppCreateReleaseBranchHandlerServiceImpl.java index 5ea309f9..7c7b21d5 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/handler/impl/PipelineAppCreateReleaseBranchHandlerServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/core/handler/impl/PipelineAppCreateReleaseBranchHandlerServiceImpl.java @@ -1,6 +1,6 @@ -package cn.odboy.core.framework.flow.handler.impl; +package cn.odboy.core.framework.flow.core.handler.impl; -import cn.odboy.core.framework.flow.handler.SerialPipelineNodeHandler; +import cn.odboy.core.framework.flow.core.handler.SerialPipelineNodeHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/dto/PipelineNodeVo.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/model/PipelineNodeVo.java similarity index 86% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/dto/PipelineNodeVo.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/model/PipelineNodeVo.java index 120550a6..d4517ead 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/dto/PipelineNodeVo.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/flow/model/PipelineNodeVo.java @@ -1,13 +1,14 @@ -package cn.odboy.core.framework.flow.dto; +package cn.odboy.core.framework.flow.model; -import cn.odboy.base.MyObject; +import cn.odboy.base.CsSerializeObject; import lombok.Data; import lombok.EqualsAndHashCode; + import java.util.List; @Data @EqualsAndHashCode(callSuper = false) -public class PipelineNodeVo extends MyObject { +public class PipelineNodeVo extends CsSerializeObject { /** * 业务节点名称 */ @@ -46,7 +47,7 @@ public class PipelineNodeVo extends MyObject { */ @Data @EqualsAndHashCode(callSuper = false) - public static class PipelineNodeOperationButton extends MyObject { + public static class PipelineNodeOperationButton extends CsSerializeObject { /** * 请求方式(get、post) */ diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/constant/MpQuery.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/CsMpQuery.java similarity index 93% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/constant/MpQuery.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/CsMpQuery.java index a92ea813..9f2d6796 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/constant/MpQuery.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/CsMpQuery.java @@ -1,4 +1,4 @@ -package cn.odboy.core.framework.mybatisplus.constant; +package cn.odboy.core.framework.mybatisplus.config; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; @@ -12,7 +12,7 @@ import java.lang.annotation.Target; */ @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) -public @interface MpQuery { +public @interface CsMpQuery { /** * 基本对象的属性名 */ diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/constant/DataTypeEnum.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/DataTypeEnum.java similarity index 98% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/constant/DataTypeEnum.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/DataTypeEnum.java index cd13fc2e..5b553bc5 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/constant/DataTypeEnum.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/DataTypeEnum.java @@ -1,4 +1,4 @@ -package cn.odboy.core.framework.mybatisplus.constant; +package cn.odboy.core.framework.mybatisplus.config; import cn.odboy.exception.BadRequestException; import lombok.extern.slf4j.Slf4j; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/context/CustomP6SpyLogger.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/MpCustomP6SpyLogger.java similarity index 92% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/context/CustomP6SpyLogger.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/MpCustomP6SpyLogger.java index bd46944b..579ad603 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/context/CustomP6SpyLogger.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/MpCustomP6SpyLogger.java @@ -1,4 +1,4 @@ -package cn.odboy.core.framework.mybatisplus.context; +package cn.odboy.core.framework.mybatisplus.config; import cn.hutool.core.util.StrUtil; import com.p6spy.engine.spy.appender.MessageFormattingStrategy; @@ -8,7 +8,7 @@ import lombok.extern.slf4j.Slf4j; * 自定义 p6spy sql输出格式 */ @Slf4j -public class CustomP6SpyLogger implements MessageFormattingStrategy { +public class MpCustomP6SpyLogger implements MessageFormattingStrategy { /** * 重置颜色 */ diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/context/InsertBatchSqlInjector.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/MpInsertBatchSqlInjector.java similarity index 93% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/context/InsertBatchSqlInjector.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/MpInsertBatchSqlInjector.java index 19ba3d39..aa5c0f85 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/context/InsertBatchSqlInjector.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/MpInsertBatchSqlInjector.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.odboy.core.framework.mybatisplus.context; +package cn.odboy.core.framework.mybatisplus.config; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.core.injector.AbstractMethod; @@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.metadata.TableInfo; import com.baomidou.mybatisplus.extension.injector.methods.AlwaysUpdateSomeColumnById; import com.baomidou.mybatisplus.extension.injector.methods.InsertBatchSomeColumn; import org.apache.ibatis.session.Configuration; + import java.util.List; /** @@ -30,7 +31,7 @@ import java.util.List; * @author odboy * @date 2025-01-11 */ -public class InsertBatchSqlInjector extends DefaultSqlInjector { +public class MpInsertBatchSqlInjector extends DefaultSqlInjector { @Override public List getMethodList(Configuration configuration, Class mapperClass, TableInfo tableInfo) { List methodList = super.getMethodList(configuration, mapperClass, tableInfo); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/context/MyMetaObjectHandler.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/MpMetaObjectHandler.java similarity index 87% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/context/MyMetaObjectHandler.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/MpMetaObjectHandler.java index 201a5e25..69bb260f 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/context/MyMetaObjectHandler.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/MpMetaObjectHandler.java @@ -1,14 +1,15 @@ -package cn.odboy.core.framework.mybatisplus.context; +package cn.odboy.core.framework.mybatisplus.config; import cn.hutool.core.date.DateTime; -import cn.odboy.core.framework.permission.util.SecurityHelper; +import cn.odboy.core.framework.permission.core.SecurityHelper; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; + import java.util.Date; @Component -public class MyMetaObjectHandler implements MetaObjectHandler { +public class MpMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/MybatisPlusConfig.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/MybatisPlusConfig.java index babb4bd6..42a36d91 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/MybatisPlusConfig.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/MybatisPlusConfig.java @@ -1,6 +1,5 @@ package cn.odboy.core.framework.mybatisplus.config; -import cn.odboy.core.framework.mybatisplus.context.InsertBatchSqlInjector; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor; @@ -34,7 +33,7 @@ public class MybatisPlusConfig { * Mapper支持批量插入 */ @Bean - public InsertBatchSqlInjector insertBatchSqlInjector() { - return new InsertBatchSqlInjector(); + public MpInsertBatchSqlInjector insertBatchSqlInjector() { + return new MpInsertBatchSqlInjector(); } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/constant/QueryTypeEnum.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/QueryTypeEnum.java similarity index 93% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/constant/QueryTypeEnum.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/QueryTypeEnum.java index 95e5b8fb..ff132187 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/constant/QueryTypeEnum.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/QueryTypeEnum.java @@ -1,4 +1,4 @@ -package cn.odboy.core.framework.mybatisplus.constant; +package cn.odboy.core.framework.mybatisplus.config; /** * 动态查询 枚举 diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/RemoveDruidAdConfig.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/RemoveDruidAdConfig.java index defc0613..667ac5e2 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/RemoveDruidAdConfig.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/config/RemoveDruidAdConfig.java @@ -9,12 +9,8 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplicat import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; + +import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/util/AnyQueryTool.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/core/CsMpAnyQUtil.java similarity index 54% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/util/AnyQueryTool.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/core/CsMpAnyQUtil.java index 90bc9d90..937d0e7f 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/util/AnyQueryTool.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/core/CsMpAnyQUtil.java @@ -1,10 +1,10 @@ -package cn.odboy.core.framework.mybatisplus.util; +package cn.odboy.core.framework.mybatisplus.core; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.springframework.stereotype.Component; + import java.util.ArrayList; import java.util.List; @@ -14,15 +14,14 @@ import java.util.List; * @author odboy * @date 2025-05-15 */ -@Component -public class AnyQueryTool { - public T selectOne(BaseMapper baseMapper, Object queryParams) { - QueryWrapper queryWrapper = MybatisHelper.build(queryParams); +public class CsMpAnyQUtil { + public static T selectOne(BaseMapper baseMapper, Object queryParams) { + QueryWrapper queryWrapper = CsMpSimpleQUtil.build(queryParams); return baseMapper.selectOne(queryWrapper); } - public M selectOne(BaseMapper baseMapper, Object queryParams, Class mapperClazz) { - QueryWrapper queryWrapper = MybatisHelper.build(queryParams); + public static M selectOne(BaseMapper baseMapper, Object queryParams, Class mapperClazz) { + QueryWrapper queryWrapper = CsMpSimpleQUtil.build(queryParams); T mapperTarget = baseMapper.selectOne(queryWrapper); if (mapperTarget == null) { return null; @@ -30,13 +29,13 @@ public class AnyQueryTool { return BeanUtil.copyProperties(mapperTarget, mapperClazz); } - public List selectList(BaseMapper baseMapper, Object queryParams) { - QueryWrapper queryWrapper = MybatisHelper.build(queryParams); + public static List selectList(BaseMapper baseMapper, Object queryParams) { + QueryWrapper queryWrapper = CsMpSimpleQUtil.build(queryParams); return baseMapper.selectList(queryWrapper); } - public List selectList(BaseMapper baseMapper, Object queryParams, Class mapperClazz) { - QueryWrapper queryWrapper = MybatisHelper.build(queryParams); + public static List selectList(BaseMapper baseMapper, Object queryParams, Class mapperClazz) { + QueryWrapper queryWrapper = CsMpSimpleQUtil.build(queryParams); List mapperTarget = baseMapper.selectList(queryWrapper); if (mapperTarget == null) { return new ArrayList<>(); @@ -44,18 +43,18 @@ public class AnyQueryTool { return BeanUtil.copyToList(mapperTarget, mapperClazz); } - public Long selectCount(BaseMapper baseMapper, Object queryParams) { - QueryWrapper queryWrapper = MybatisHelper.build(queryParams); + public static Long selectCount(BaseMapper baseMapper, Object queryParams) { + QueryWrapper queryWrapper = CsMpSimpleQUtil.build(queryParams); return baseMapper.selectCount(queryWrapper); } - public Page selectPage(BaseMapper baseMapper, Page page, Object queryParams) { - QueryWrapper queryWrapper = MybatisHelper.build(queryParams); + public static Page selectPage(BaseMapper baseMapper, Page page, Object queryParams) { + QueryWrapper queryWrapper = CsMpSimpleQUtil.build(queryParams); return baseMapper.selectPage(page, queryWrapper); } - public Page selectPage(BaseMapper baseMapper, Page page, Object queryParams, Class mapperClazz) { - QueryWrapper queryWrapper = MybatisHelper.build(queryParams); + public static Page selectPage(BaseMapper baseMapper, Page page, Object queryParams, Class mapperClazz) { + QueryWrapper queryWrapper = CsMpSimpleQUtil.build(queryParams); Page tPage = baseMapper.selectPage(page, queryWrapper); Page mapperTarget = new Page<>(); mapperTarget.setRecords(BeanUtil.copyToList(tPage.getRecords(), mapperClazz)); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/util/CmdGenHelper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/core/CsMpCmdGenUtil.java similarity index 94% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/util/CmdGenHelper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/core/CsMpCmdGenUtil.java index c934b896..aa4b2751 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/util/CmdGenHelper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/core/CsMpCmdGenUtil.java @@ -13,16 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.odboy.core.framework.mybatisplus.util; +package cn.odboy.core.framework.mybatisplus.core; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.generator.FastAutoGenerator; -import com.baomidou.mybatisplus.generator.config.DataSourceConfig; -import com.baomidou.mybatisplus.generator.config.GlobalConfig; -import com.baomidou.mybatisplus.generator.config.IDbQuery; -import com.baomidou.mybatisplus.generator.config.OutputFile; -import com.baomidou.mybatisplus.generator.config.PackageConfig; -import com.baomidou.mybatisplus.generator.config.StrategyConfig; +import com.baomidou.mybatisplus.generator.config.*; import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; import com.baomidou.mybatisplus.generator.config.rules.DateType; import com.baomidou.mybatisplus.generator.config.rules.DbColumnType; @@ -31,6 +26,7 @@ import com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine; import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; import lombok.Data; + import java.sql.Types; import java.util.Collections; import java.util.List; @@ -43,7 +39,7 @@ import java.util.function.Consumer; * @date 2025-01-11 */ @Data -public class CmdGenHelper { +public class CsMpCmdGenUtil { /** * 数据库类型 MySQL */ diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/util/MybatisHelper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/core/CsMpSimpleQUtil.java similarity index 92% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/util/MybatisHelper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/core/CsMpSimpleQUtil.java index e2f60012..451d7605 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/util/MybatisHelper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/core/CsMpSimpleQUtil.java @@ -1,10 +1,10 @@ -package cn.odboy.core.framework.mybatisplus.util; +package cn.odboy.core.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.MyEntity; -import cn.odboy.core.framework.mybatisplus.constant.MpQuery; +import cn.odboy.base.CsBaseUserTimeTb; +import cn.odboy.core.framework.mybatisplus.config.CsMpQuery; import cn.odboy.exception.BadRequestException; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; @@ -12,21 +12,18 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; + import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.List; -import java.util.Optional; +import java.util.*; import java.util.stream.Collectors; /** * 查询条件创建工具 */ @Slf4j -public class MybatisHelper { +public class CsMpSimpleQUtil { public static QueryWrapper build(Q query) { QueryWrapper queryWrapper = new QueryWrapper<>(); if (query == null) { @@ -38,7 +35,7 @@ public class MybatisHelper { for (Field field : fields) { if (!field.canAccess(query)) { field.setAccessible(true); - MpQuery q = field.getAnnotation(MpQuery.class); + CsMpQuery q = field.getAnnotation(CsMpQuery.class); if (q != null) { String attributeName = getAttributeName(q, field); Object fieldVal = field.get(query); @@ -60,12 +57,12 @@ public class MybatisHelper { return queryWrapper; } - private static String getAttributeName(MpQuery q, Field field) { + private static String getAttributeName(CsMpQuery q, Field field) { String attributeName = StrUtil.isBlank(q.propName()) ? field.getName() : q.propName(); return StrUtil.toUnderlineCase(attributeName); } - private static void handleWrapper(MpQuery q, QueryWrapper queryWrapper, String attributeName, Object fieldVal) { + private static void handleWrapper(CsMpQuery q, QueryWrapper queryWrapper, String attributeName, Object fieldVal) { switch (q.type()) { case EQUAL: queryWrapper.eq(attributeName, fieldVal); @@ -179,7 +176,7 @@ public class MybatisHelper { @TableName("test_domain") private static class TestDomain { - @NotNull(groups = MyEntity.Update.class) + @NotNull(groups = CsBaseUserTimeTb.Update.class) @TableId(value = "user_id", type = IdType.AUTO) private Long id; @TableField(value = "dept_id") diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/interfaces/EasyService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/core/interfaces/CsMpEasyService.java similarity index 77% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/interfaces/EasyService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/core/interfaces/CsMpEasyService.java index 1392bfbe..1c649c18 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/interfaces/EasyService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/core/interfaces/CsMpEasyService.java @@ -13,13 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.odboy.core.framework.mybatisplus.interfaces; +package cn.odboy.core.framework.mybatisplus.core.interfaces; -import cn.odboy.base.PageResult; +import cn.odboy.base.CsResultVo; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.support.SFunction; import com.baomidou.mybatisplus.extension.service.IService; + import java.io.Serializable; import java.util.Collection; import java.util.List; @@ -30,7 +31,7 @@ import java.util.List; * @author odboy * @date 2022-04-03 */ -public interface EasyService extends IService { +public interface CsMpEasyService extends IService { int saveFeatureClazz(G resources); int saveFeatureClazzList(List resources); @@ -55,13 +56,13 @@ public interface EasyService extends IService { List describeFeatureClazzListByArgs(LambdaQueryWrapper wrapper, Class targetClazz); - PageResult describeClazzPageByArgs(LambdaQueryWrapper wrapper, IPage pageable); + CsResultVo> describeClazzPageByArgs(LambdaQueryWrapper wrapper, IPage pageable); - PageResult describeFeatureClazzPageByArgs(LambdaQueryWrapper wrapper, IPage pageable, Class targetClazz); + CsResultVo> describeFeatureClazzPageByArgs(LambdaQueryWrapper wrapper, IPage pageable, Class targetClazz); - PageResult describeFeatureClazzPageByArgs(Q criteria, IPage pageable, Class targetClazz); + CsResultVo> describeFeatureClazzPageByArgs(Q criteria, IPage pageable, Class targetClazz); - PageResult describeClazzPageByArgs(Q criteria, IPage pageable); + CsResultVo> describeClazzPageByArgs(Q criteria, IPage pageable); int modifyClazzByArgs(LambdaQueryWrapper wrapper, T entity); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/interfaces/EasyMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/core/interfaces/CsMpMapper.java similarity index 89% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/interfaces/EasyMapper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/core/interfaces/CsMpMapper.java index e38dcd6f..9ca9843b 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/interfaces/EasyMapper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/core/interfaces/CsMpMapper.java @@ -13,12 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.odboy.core.framework.mybatisplus.interfaces; +package cn.odboy.core.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.PageResult; +import cn.odboy.base.CsResultVo; +import cn.odboy.util.PageUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -26,6 +27,7 @@ import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapp import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import org.springframework.data.domain.Pageable; + import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; @@ -39,7 +41,7 @@ import java.util.concurrent.ConcurrentHashMap; * @author odboy * @date 2022-04-03 */ -public interface EasyMapper extends BaseMapper { +public interface CsMpMapper extends BaseMapper { /** * 批量插入 * @@ -134,16 +136,16 @@ public interface EasyMapper extends BaseMapper { * @param clazz 期望的对象类型 * @return IPage */ - default PageResult queryFeatureClazzPage(Pageable pageable, LambdaQueryWrapper wrapper, Class clazz) { + default CsResultVo> queryFeatureClazzPage(Pageable pageable, LambdaQueryWrapper wrapper, Class clazz) { int pageNumber = pageable.getPageNumber(); int pageSize = pageable.getPageSize(); pageNumber = pageNumber <= 0 ? 1 : pageNumber; pageSize = pageSize <= 0 ? 10 : pageSize; IPage pageInfo = this.selectPage(new Page<>(pageNumber, pageSize), wrapper); if (CollUtil.isEmpty(pageInfo.getRecords())) { - return new PageResult<>(new ArrayList<>(), pageInfo.getTotal()); + return new CsResultVo<>(new ArrayList<>(), pageInfo.getTotal()); } - return new PageResult<>(BeanUtil.copyToList(pageInfo.getRecords(), clazz), pageInfo.getTotal()); + return new CsResultVo<>(BeanUtil.copyToList(pageInfo.getRecords(), clazz), pageInfo.getTotal()); } /** @@ -154,16 +156,16 @@ public interface EasyMapper extends BaseMapper { * @param clazz 期望的对象类型 * @return IPage */ - default PageResult queryFeatureClazzPage(Pageable pageable, LambdaQueryChainWrapper wrapper, Class clazz) { + default CsResultVo> queryFeatureClazzPage(Pageable pageable, LambdaQueryChainWrapper wrapper, Class clazz) { int pageNumber = pageable.getPageNumber(); int pageSize = pageable.getPageSize(); pageNumber = pageNumber <= 0 ? 1 : pageNumber; pageSize = pageSize <= 0 ? 10 : pageSize; IPage pageInfo = wrapper.page(new Page<>(pageNumber, pageSize)); if (CollUtil.isEmpty(pageInfo.getRecords())) { - return new PageResult<>(new ArrayList<>(), pageInfo.getTotal()); + return PageUtil.emptyListData(); } - return new PageResult<>(BeanUtil.copyToList(pageInfo.getRecords(), clazz), pageInfo.getTotal()); + return new CsResultVo<>(BeanUtil.copyToList(pageInfo.getRecords(), clazz), pageInfo.getTotal()); } /** diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/interfaces/impl/EasyServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/core/interfaces/CsMpServiceImpl.java similarity index 85% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/interfaces/impl/EasyServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/core/interfaces/CsMpServiceImpl.java index e7b4c712..1eb53161 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/interfaces/impl/EasyServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/mybatisplus/core/interfaces/CsMpServiceImpl.java @@ -13,13 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.odboy.core.framework.mybatisplus.interfaces.impl; +package cn.odboy.core.framework.mybatisplus.core.interfaces; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; -import cn.odboy.base.PageResult; -import cn.odboy.core.framework.mybatisplus.interfaces.EasyMapper; -import cn.odboy.core.framework.mybatisplus.util.MybatisHelper; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.framework.mybatisplus.core.CsMpSimpleQUtil; import cn.odboy.exception.BadRequestException; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -28,6 +27,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.support.SFunction; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.ibatis.binding.MapperMethod; + import java.io.Serializable; import java.util.Collection; import java.util.List; @@ -38,7 +38,7 @@ import java.util.List; * @author odboy * @date 2022-04-03 */ -public class EasyServiceImpl, T> extends ServiceImpl { +public class CsMpServiceImpl, T> extends ServiceImpl { /** * 快速插入 * @@ -146,7 +146,7 @@ public class EasyServiceImpl, T> extends ServiceImpl List describeClazzListByArgs(Q criteria) { - QueryWrapper predicate = MybatisHelper.build(criteria); + QueryWrapper predicate = CsMpSimpleQUtil.build(criteria); return baseMapper.selectList(predicate); } @@ -169,7 +169,7 @@ public class EasyServiceImpl, T> extends ServiceImpl List describeFeatureClazzListByArgs(Q criteria, Class targetClazz) { - QueryWrapper predicate = MybatisHelper.build(criteria); + QueryWrapper predicate = CsMpSimpleQUtil.build(criteria); List data = baseMapper.selectList(predicate); return BeanUtil.copyToList(data, targetClazz); } @@ -193,12 +193,12 @@ public class EasyServiceImpl, T> extends ServiceImpl describeClazzPageByArgs(LambdaQueryWrapper wrapper, IPage pageable) { + public CsResultVo> describeClazzPageByArgs(LambdaQueryWrapper wrapper, IPage pageable) { if (wrapper == null) { wrapper = new LambdaQueryWrapper<>(); } IPage originPageData = baseMapper.selectPage(pageable, wrapper); - return new PageResult<>(originPageData.getRecords(), originPageData.getTotal()); + return new CsResultVo<>(originPageData.getRecords(), originPageData.getTotal()); } /** @@ -208,24 +208,24 @@ public class EasyServiceImpl, T> extends ServiceImpl PageResult describeFeatureClazzPageByArgs(LambdaQueryWrapper wrapper, IPage pageable, Class targetClazz) { + public CsResultVo> describeFeatureClazzPageByArgs(LambdaQueryWrapper wrapper, IPage pageable, Class targetClazz) { if (wrapper == null) { wrapper = new LambdaQueryWrapper<>(); } IPage originPageData = baseMapper.selectPage(pageable, wrapper); - return new PageResult<>(BeanUtil.copyToList(originPageData.getRecords(), targetClazz), originPageData.getTotal()); + return new CsResultVo<>(BeanUtil.copyToList(originPageData.getRecords(), targetClazz), originPageData.getTotal()); } - public PageResult describeFeatureClazzPageByArgs(Q criteria, IPage pageable, Class targetClazz) { - QueryWrapper wrapper = MybatisHelper.build(criteria); + public CsResultVo> describeFeatureClazzPageByArgs(Q criteria, IPage pageable, Class targetClazz) { + QueryWrapper wrapper = CsMpSimpleQUtil.build(criteria); IPage originPageData = baseMapper.selectPage(pageable, wrapper); - return new PageResult<>(BeanUtil.copyToList(originPageData.getRecords(), targetClazz), originPageData.getTotal()); + return new CsResultVo<>(BeanUtil.copyToList(originPageData.getRecords(), targetClazz), originPageData.getTotal()); } - public PageResult describeClazzPageByArgs(Q criteria, IPage pageable) { - QueryWrapper wrapper = MybatisHelper.build(criteria); + public CsResultVo> describeClazzPageByArgs(Q criteria, IPage pageable) { + QueryWrapper wrapper = CsMpSimpleQUtil.build(criteria); IPage originPageData = baseMapper.selectPage(pageable, wrapper); - return new PageResult<>(originPageData.getRecords(), originPageData.getTotal()); + return new CsResultVo<>(originPageData.getRecords(), originPageData.getTotal()); } /** diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/config/AuthorityConfig.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/config/AuthorityConfig.java index 2f4ed2fd..e71b88b9 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/config/AuthorityConfig.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/config/AuthorityConfig.java @@ -1,8 +1,9 @@ package cn.odboy.core.framework.permission.config; -import cn.odboy.core.framework.permission.util.SecurityHelper; +import cn.odboy.core.framework.permission.core.SecurityHelper; import org.springframework.security.core.GrantedAuthority; import org.springframework.stereotype.Service; + import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/SpringSecurityConfig.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/config/SpringSecurityConfig.java similarity index 92% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/SpringSecurityConfig.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/config/SpringSecurityConfig.java index 734409a1..57dae11c 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/SpringSecurityConfig.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/config/SpringSecurityConfig.java @@ -1,7 +1,10 @@ -package cn.odboy.core.framework.permission; +package cn.odboy.core.framework.permission.config; import cn.odboy.constant.RequestMethodEnum; -import cn.odboy.core.cache.api.SystemUserOnlineApi; +import cn.odboy.core.dal.redis.system.SystemUserOnlineApi; +import cn.odboy.core.framework.permission.core.handler.JwtAccessDeniedHandler; +import cn.odboy.core.framework.permission.core.handler.JwtAuthenticationEntryPoint; +import cn.odboy.core.framework.permission.core.handler.TokenProvider; import cn.odboy.util.AnonTagUtil; import lombok.RequiredArgsConstructor; import org.springframework.context.ApplicationContext; @@ -16,6 +19,7 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.SecurityFilterChain; import org.springframework.web.filter.CorsFilter; + import java.util.Map; import java.util.Set; @@ -33,7 +37,7 @@ public class SpringSecurityConfig { private final SystemUserOnlineApi systemUserOnlineApi; @Bean - GrantedAuthorityDefaults grantedAuthorityDefaults() { + public GrantedAuthorityDefaults grantedAuthorityDefaults() { // 去除 ROLE_ 前缀 return new GrantedAuthorityDefaults(""); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/TokenConfigurer.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/config/TokenConfigurer.java similarity index 77% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/TokenConfigurer.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/config/TokenConfigurer.java index 586a9bb3..4b64c9d6 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/TokenConfigurer.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/config/TokenConfigurer.java @@ -1,6 +1,8 @@ -package cn.odboy.core.framework.permission; +package cn.odboy.core.framework.permission.config; -import cn.odboy.core.cache.api.SystemUserOnlineApi; +import cn.odboy.core.dal.redis.system.SystemUserOnlineApi; +import cn.odboy.core.framework.permission.core.handler.TokenFilter; +import cn.odboy.core.framework.permission.core.handler.TokenProvider; import lombok.RequiredArgsConstructor; import org.springframework.security.config.annotation.SecurityConfigurerAdapter; import org.springframework.security.config.annotation.web.builders.HttpSecurity; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/util/SecurityHelper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/SecurityHelper.java similarity index 95% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/util/SecurityHelper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/SecurityHelper.java index dac00783..96e10f2d 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/util/SecurityHelper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/SecurityHelper.java @@ -1,11 +1,11 @@ -package cn.odboy.core.framework.permission.util; +package cn.odboy.core.framework.permission.core; import cn.hutool.core.collection.CollUtil; import cn.hutool.jwt.JWT; import cn.hutool.jwt.JWTUtil; import cn.odboy.constant.SystemConst; import cn.odboy.context.SpringBeanHolder; -import cn.odboy.core.constant.DataScopeEnum; +import cn.odboy.core.constant.system.SystemDataScopeEnum; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; @@ -15,6 +15,7 @@ import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; + import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Objects; @@ -58,7 +59,7 @@ public class SecurityHelper { if (CollUtil.isEmpty(dataScopes)) { return ""; } - return DataScopeEnum.ALL.getValue(); + return SystemDataScopeEnum.ALL.getValue(); } /** diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/JwtAccessDeniedHandler.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/JwtAccessDeniedHandler.java similarity index 95% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/JwtAccessDeniedHandler.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/JwtAccessDeniedHandler.java index 27864037..c8d832a3 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/JwtAccessDeniedHandler.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/JwtAccessDeniedHandler.java @@ -1,4 +1,4 @@ -package cn.odboy.core.framework.permission; +package cn.odboy.core.framework.permission.core.handler; import cn.odboy.exception.handler.ApiError; import com.fasterxml.jackson.databind.ObjectMapper; @@ -6,6 +6,7 @@ import org.springframework.http.HttpStatus; import org.springframework.security.access.AccessDeniedException; import org.springframework.security.web.access.AccessDeniedHandler; import org.springframework.stereotype.Component; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/JwtAuthenticationEntryPoint.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/JwtAuthenticationEntryPoint.java similarity index 95% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/JwtAuthenticationEntryPoint.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/JwtAuthenticationEntryPoint.java index b4bea5c6..162eeb43 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/JwtAuthenticationEntryPoint.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/JwtAuthenticationEntryPoint.java @@ -1,4 +1,4 @@ -package cn.odboy.core.framework.permission; +package cn.odboy.core.framework.permission.core.handler; import cn.odboy.exception.handler.ApiError; import com.fasterxml.jackson.databind.ObjectMapper; @@ -7,6 +7,7 @@ import org.springframework.http.HttpStatus; import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.AuthenticationEntryPoint; import org.springframework.stereotype.Component; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/TokenFilter.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/TokenFilter.java similarity index 90% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/TokenFilter.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/TokenFilter.java index e95c7570..90ecc1fb 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/TokenFilter.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/TokenFilter.java @@ -1,14 +1,15 @@ -package cn.odboy.core.framework.permission; +package cn.odboy.core.framework.permission.core.handler; import cn.hutool.core.util.StrUtil; import cn.odboy.constant.SystemConst; -import cn.odboy.core.cache.api.SystemUserOnlineApi; -import cn.odboy.core.service.system.dto.UserOnlineVo; +import cn.odboy.core.dal.redis.system.SystemUserOnlineApi; +import cn.odboy.core.dal.model.system.SystemUserOnlineVo; import lombok.extern.slf4j.Slf4j; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.util.StringUtils; import org.springframework.web.filter.GenericFilterBean; + import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.ServletRequest; @@ -38,7 +39,7 @@ public class TokenFilter extends GenericFilterBean { if (StrUtil.isNotBlank(token)) { // 获取用户Token的Key String loginKey = tokenProvider.loginKey(token); - UserOnlineVo userOnlineVo = systemUserOnlineApi.describeUserOnlineModelByKey(loginKey); + SystemUserOnlineVo userOnlineVo = systemUserOnlineApi.describeUserOnlineModelByKey(loginKey); // 判断用户在线信息是否为空 if (userOnlineVo != null) { // Token 续期判断 diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/TokenProvider.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/TokenProvider.java similarity index 92% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/TokenProvider.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/TokenProvider.java index 3c699d58..d48795ee 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/TokenProvider.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/TokenProvider.java @@ -1,18 +1,14 @@ -package cn.odboy.core.framework.permission; +package cn.odboy.core.framework.permission.core.handler; import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.odboy.constant.SystemConst; -import cn.odboy.core.constant.SystemRedisKey; +import cn.odboy.core.dal.model.system.SystemUserJwtVo; +import cn.odboy.core.dal.redis.system.SystemRedisKey; import cn.odboy.core.framework.properties.AppProperties; -import cn.odboy.core.service.system.dto.UserJwtVo; import cn.odboy.redis.RedisHelper; -import io.jsonwebtoken.Claims; -import io.jsonwebtoken.JwtBuilder; -import io.jsonwebtoken.JwtParser; -import io.jsonwebtoken.Jwts; -import io.jsonwebtoken.SignatureAlgorithm; +import io.jsonwebtoken.*; import io.jsonwebtoken.io.Decoders; import io.jsonwebtoken.security.Keys; import lombok.RequiredArgsConstructor; @@ -22,6 +18,7 @@ import org.springframework.security.authentication.UsernamePasswordAuthenticatio import org.springframework.security.core.Authentication; import org.springframework.security.core.userdetails.User; import org.springframework.stereotype.Component; + import javax.servlet.http.HttpServletRequest; import java.security.Key; import java.util.ArrayList; @@ -61,7 +58,7 @@ public class TokenProvider implements InitializingBean { * @param user / * @return / */ - public String createToken(UserJwtVo user) { + public String createToken(SystemUserJwtVo user) { // 设置参数 Map claims = new HashMap<>(6); // 设置用户ID diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/UserDetailsServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/UserDetailsHandler.java similarity index 50% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/UserDetailsServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/UserDetailsHandler.java index 55574363..1b354988 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/UserDetailsServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/UserDetailsHandler.java @@ -1,35 +1,36 @@ -package cn.odboy.core.framework.permission; +package cn.odboy.core.framework.permission.core.handler; -import cn.odboy.core.api.system.SystemDataApi; -import cn.odboy.core.api.system.SystemRoleApi; -import cn.odboy.core.api.system.SystemUserApi; -import cn.odboy.core.cache.api.SystemUserJwtApi; -import cn.odboy.core.cache.service.SystemUserJwtService; -import cn.odboy.core.dal.dataobject.system.User; -import cn.odboy.core.service.system.dto.RoleCodeVo; -import cn.odboy.core.service.system.dto.UserJwtVo; +import cn.odboy.core.dal.model.system.SystemRoleCodeVo; +import cn.odboy.core.dal.model.system.SystemUserJwtVo; +import cn.odboy.core.dal.redis.system.SystemUserJwtApi; +import cn.odboy.core.dal.redis.system.SystemUserJwtService; +import cn.odboy.core.dal.dataobject.system.SystemUserTb; +import cn.odboy.core.service.system.ookkoko.SystemDataService; +import cn.odboy.core.service.system.SystemRoleApi; +import cn.odboy.core.service.system.SystemUserApi; import cn.odboy.exception.BadRequestException; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.stereotype.Service; + import java.util.List; @Slf4j @RequiredArgsConstructor @Service("userDetailsService") -public class UserDetailsServiceImpl implements UserDetailsService { +public class UserDetailsHandler implements UserDetailsService { private final SystemRoleApi systemRoleApi; private final SystemUserApi systemUserApi; - private final SystemDataApi systemDataApi; + private final SystemDataService systemDataService; private final SystemUserJwtService systemUserJwtService; private final SystemUserJwtApi systemUserJwtApi; @Override - public UserJwtVo loadUserByUsername(String username) { - UserJwtVo userJwtVo = systemUserJwtApi.describeUserJwtModelByUsername(username); + public SystemUserJwtVo loadUserByUsername(String username) { + SystemUserJwtVo userJwtVo = systemUserJwtApi.describeUserJwtModelByUsername(username); if (userJwtVo == null) { - User user = systemUserApi.describeUserByUsername(username); + SystemUserTb user = systemUserApi.describeUserByUsername(username); if (user == null) { throw new BadRequestException("用户不存在"); } else { @@ -37,9 +38,9 @@ public class UserDetailsServiceImpl implements UserDetailsService { throw new BadRequestException("账号未激活!"); } // 获取用户的权限 - List authorities = systemRoleApi.buildUserRolePermissions(user); + List authorities = systemRoleApi.buildUserRolePermissions(user); // 初始化JwtUserDto - userJwtVo = new UserJwtVo(user, systemDataApi.describeDeptIdListByUserIdWithDeptId(user), authorities); + userJwtVo = new SystemUserJwtVo(user, systemDataService.describeDeptIdListByUserIdWithDeptId(user), authorities); // 添加缓存数据 systemUserJwtService.saveUserJwtModelByUserName(username, userJwtVo); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/AppProperties.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/AppProperties.java index 3e569746..93946acb 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/AppProperties.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/AppProperties.java @@ -1,11 +1,6 @@ package cn.odboy.core.framework.properties; -import cn.odboy.core.framework.properties.dto.ContentRsaEncodeSettingModel; -import cn.odboy.core.framework.properties.dto.FileUploadSettingModel; -import cn.odboy.core.framework.properties.dto.JwtAuthSettingModel; -import cn.odboy.core.framework.properties.dto.QuartzTaskThreadPoolSettingModel; -import cn.odboy.core.framework.properties.dto.SwaggerApiDocSettingModel; -import cn.odboy.core.framework.properties.dto.UserLoginSettingModel; +import cn.odboy.core.framework.properties.model.*; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @@ -25,7 +20,8 @@ public class AppProperties { private JwtAuthSettingModel jwt; private UserLoginSettingModel login; private SwaggerApiDocSettingModel swagger; - private QuartzTaskThreadPoolSettingModel asyncTaskPool; + private ThreadPoolSettingModel asyncTaskPool; + private ThreadPoolSettingModel pipelineTaskPool; } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/ContentRsaEncodeSettingModel.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/ContentRsaEncodeSettingModel.java similarity index 57% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/ContentRsaEncodeSettingModel.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/ContentRsaEncodeSettingModel.java index 8f4cf437..c70a2c2f 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/ContentRsaEncodeSettingModel.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/ContentRsaEncodeSettingModel.java @@ -1,11 +1,13 @@ -package cn.odboy.core.framework.properties.dto; +package cn.odboy.core.framework.properties.model; -import lombok.Data; +import lombok.Getter; +import lombok.Setter; /** * 密码加密传输,前端公钥加密,后端私钥解密 */ -@Data +@Getter +@Setter public class ContentRsaEncodeSettingModel { public String privateKey; } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/FileUploadSettingModel.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/FileUploadSettingModel.java similarity index 87% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/FileUploadSettingModel.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/FileUploadSettingModel.java index 7b443401..7a1b4cbf 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/FileUploadSettingModel.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/FileUploadSettingModel.java @@ -1,12 +1,15 @@ -package cn.odboy.core.framework.properties.dto; +package cn.odboy.core.framework.properties.model; import cn.odboy.constant.SystemConst; import lombok.Data; +import lombok.Getter; +import lombok.Setter; /** * 文件上传配置 */ -@Data +@Getter +@Setter public class FileUploadSettingModel { /** * 文件大小限制 diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/JwtAuthSettingModel.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/JwtAuthSettingModel.java similarity index 78% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/JwtAuthSettingModel.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/JwtAuthSettingModel.java index 5ff8bd5a..9c26ebe4 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/JwtAuthSettingModel.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/JwtAuthSettingModel.java @@ -1,11 +1,13 @@ -package cn.odboy.core.framework.properties.dto; +package cn.odboy.core.framework.properties.model; -import lombok.Data; +import lombok.Getter; +import lombok.Setter; /** * Jwt参数配置 */ -@Data +@Getter +@Setter public class JwtAuthSettingModel { /** * 必须使用最少88位的Base64对该令牌进行编码 diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/SwaggerApiDocSettingModel.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/SwaggerApiDocSettingModel.java similarity index 51% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/SwaggerApiDocSettingModel.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/SwaggerApiDocSettingModel.java index d742b4ae..373aa198 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/SwaggerApiDocSettingModel.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/SwaggerApiDocSettingModel.java @@ -1,12 +1,14 @@ -package cn.odboy.core.framework.properties.dto; +package cn.odboy.core.framework.properties.model; -import lombok.Data; +import lombok.Getter; +import lombok.Setter; /** * @author odboy * @date 2025-04-13 */ -@Data +@Getter +@Setter public class SwaggerApiDocSettingModel { private boolean enabled; } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/QuartzTaskThreadPoolSettingModel.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/ThreadPoolSettingModel.java similarity index 66% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/QuartzTaskThreadPoolSettingModel.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/ThreadPoolSettingModel.java index 1f090e8c..597185cf 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/QuartzTaskThreadPoolSettingModel.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/ThreadPoolSettingModel.java @@ -1,15 +1,17 @@ -package cn.odboy.core.framework.properties.dto; +package cn.odboy.core.framework.properties.model; -import lombok.Data; +import lombok.Getter; +import lombok.Setter; /** - * 定时任务线程池 配置 + * 线程池 配置 * * @author odboy * @date 2025-04-13 */ -@Data -public class QuartzTaskThreadPoolSettingModel { +@Getter +@Setter +public class ThreadPoolSettingModel { /** * 核心线程池大小 */ diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/UserLoginCaptchaSettingModel.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/UserLoginCaptchaSettingModel.java similarity index 91% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/UserLoginCaptchaSettingModel.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/UserLoginCaptchaSettingModel.java index 7c5af42a..90604f16 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/UserLoginCaptchaSettingModel.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/UserLoginCaptchaSettingModel.java @@ -1,21 +1,21 @@ -package cn.odboy.core.framework.properties.dto; +package cn.odboy.core.framework.properties.model; import cn.odboy.core.constant.LoginCodeEnum; import cn.odboy.exception.BadRequestException; import cn.odboy.util.StringUtil; -import com.wf.captcha.ArithmeticCaptcha; -import com.wf.captcha.ChineseCaptcha; -import com.wf.captcha.ChineseGifCaptcha; -import com.wf.captcha.GifCaptcha; -import com.wf.captcha.SpecCaptcha; +import com.wf.captcha.*; import com.wf.captcha.base.Captcha; -import lombok.Data; +import lombok.Getter; +import lombok.Setter; + import java.awt.*; /** * 验证码配置 + * @author odboy */ -@Data +@Getter +@Setter public class UserLoginCaptchaSettingModel { private LoginCodeEnum codeType; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/UserLoginSettingModel.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/UserLoginSettingModel.java similarity index 61% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/UserLoginSettingModel.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/UserLoginSettingModel.java index 8454ef8e..cfe9812a 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/dto/UserLoginSettingModel.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/properties/model/UserLoginSettingModel.java @@ -1,11 +1,14 @@ -package cn.odboy.core.framework.properties.dto; +package cn.odboy.core.framework.properties.model; -import lombok.Data; +import lombok.Getter; +import lombok.Setter; /** * 登录配置 + * @author odboy */ -@Data +@Getter +@Setter public class UserLoginSettingModel { /** * 账号单用户 登录 diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/ExecutionJobBean.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/core/ExecutionJobBean.java similarity index 81% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/ExecutionJobBean.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/core/ExecutionJobBean.java index ffee5788..8c4d1607 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/ExecutionJobBean.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/core/ExecutionJobBean.java @@ -1,4 +1,4 @@ -package cn.odboy.core.framework.quartz; +package cn.odboy.core.framework.quartz.core; import cn.hutool.core.exceptions.ExceptionUtil; import cn.hutool.extra.template.Template; @@ -6,18 +6,19 @@ import cn.hutool.extra.template.TemplateConfig; import cn.hutool.extra.template.TemplateEngine; import cn.hutool.extra.template.TemplateUtil; import cn.odboy.context.SpringBeanHolder; -import cn.odboy.core.dal.dataobject.job.QuartzJob; -import cn.odboy.core.dal.dataobject.job.QuartzLog; -import cn.odboy.core.dal.mysql.job.QuartzLogMapper; +import cn.odboy.core.dal.dataobject.system.SystemQuartzJobTb; +import cn.odboy.core.dal.dataobject.system.SystemQuartzLogTb; +import cn.odboy.core.dal.mysql.system.SystemQuartzLogMapper; import cn.odboy.core.service.system.SystemQuartzJobService; -import cn.odboy.core.service.tools.EmailService; -import cn.odboy.core.service.tools.dto.SendEmailRequest; +import cn.odboy.core.service.system.SystemEmailService; +import cn.odboy.core.dal.model.system.SendSystemEmailArgs; import cn.odboy.redis.RedisHelper; import cn.odboy.util.StringUtil; import lombok.extern.slf4j.Slf4j; import org.quartz.JobExecutionContext; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.scheduling.quartz.QuartzJobBean; + import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -34,15 +35,15 @@ public class ExecutionJobBean extends QuartzJobBean { @Override public void executeInternal(JobExecutionContext context) { // 获取任务 - QuartzJob quartzJob = (QuartzJob) context.getMergedJobDataMap().get(QuartzJob.JOB_KEY); + SystemQuartzJobTb quartzJob = (SystemQuartzJobTb) context.getMergedJobDataMap().get(SystemQuartzJobTb.JOB_KEY); // 获取spring bean - QuartzLogMapper quartzLogMapper = SpringBeanHolder.getBean(QuartzLogMapper.class); + SystemQuartzLogMapper quartzLogMapper = SpringBeanHolder.getBean(SystemQuartzLogMapper.class); SystemQuartzJobService systemQuartzJobService = SpringBeanHolder.getBean(SystemQuartzJobService.class); RedisHelper redisHelper = SpringBeanHolder.getBean(RedisHelper.class); String uuid = quartzJob.getUuid(); - QuartzLog quartzLog = new QuartzLog(); + SystemQuartzLogTb quartzLog = new SystemQuartzLogTb(); quartzLog.setJobName(quartzJob.getJobName()); quartzLog.setBeanName(quartzJob.getBeanName()); quartzLog.setMethodName(quartzJob.getMethodName()); @@ -86,10 +87,10 @@ public class ExecutionJobBean extends QuartzJobBean { systemQuartzJobService.switchQuartzJobStatus(quartzJob); } if (quartzJob.getEmail() != null) { - EmailService emailService = SpringBeanHolder.getBean(EmailService.class); + SystemEmailService emailService = SpringBeanHolder.getBean(SystemEmailService.class); // 邮箱报警 if (StringUtil.isNoneBlank(quartzJob.getEmail())) { - SendEmailRequest sendEmailRequest = taskAlarm(quartzJob, ExceptionUtil.stacktraceToString(e)); + SendSystemEmailArgs sendEmailRequest = taskAlarm(quartzJob, ExceptionUtil.stacktraceToString(e)); emailService.sendEmail(sendEmailRequest); } } @@ -98,8 +99,8 @@ public class ExecutionJobBean extends QuartzJobBean { } } - private SendEmailRequest taskAlarm(QuartzJob quartzJob, String msg) { - SendEmailRequest sendEmailRequest = new SendEmailRequest(); + private SendSystemEmailArgs taskAlarm(SystemQuartzJobTb quartzJob, String msg) { + SendSystemEmailArgs sendEmailRequest = new SendSystemEmailArgs(); sendEmailRequest.setSubject("定时任务【" + quartzJob.getJobName() + "】执行失败,请尽快处理!"); Map data = new HashMap<>(16); data.put("task", quartzJob); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/context/InitialActiveJobApplicationRunner.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/core/InitialActiveJobApplicationRunner.java similarity index 69% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/context/InitialActiveJobApplicationRunner.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/core/InitialActiveJobApplicationRunner.java index 5f0c9125..ec4471e5 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/context/InitialActiveJobApplicationRunner.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/core/InitialActiveJobApplicationRunner.java @@ -1,19 +1,20 @@ -package cn.odboy.core.framework.quartz.context; +package cn.odboy.core.framework.quartz.core; -import cn.odboy.core.dal.dataobject.job.QuartzJob; -import cn.odboy.core.dal.mysql.job.QuartzJobMapper; +import cn.odboy.core.dal.dataobject.system.SystemQuartzJobTb; +import cn.odboy.core.dal.mysql.system.SystemQuartzJobMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Component; + import java.util.List; @Slf4j @Component @RequiredArgsConstructor public class InitialActiveJobApplicationRunner implements ApplicationRunner { - private final QuartzJobMapper quartzJobMapper; + private final SystemQuartzJobMapper quartzJobMapper; private final QuartzManage quartzManage; /** @@ -23,7 +24,7 @@ public class InitialActiveJobApplicationRunner implements ApplicationRunner { */ @Override public void run(ApplicationArguments applicationArguments) { - List quartzJobs = quartzJobMapper.queryActiveQuartzJobList(); + List quartzJobs = quartzJobMapper.queryActiveQuartzJobList(); quartzJobs.forEach(quartzManage::addJob); log.info("Timing task injection complete"); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/context/QuartzManage.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/core/QuartzManage.java similarity index 83% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/context/QuartzManage.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/core/QuartzManage.java index 6882a3f4..ed876523 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/context/QuartzManage.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/core/QuartzManage.java @@ -1,22 +1,12 @@ -package cn.odboy.core.framework.quartz.context; +package cn.odboy.core.framework.quartz.core; -import cn.odboy.core.dal.dataobject.job.QuartzJob; -import cn.odboy.core.framework.quartz.ExecutionJobBean; +import cn.odboy.core.dal.dataobject.system.SystemQuartzJobTb; import cn.odboy.exception.BadRequestException; import lombok.extern.slf4j.Slf4j; -import org.quartz.CronScheduleBuilder; -import org.quartz.CronTrigger; -import org.quartz.JobBuilder; -import org.quartz.JobDataMap; -import org.quartz.JobDetail; -import org.quartz.JobKey; -import org.quartz.ObjectAlreadyExistsException; -import org.quartz.Scheduler; -import org.quartz.Trigger; -import org.quartz.TriggerBuilder; -import org.quartz.TriggerKey; +import org.quartz.*; import org.quartz.impl.triggers.CronTriggerImpl; import org.springframework.stereotype.Component; + import javax.annotation.Resource; import java.util.Date; @@ -29,7 +19,7 @@ public class QuartzManage { @Resource private Scheduler scheduler; - public void addJob(QuartzJob quartzJob) { + public void addJob(SystemQuartzJobTb quartzJob) { try { // 构建job信息 JobDetail jobDetail = JobBuilder.newJob(ExecutionJobBean.class). @@ -42,7 +32,7 @@ public class QuartzManage { .withSchedule(CronScheduleBuilder.cronSchedule(quartzJob.getCronExpression())) .build(); - cronTrigger.getJobDataMap().put(QuartzJob.JOB_KEY, quartzJob); + cronTrigger.getJobDataMap().put(SystemQuartzJobTb.JOB_KEY, quartzJob); // 重置启动时间 ((CronTriggerImpl) cronTrigger).setStartTime(new Date()); @@ -69,7 +59,7 @@ public class QuartzManage { * * @param quartzJob / */ - public void updateJobCron(QuartzJob quartzJob) { + public void updateJobCron(SystemQuartzJobTb quartzJob) { try { TriggerKey triggerKey = TriggerKey.triggerKey(JOB_NAME + quartzJob.getId()); CronTrigger trigger = (CronTrigger) scheduler.getTrigger(triggerKey); @@ -82,7 +72,7 @@ public class QuartzManage { trigger = trigger.getTriggerBuilder().withIdentity(triggerKey).withSchedule(scheduleBuilder).build(); // 重置启动时间 ((CronTriggerImpl) trigger).setStartTime(new Date()); - trigger.getJobDataMap().put(QuartzJob.JOB_KEY, quartzJob); + trigger.getJobDataMap().put(SystemQuartzJobTb.JOB_KEY, quartzJob); scheduler.rescheduleJob(triggerKey, trigger); // 暂停任务 @@ -101,7 +91,7 @@ public class QuartzManage { * * @param quartzJob / */ - public void deleteJob(QuartzJob quartzJob) { + public void deleteJob(SystemQuartzJobTb quartzJob) { try { JobKey jobKey = JobKey.jobKey(JOB_NAME + quartzJob.getId()); scheduler.pauseJob(jobKey); @@ -117,7 +107,7 @@ public class QuartzManage { * * @param quartzJob / */ - public void resumeJob(QuartzJob quartzJob) { + public void resumeJob(SystemQuartzJobTb quartzJob) { try { TriggerKey triggerKey = TriggerKey.triggerKey(JOB_NAME + quartzJob.getId()); CronTrigger trigger = (CronTrigger) scheduler.getTrigger(triggerKey); @@ -138,7 +128,7 @@ public class QuartzManage { * * @param quartzJob / */ - public void runJobNow(QuartzJob quartzJob) { + public void runJobNow(SystemQuartzJobTb quartzJob) { try { TriggerKey triggerKey = TriggerKey.triggerKey(JOB_NAME + quartzJob.getId()); CronTrigger trigger = (CronTrigger) scheduler.getTrigger(triggerKey); @@ -147,7 +137,7 @@ public class QuartzManage { addJob(quartzJob); } JobDataMap dataMap = new JobDataMap(); - dataMap.put(QuartzJob.JOB_KEY, quartzJob); + dataMap.put(SystemQuartzJobTb.JOB_KEY, quartzJob); JobKey jobKey = JobKey.jobKey(JOB_NAME + quartzJob.getId()); scheduler.triggerJob(jobKey, dataMap); } catch (Exception e) { @@ -161,7 +151,7 @@ public class QuartzManage { * * @param quartzJob / */ - public void pauseJob(QuartzJob quartzJob) { + public void pauseJob(SystemQuartzJobTb quartzJob) { try { JobKey jobKey = JobKey.jobKey(JOB_NAME + quartzJob.getId()); scheduler.pauseJob(jobKey); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/QuartzRunnable.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/core/QuartzRunnable.java similarity index 96% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/QuartzRunnable.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/core/QuartzRunnable.java index 8068d73e..7399af07 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/QuartzRunnable.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/quartz/core/QuartzRunnable.java @@ -1,9 +1,10 @@ -package cn.odboy.core.framework.quartz; +package cn.odboy.core.framework.quartz.core; import cn.odboy.context.SpringBeanHolder; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.util.ReflectionUtils; + import java.lang.reflect.Method; import java.util.concurrent.Callable; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/web/config/MultipartConfig.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/server/config/MultipartConfig.java similarity index 95% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/web/config/MultipartConfig.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/server/config/MultipartConfig.java index 0d36c8dd..46c9eb62 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/web/config/MultipartConfig.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/server/config/MultipartConfig.java @@ -1,10 +1,11 @@ -package cn.odboy.core.framework.web.config; +package cn.odboy.core.framework.server.config; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.servlet.MultipartConfigFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; + import javax.servlet.MultipartConfigElement; import java.io.File; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/web/converters/DateStringArraysToListDateConverter.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/server/converters/DateStringArraysToListDateConverter.java similarity index 95% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/web/converters/DateStringArraysToListDateConverter.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/server/converters/DateStringArraysToListDateConverter.java index 582e0ccc..bdc7a033 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/web/converters/DateStringArraysToListDateConverter.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/server/converters/DateStringArraysToListDateConverter.java @@ -1,7 +1,8 @@ -package cn.odboy.core.framework.web.converters; +package cn.odboy.core.framework.server.converters; import org.springframework.core.convert.converter.Converter; import org.springframework.stereotype.Component; + import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Arrays; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/web/converters/DateStringToDateConverter.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/server/converters/DateStringToDateConverter.java similarity index 93% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/web/converters/DateStringToDateConverter.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/server/converters/DateStringToDateConverter.java index 174aa03a..8b9fff40 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/web/converters/DateStringToDateConverter.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/server/converters/DateStringToDateConverter.java @@ -1,8 +1,9 @@ -package cn.odboy.core.framework.web.converters; +package cn.odboy.core.framework.server.converters; import cn.hutool.core.util.StrUtil; import org.springframework.core.convert.converter.Converter; import org.springframework.stereotype.Component; + import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/web/core/ConfigurerAdapter.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/server/core/ConfigurerAdapter.java similarity index 94% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/web/core/ConfigurerAdapter.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/server/core/ConfigurerAdapter.java index cab8b3c8..197d316d 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/web/core/ConfigurerAdapter.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/server/core/ConfigurerAdapter.java @@ -1,9 +1,9 @@ -package cn.odboy.core.framework.web.core; +package cn.odboy.core.framework.server.core; import cn.odboy.core.framework.properties.AppProperties; -import cn.odboy.core.framework.properties.dto.FileUploadSettingModel; -import cn.odboy.core.framework.web.converters.DateStringArraysToListDateConverter; -import cn.odboy.core.framework.web.converters.DateStringToDateConverter; +import cn.odboy.core.framework.properties.model.FileUploadSettingModel; +import cn.odboy.core.framework.server.converters.DateStringArraysToListDateConverter; +import cn.odboy.core.framework.server.converters.DateStringToDateConverter; import com.alibaba.fastjson2.JSONWriter; import com.alibaba.fastjson2.support.config.FastJsonConfig; import com.alibaba.fastjson2.support.spring.http.converter.FastJsonHttpMessageConverter; @@ -20,6 +20,7 @@ import org.springframework.web.filter.CorsFilter; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/server/AsyncExecutor.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/threadpool/AsyncExecutor.java similarity index 62% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/server/AsyncExecutor.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/threadpool/AsyncExecutor.java index cca62fef..9c88fb07 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/server/AsyncExecutor.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/threadpool/AsyncExecutor.java @@ -1,7 +1,7 @@ -package cn.odboy.core.framework.server; +package cn.odboy.core.framework.threadpool; import cn.odboy.core.framework.properties.AppProperties; -import cn.odboy.core.framework.properties.dto.QuartzTaskThreadPoolSettingModel; +import cn.odboy.core.framework.properties.model.ThreadPoolSettingModel; import com.alibaba.ttl.TtlRunnable; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; @@ -9,11 +9,8 @@ import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.AsyncConfigurer; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; -import java.util.concurrent.ArrayBlockingQueue; -import java.util.concurrent.Executor; -import java.util.concurrent.ThreadFactory; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; + +import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicInteger; /** @@ -32,7 +29,7 @@ public class AsyncExecutor implements AsyncConfigurer { */ @Override public Executor getAsyncExecutor() { - QuartzTaskThreadPoolSettingModel asyncTaskPool = properties.getAsyncTaskPool(); + ThreadPoolSettingModel asyncTaskPool = properties.getAsyncTaskPool(); // 自定义工厂 ThreadFactory factory = r -> new Thread(r, "default-async-" + new AtomicInteger(1).getAndIncrement()); // 自定义线程池 @@ -46,7 +43,7 @@ public class AsyncExecutor implements AsyncConfigurer { */ @Bean("taskAsync") public ThreadPoolTaskExecutor taskAsync() { - QuartzTaskThreadPoolSettingModel asyncTaskPool = properties.getAsyncTaskPool(); + ThreadPoolSettingModel asyncTaskPool = properties.getAsyncTaskPool(); // 用法 private ThreadPoolTaskExecutor taskExecutor ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setCorePoolSize(asyncTaskPool.getCorePoolSize()); @@ -58,7 +55,28 @@ public class AsyncExecutor implements AsyncConfigurer { // AbortPolicy,拒绝执行新任务,并抛出异常。 // CallerRunsPolicy,交由调用者线程执行新任务,如果调用者线程已关闭,则抛弃任务。 // DiscardPolicy,直接抛弃新任务。 - executor.setRejectedExecutionHandler(new ThreadPoolExecutor.DiscardPolicy()); + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.AbortPolicy()); + // 设置包装器 + executor.setTaskDecorator(TtlRunnable::get); + executor.initialize(); + return executor; + } + + @Bean("pipelineAsync") + public ThreadPoolTaskExecutor pipelineAsync() { + ThreadPoolSettingModel asyncTaskPool = properties.getAsyncTaskPool(); + // 用法 private ThreadPoolTaskExecutor pipelineAsync + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + executor.setCorePoolSize(asyncTaskPool.getCorePoolSize()); + executor.setMaxPoolSize(asyncTaskPool.getMaxPoolSize()); + executor.setQueueCapacity(asyncTaskPool.getQueueCapacity()); + executor.setThreadNamePrefix("pipeline-async-"); + executor.setKeepAliveSeconds(asyncTaskPool.getKeepAliveSeconds()); + // DiscardOldestPolicy,抛弃最早的任务,将新任务加入队列。 + // AbortPolicy,拒绝执行新任务,并抛出异常。 + // CallerRunsPolicy,交由调用者线程执行新任务,如果调用者线程已关闭,则抛弃任务。 + // DiscardPolicy,直接抛弃新任务。 + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.AbortPolicy()); // 设置包装器 executor.setTaskDecorator(TtlRunnable::get); executor.initialize(); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/CaptchaService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemCaptchaService.java similarity index 55% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/CaptchaService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemCaptchaService.java index c9854ea1..ed7d3e10 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/CaptchaService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemCaptchaService.java @@ -1,9 +1,9 @@ -package cn.odboy.core.service.tools; +package cn.odboy.core.service.system; -import cn.odboy.core.service.tools.dto.SendEmailRequest; +import cn.odboy.core.dal.model.system.SendSystemEmailArgs; -public interface CaptchaService { +public interface SystemCaptchaService { /** * 发送验证码 * @@ -11,7 +11,7 @@ public interface CaptchaService { * @param key / * @return / */ - SendEmailRequest renderCodeTemplate(String email, String key); + SendSystemEmailArgs renderCodeTemplate(String email, String key); /** diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/impl/CaptchaServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemCaptchaServiceImpl.java similarity index 82% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/impl/CaptchaServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemCaptchaServiceImpl.java index 2ace7a37..e98ef0bf 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/impl/CaptchaServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemCaptchaServiceImpl.java @@ -1,4 +1,4 @@ -package cn.odboy.core.service.tools.impl; +package cn.odboy.core.service.system; import cn.hutool.core.lang.Dict; import cn.hutool.core.util.RandomUtil; @@ -6,27 +6,27 @@ import cn.hutool.extra.template.Template; import cn.hutool.extra.template.TemplateConfig; import cn.hutool.extra.template.TemplateEngine; import cn.hutool.extra.template.TemplateUtil; -import cn.odboy.core.service.tools.CaptchaService; -import cn.odboy.core.service.tools.dto.SendEmailRequest; +import cn.odboy.core.dal.model.system.SendSystemEmailArgs; import cn.odboy.exception.BadRequestException; import cn.odboy.redis.RedisHelper; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + import java.util.Collections; @Service @RequiredArgsConstructor -public class CaptchaServiceImpl implements CaptchaService { +public class SystemCaptchaServiceImpl implements SystemCaptchaService { private final RedisHelper redisHelper; @Value("${app.email.captchaSetting.expiration}") private Long expiration; @Override @Transactional(rollbackFor = Exception.class) - public SendEmailRequest renderCodeTemplate(String email, String key) { - SendEmailRequest sendEmailRequest; + public SendSystemEmailArgs renderCodeTemplate(String email, String key) { + SendSystemEmailArgs sendEmailRequest; String content; String redisKey = key + email; // 如果不存在有效的验证码,就创建一个新的 @@ -44,7 +44,7 @@ public class CaptchaServiceImpl implements CaptchaService { } else { content = template.render(Dict.create().set("code", oldCode)); } - sendEmailRequest = new SendEmailRequest(Collections.singletonList(email), "CuteJava后台管理系统", content); + sendEmailRequest = new SendSystemEmailArgs(Collections.singletonList(email), "CuteJava后台管理系统", content); return sendEmailRequest; } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDeptService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDeptService.java deleted file mode 100644 index dc74a40f..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDeptService.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.odboy.core.dal.dataobject.system.Dept; -import cn.odboy.core.service.system.dto.CreateDeptRequest; -import com.baomidou.mybatisplus.extension.service.IService; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.List; -import java.util.Set; - -public interface SystemDeptService extends IService { - - /** - * 创建 - * - * @param resources / - */ - void saveDept(CreateDeptRequest resources); - - /** - * 编辑 - * - * @param resources / - */ - void modifyDept(Dept resources); - - /** - * 删除 - * - * @param depts / - */ - void removeDeptByIds(Set depts); - - /** - * 导出数据 - * - * @param depts 待导出的数据 - * @param response / - * @throws IOException / - */ - void downloadDeptExcel(List depts, HttpServletResponse response) throws IOException; -} \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictApi.java new file mode 100644 index 00000000..dd1b79d6 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictApi.java @@ -0,0 +1,27 @@ +package cn.odboy.core.service.system; + +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.dataobject.system.SystemDictTb; +import cn.odboy.core.dal.model.system.QuerySystemDictArgs; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import java.util.List; + +public interface SystemDictApi { + /** + * 分页查询 + * + * @param criteria 条件 + * @param page 分页参数 + * @return / + */ + CsResultVo> describeDictPage(QuerySystemDictArgs criteria, Page page); + + /** + * 查询全部数据 + * + * @param criteria / + * @return / + */ + List describeDictList(QuerySystemDictArgs criteria); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictApiImpl.java new file mode 100644 index 00000000..11e5f177 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictApiImpl.java @@ -0,0 +1,30 @@ +package cn.odboy.core.service.system; + +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.dataobject.system.SystemDictTb; +import cn.odboy.core.dal.mysql.system.SystemDictMapper; +import cn.odboy.core.dal.model.system.QuerySystemDictArgs; +import cn.odboy.util.PageUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class SystemDictApiImpl implements SystemDictApi { + private final SystemDictMapper dictMapper; + + @Override + public CsResultVo> describeDictPage(QuerySystemDictArgs criteria, Page page) { + IPage dicts = dictMapper.queryDictPageByArgs(criteria, page); + return PageUtil.toPage(dicts); + } + + @Override + public List describeDictList(QuerySystemDictArgs criteria) { + return dictMapper.queryDictPageByArgs(criteria, PageUtil.getCount(dictMapper)).getRecords(); + } +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailApi.java new file mode 100644 index 00000000..2d8d0e0e --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailApi.java @@ -0,0 +1,27 @@ +package cn.odboy.core.service.system; + +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.dataobject.system.SystemDictDetailTb; +import cn.odboy.core.dal.model.system.QuerySystemDictDetailArgs; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import java.util.List; + +public interface SystemDictDetailApi { + /** + * 分页查询 + * + * @param criteria 条件 + * @param page 分页参数 + * @return / + */ + CsResultVo> queryDictDetailListByArgs(QuerySystemDictDetailArgs criteria, Page page); + + /** + * 根据字典名称获取字典详情 + * + * @param name 字典名称 + * @return / + */ + List describeDictDetailListByName(String name); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemDictDetailApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailApiImpl.java similarity index 50% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemDictDetailApiImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailApiImpl.java index ca841018..9054a9ad 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemDictDetailApiImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailApiImpl.java @@ -1,35 +1,35 @@ -package cn.odboy.core.api.system.impl; +package cn.odboy.core.service.system; import cn.hutool.core.collection.CollUtil; -import cn.odboy.base.PageResult; -import cn.odboy.core.api.system.SystemDictDetailApi; -import cn.odboy.core.constant.SystemRedisKey; -import cn.odboy.core.dal.dataobject.system.DictDetail; -import cn.odboy.core.dal.mysql.system.DictDetailMapper; -import cn.odboy.core.service.system.dto.QueryDictDetailRequest; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.odboy.core.dal.dataobject.system.SystemDictDetailTb; +import cn.odboy.core.dal.mysql.system.SystemDictDetailMapper; +import cn.odboy.core.dal.model.system.QuerySystemDictDetailArgs; import cn.odboy.redis.RedisHelper; import cn.odboy.util.PageUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; + import java.util.List; import java.util.concurrent.TimeUnit; @Service @RequiredArgsConstructor public class SystemDictDetailApiImpl implements SystemDictDetailApi { - private final DictDetailMapper dictDetailMapper; + private final SystemDictDetailMapper dictDetailMapper; private final RedisHelper redisHelper; @Override - public PageResult describeDictDetailPage(QueryDictDetailRequest criteria, Page page) { - return PageUtil.toPage(dictDetailMapper.queryDictDetailPageByArgs(criteria, page)); + public CsResultVo> queryDictDetailListByArgs(QuerySystemDictDetailArgs criteria, Page page) { + return PageUtil.toPage(dictDetailMapper.queryDictDetailListByArgs(criteria, page)); } @Override - public List describeDictDetailListByName(String name) { + public List describeDictDetailListByName(String name) { String key = SystemRedisKey.DICT_NAME + name; - List dictDetails = redisHelper.getList(key, DictDetail.class); + List dictDetails = redisHelper.getList(key, SystemDictDetailTb.class); if (CollUtil.isEmpty(dictDetails)) { dictDetails = dictDetailMapper.queryDictDetailListByDictName(name); redisHelper.set(key, dictDetails, 1, TimeUnit.DAYS); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailService.java index 26d013d4..3f3a377b 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailService.java @@ -1,25 +1,25 @@ package cn.odboy.core.service.system; -import cn.odboy.core.dal.dataobject.system.DictDetail; -import cn.odboy.core.service.system.dto.CreateDictDetailRequest; +import cn.odboy.core.dal.dataobject.system.SystemDictDetailTb; +import cn.odboy.core.dal.model.system.CreateSystemDictDetailArgs; import com.baomidou.mybatisplus.extension.service.IService; -public interface SystemDictDetailService extends IService { +public interface SystemDictDetailService extends IService { /** * 创建 * * @param resources / */ - void saveDictDetail(CreateDictDetailRequest resources); + void saveDictDetail(CreateSystemDictDetailArgs resources); /** * 编辑 * * @param resources / */ - void modifyDictDetailById(DictDetail resources); + void modifyDictDetailById(SystemDictDetailTb resources); /** * 删除 diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemDictDetailServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailServiceImpl.java similarity index 50% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemDictDetailServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailServiceImpl.java index 0b2b8d9d..3b77ffd5 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemDictDetailServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailServiceImpl.java @@ -1,13 +1,12 @@ -package cn.odboy.core.service.system.impl; +package cn.odboy.core.service.system; import cn.hutool.core.bean.BeanUtil; -import cn.odboy.core.constant.SystemRedisKey; -import cn.odboy.core.dal.dataobject.system.Dict; -import cn.odboy.core.dal.dataobject.system.DictDetail; -import cn.odboy.core.dal.mysql.system.DictDetailMapper; -import cn.odboy.core.dal.mysql.system.DictMapper; -import cn.odboy.core.service.system.SystemDictDetailService; -import cn.odboy.core.service.system.dto.CreateDictDetailRequest; +import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.odboy.core.dal.dataobject.system.SystemDictDetailTb; +import cn.odboy.core.dal.dataobject.system.SystemDictTb; +import cn.odboy.core.dal.mysql.system.SystemDictDetailMapper; +import cn.odboy.core.dal.mysql.system.SystemDictMapper; +import cn.odboy.core.dal.model.system.CreateSystemDictDetailArgs; import cn.odboy.redis.RedisHelper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; @@ -16,15 +15,15 @@ import org.springframework.transaction.annotation.Transactional; @Service @RequiredArgsConstructor -public class SystemDictDetailServiceImpl extends ServiceImpl implements SystemDictDetailService { - private final DictMapper dictMapper; +public class SystemDictDetailServiceImpl extends ServiceImpl implements SystemDictDetailService { + private final SystemDictMapper dictMapper; private final RedisHelper redisHelper; @Override @Transactional(rollbackFor = Exception.class) - public void saveDictDetail(CreateDictDetailRequest resources) { - DictDetail dictDetail = BeanUtil.copyProperties(resources, DictDetail.class); + public void saveDictDetail(CreateSystemDictDetailArgs resources) { + SystemDictDetailTb dictDetail = BeanUtil.copyProperties(resources, SystemDictDetailTb.class); dictDetail.setDictId(resources.getDict().getId()); save(dictDetail); // 清理缓存 @@ -33,8 +32,8 @@ public class SystemDictDetailServiceImpl extends ServiceImpl { +public interface SystemDictService extends IService { /** * 创建 * * @param resources / */ - void saveDict(CreateDictRequest resources); + void saveDict(CreateSystemDictArgs resources); /** * 编辑 * * @param resources / */ - void modifyDictById(Dict resources); + void modifyDictById(SystemDictTb resources); /** * 删除 @@ -38,5 +39,5 @@ public interface SystemDictService extends IService { * @param response / * @throws IOException / */ - void downloadDictExcel(List queryAll, HttpServletResponse response) throws IOException; + void downloadDictExcel(List queryAll, HttpServletResponse response) throws IOException; } \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemDictServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictServiceImpl.java similarity index 62% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemDictServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictServiceImpl.java index 137599be..e3d51d9a 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemDictServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictServiceImpl.java @@ -1,48 +1,44 @@ -package cn.odboy.core.service.system.impl; +package cn.odboy.core.service.system; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; -import cn.odboy.core.constant.SystemRedisKey; -import cn.odboy.core.dal.dataobject.system.Dict; -import cn.odboy.core.dal.dataobject.system.DictDetail; -import cn.odboy.core.dal.mysql.system.DictDetailMapper; -import cn.odboy.core.dal.mysql.system.DictMapper; -import cn.odboy.core.service.system.SystemDictService; -import cn.odboy.core.service.system.dto.CreateDictRequest; +import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.odboy.core.dal.dataobject.system.SystemDictDetailTb; +import cn.odboy.core.dal.dataobject.system.SystemDictTb; +import cn.odboy.core.dal.mysql.system.SystemDictDetailMapper; +import cn.odboy.core.dal.mysql.system.SystemDictMapper; +import cn.odboy.core.dal.model.system.CreateSystemDictArgs; import cn.odboy.redis.RedisHelper; import cn.odboy.util.FileUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; @Service @RequiredArgsConstructor -public class SystemDictServiceImpl extends ServiceImpl implements SystemDictService { - private final DictMapper dictMapper; - private final DictDetailMapper dictDetailMapper; +public class SystemDictServiceImpl extends ServiceImpl implements SystemDictService { + private final SystemDictMapper dictMapper; + private final SystemDictDetailMapper dictDetailMapper; private final RedisHelper redisHelper; @Override @Transactional(rollbackFor = Exception.class) - public void saveDict(CreateDictRequest resources) { - save(BeanUtil.copyProperties(resources, Dict.class)); + public void saveDict(CreateSystemDictArgs resources) { + save(BeanUtil.copyProperties(resources, SystemDictTb.class)); } @Override @Transactional(rollbackFor = Exception.class) - public void modifyDictById(Dict resources) { + public void modifyDictById(SystemDictTb resources) { // 清理缓存 delCaches(resources); - Dict dict = getById(resources.getId()); + SystemDictTb dict = getById(resources.getId()); dict.setName(resources.getName()); dict.setDescription(resources.getDescription()); saveOrUpdate(dict); @@ -52,8 +48,8 @@ public class SystemDictServiceImpl extends ServiceImpl impleme @Transactional(rollbackFor = Exception.class) public void removeDictByIds(Set ids) { // 清理缓存 - List dicts = dictMapper.selectByIds(ids); - for (Dict dict : dicts) { + List dicts = dictMapper.selectByIds(ids); + for (SystemDictTb dict : dicts) { delCaches(dict); } // 删除字典 @@ -63,12 +59,12 @@ public class SystemDictServiceImpl extends ServiceImpl impleme } @Override - public void downloadDictExcel(List dicts, HttpServletResponse response) throws IOException { + public void downloadDictExcel(List dicts, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); - for (Dict dict : dicts) { - List dictDetails = dictDetailMapper.queryDictDetailListByDictName(dict.getName()); + for (SystemDictTb dict : dicts) { + List dictDetails = dictDetailMapper.queryDictDetailListByDictName(dict.getName()); if (CollectionUtil.isNotEmpty(dictDetails)) { - for (DictDetail dictDetail : dictDetails) { + for (SystemDictDetailTb dictDetail : dictDetails) { Map map = new LinkedHashMap<>(); map.put("字典名称", dict.getName()); map.put("字典描述", dict.getDescription()); @@ -90,7 +86,7 @@ public class SystemDictServiceImpl extends ServiceImpl impleme FileUtil.downloadExcel(list, response); } - public void delCaches(Dict dict) { + public void delCaches(SystemDictTb dict) { redisHelper.del(SystemRedisKey.DICT_NAME + dict.getName()); } } \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailApi.java new file mode 100644 index 00000000..80447705 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailApi.java @@ -0,0 +1,13 @@ +package cn.odboy.core.service.system; + +import cn.odboy.core.dal.dataobject.system.SystemEmailConfigTb; + +public interface SystemEmailApi { + + /** + * 查询配置 + * + * @return EmailConfig 邮件配置 + */ + SystemEmailConfigTb describeEmailConfig(); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailApiImpl.java new file mode 100644 index 00000000..73bfd18b --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailApiImpl.java @@ -0,0 +1,22 @@ +package cn.odboy.core.service.system; + +import cn.odboy.core.dal.dataobject.system.SystemEmailConfigTb; +import cn.odboy.core.dal.mysql.system.SystemEmailConfigMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.cache.annotation.CacheConfig; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +@CacheConfig(cacheNames = "email") +public class SystemEmailApiImpl implements SystemEmailApi { + private final SystemEmailConfigMapper emailConfigMapper; + + @Override + @Cacheable(key = "'config'") + public SystemEmailConfigTb describeEmailConfig() { + SystemEmailConfigTb emailConfig = emailConfigMapper.selectById(1L); + return emailConfig == null ? new SystemEmailConfigTb() : emailConfig; + } +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailService.java new file mode 100644 index 00000000..73e6fca9 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailService.java @@ -0,0 +1,25 @@ +package cn.odboy.core.service.system; + +import cn.odboy.core.dal.dataobject.system.SystemEmailConfigTb; +import cn.odboy.core.dal.model.system.SendSystemEmailArgs; +import com.baomidou.mybatisplus.extension.service.IService; + + +public interface SystemEmailService extends IService { + + /** + * 更新邮件配置 + * + * @param emailConfig 邮箱配置 + * @return / + * @throws Exception / + */ + void modifyEmailConfigOnPassChange(SystemEmailConfigTb emailConfig) throws Exception; + + /** + * 发送邮件 + * + * @param sendEmailRequest 邮件发送的内容 + */ + void sendEmail(SendSystemEmailArgs sendEmailRequest); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/impl/EmailServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailServiceImpl.java similarity index 78% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/impl/EmailServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailServiceImpl.java index 6c2ff20a..465266b6 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/impl/EmailServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailServiceImpl.java @@ -1,12 +1,10 @@ -package cn.odboy.core.service.tools.impl; +package cn.odboy.core.service.system; import cn.hutool.extra.mail.Mail; import cn.hutool.extra.mail.MailAccount; -import cn.odboy.core.api.tools.EmailApi; -import cn.odboy.core.dal.dataobject.tools.EmailConfig; -import cn.odboy.core.dal.mysql.tools.EmailConfigMapper; -import cn.odboy.core.service.tools.EmailService; -import cn.odboy.core.service.tools.dto.SendEmailRequest; +import cn.odboy.core.dal.dataobject.system.SystemEmailConfigTb; +import cn.odboy.core.dal.mysql.system.SystemEmailConfigMapper; +import cn.odboy.core.dal.model.system.SendSystemEmailArgs; import cn.odboy.exception.BadRequestException; import cn.odboy.util.DesEncryptUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -19,18 +17,18 @@ import org.springframework.transaction.annotation.Transactional; @Service @CacheConfig(cacheNames = "email") -public class EmailServiceImpl extends ServiceImpl implements EmailService { +public class SystemEmailServiceImpl extends ServiceImpl implements SystemEmailService { @Lazy @Autowired - private EmailService emailService; + private SystemEmailService emailService; @Autowired - private EmailApi emailApi; + private SystemEmailApi emailApi; @Override @CachePut(key = "'config'") @Transactional(rollbackFor = Exception.class) - public void modifyEmailConfigOnPassChange(EmailConfig emailConfig) throws Exception { - EmailConfig localConfig = emailApi.describeEmailConfig(); + public void modifyEmailConfigOnPassChange(SystemEmailConfigTb emailConfig) throws Exception { + SystemEmailConfigTb localConfig = emailApi.describeEmailConfig(); if (!emailConfig.getPassword().equals(localConfig.getPassword())) { // 对称加密 emailConfig.setPassword(DesEncryptUtil.desEncrypt(emailConfig.getPassword())); @@ -42,8 +40,8 @@ public class EmailServiceImpl extends ServiceImpl describeJobPage(QueryJobRequest criteria, Page page); + CsResultVo> describeJobPage(QuerySystemJobArgs criteria, Page page); /** * 查询全部数据 @@ -24,7 +25,7 @@ public interface SystemJobApi { * @param criteria / * @return / */ - List describeJobList(QueryJobRequest criteria); + List describeJobList(QuerySystemJobArgs criteria); /** @@ -40,5 +41,5 @@ public interface SystemJobApi { * @param id / * @return / */ - Job describeJobById(Long id); + SystemJobTb describeJobById(Long id); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemJobApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobApiImpl.java similarity index 61% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemJobApiImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobApiImpl.java index a1b51f8a..ab946f18 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemJobApiImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobApiImpl.java @@ -1,18 +1,18 @@ -package cn.odboy.core.api.system.impl; +package cn.odboy.core.service.system; -import cn.odboy.base.PageResult; -import cn.odboy.core.api.system.SystemJobApi; -import cn.odboy.core.constant.SystemRedisKey; -import cn.odboy.core.dal.dataobject.system.Job; -import cn.odboy.core.dal.mysql.system.JobMapper; -import cn.odboy.core.dal.mysql.system.UserMapper; -import cn.odboy.core.service.system.dto.QueryJobRequest; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.odboy.core.dal.dataobject.system.SystemJobTb; +import cn.odboy.core.dal.mysql.system.SystemJobMapper; +import cn.odboy.core.dal.mysql.system.SystemUserMapper; +import cn.odboy.core.dal.model.system.QuerySystemJobArgs; import cn.odboy.exception.BadRequestException; import cn.odboy.redis.RedisHelper; import cn.odboy.util.PageUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; + import java.util.List; import java.util.Set; import java.util.concurrent.TimeUnit; @@ -20,24 +20,24 @@ import java.util.concurrent.TimeUnit; @Service @RequiredArgsConstructor public class SystemJobApiImpl implements SystemJobApi { - private final JobMapper jobMapper; - private final UserMapper userMapper; + private final SystemJobMapper jobMapper; + private final SystemUserMapper userMapper; private final RedisHelper redisHelper; @Override - public PageResult describeJobPage(QueryJobRequest criteria, Page page) { + public CsResultVo> describeJobPage(QuerySystemJobArgs criteria, Page page) { return PageUtil.toPage(jobMapper.queryJobPageByArgs(criteria, page)); } @Override - public List describeJobList(QueryJobRequest criteria) { + public List describeJobList(QuerySystemJobArgs criteria) { return jobMapper.queryJobPageByArgs(criteria, PageUtil.getCount(jobMapper)).getRecords(); } @Override - public Job describeJobById(Long id) { + public SystemJobTb describeJobById(Long id) { String key = SystemRedisKey.JOB_ID + id; - Job job = redisHelper.get(key, Job.class); + SystemJobTb job = redisHelper.get(key, SystemJobTb.class); if (job == null) { job = jobMapper.selectById(id); redisHelper.set(key, job, 1, TimeUnit.DAYS); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobService.java index f6148788..a2c7cdc2 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobService.java @@ -1,28 +1,29 @@ package cn.odboy.core.service.system; -import cn.odboy.core.dal.dataobject.system.Job; -import cn.odboy.core.service.system.dto.CreateJobRequest; +import cn.odboy.core.dal.dataobject.system.SystemJobTb; +import cn.odboy.core.dal.model.system.CreateSystemJobArgs; import com.baomidou.mybatisplus.extension.service.IService; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; import java.util.Set; -public interface SystemJobService extends IService { +public interface SystemJobService extends IService { /** * 创建 * * @param resources / */ - void saveJob(CreateJobRequest resources); + void saveJob(CreateSystemJobArgs resources); /** * 编辑 * * @param resources / */ - void modifyJobById(Job resources); + void modifyJobById(SystemJobTb resources); /** * 删除 @@ -38,6 +39,6 @@ public interface SystemJobService extends IService { * @param response / * @throws IOException / */ - void downloadJobExcel(List jobs, HttpServletResponse response) throws IOException; + void downloadJobExcel(List jobs, HttpServletResponse response) throws IOException; } \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemJobServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobServiceImpl.java similarity index 57% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemJobServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobServiceImpl.java index 77e66d7d..4c1d5308 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemJobServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobServiceImpl.java @@ -1,11 +1,10 @@ -package cn.odboy.core.service.system.impl; +package cn.odboy.core.service.system; import cn.hutool.core.bean.BeanUtil; -import cn.odboy.core.constant.SystemRedisKey; -import cn.odboy.core.dal.dataobject.system.Job; -import cn.odboy.core.dal.mysql.system.JobMapper; -import cn.odboy.core.service.system.SystemJobService; -import cn.odboy.core.service.system.dto.CreateJobRequest; +import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.odboy.core.dal.dataobject.system.SystemJobTb; +import cn.odboy.core.dal.mysql.system.SystemJobMapper; +import cn.odboy.core.dal.model.system.CreateSystemJobArgs; import cn.odboy.exception.EntityExistException; import cn.odboy.redis.RedisHelper; import cn.odboy.util.FileUtil; @@ -13,38 +12,35 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; @Service @RequiredArgsConstructor -public class SystemJobServiceImpl extends ServiceImpl implements SystemJobService { - private final JobMapper jobMapper; +public class SystemJobServiceImpl extends ServiceImpl implements SystemJobService { + private final SystemJobMapper jobMapper; private final RedisHelper redisHelper; @Override @Transactional(rollbackFor = Exception.class) - public void saveJob(CreateJobRequest resources) { - Job job = jobMapper.getJobByName(resources.getName()); + public void saveJob(CreateSystemJobArgs resources) { + SystemJobTb job = jobMapper.getJobByName(resources.getName()); if (job != null) { - throw new EntityExistException(Job.class, "name", resources.getName()); + throw new EntityExistException(SystemJobTb.class, "name", resources.getName()); } - save(BeanUtil.copyProperties(resources, Job.class)); + save(BeanUtil.copyProperties(resources, SystemJobTb.class)); } @Override @Transactional(rollbackFor = Exception.class) - public void modifyJobById(Job resources) { - Job job = getById(resources.getId()); - Job old = jobMapper.getJobByName(resources.getName()); + public void modifyJobById(SystemJobTb resources) { + SystemJobTb job = getById(resources.getId()); + SystemJobTb old = jobMapper.getJobByName(resources.getName()); if (old != null && !old.getId().equals(resources.getId())) { - throw new EntityExistException(Job.class, "name", resources.getName()); + throw new EntityExistException(SystemJobTb.class, "name", resources.getName()); } resources.setId(job.getId()); saveOrUpdate(resources); @@ -61,9 +57,9 @@ public class SystemJobServiceImpl extends ServiceImpl implements } @Override - public void downloadJobExcel(List jobs, HttpServletResponse response) throws IOException { + public void downloadJobExcel(List jobs, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); - for (Job job : jobs) { + for (SystemJobTb job : jobs) { Map map = new LinkedHashMap<>(); map.put("岗位名称", job.getName()); map.put("岗位状态", job.getEnabled() ? "启用" : "停用"); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageApi.java new file mode 100644 index 00000000..2b99020d --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageApi.java @@ -0,0 +1,28 @@ +package cn.odboy.core.service.system; + +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.dataobject.system.SystemLocalStorageTb; +import cn.odboy.core.dal.model.system.QuerySystemLocalStorageArgs; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import java.util.List; + +public interface SystemLocalStorageApi { + + /** + * 分页查询 + * + * @param criteria 条件 + * @param page 分页参数 + * @return / + */ + CsResultVo> describeLocalStoragePage(QuerySystemLocalStorageArgs criteria, Page page); + + /** + * 查询全部数据 + * + * @param criteria 条件 + * @return / + */ + List describeLocalStorageList(QuerySystemLocalStorageArgs criteria); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageApiImpl.java new file mode 100644 index 00000000..5fbdb726 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageApiImpl.java @@ -0,0 +1,28 @@ +package cn.odboy.core.service.system; + +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.dataobject.system.SystemLocalStorageTb; +import cn.odboy.core.dal.mysql.system.SystemLocalStorageMapper; +import cn.odboy.core.dal.model.system.QuerySystemLocalStorageArgs; +import cn.odboy.util.PageUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class SystemLocalStorageApiImpl implements SystemLocalStorageApi { + private final SystemLocalStorageMapper localStorageMapper; + + @Override + public CsResultVo> describeLocalStoragePage(QuerySystemLocalStorageArgs criteria, Page page) { + return PageUtil.toPage(localStorageMapper.queryLocalStoragePageByArgs(criteria, page)); + } + + @Override + public List describeLocalStorageList(QuerySystemLocalStorageArgs criteria) { + return localStorageMapper.queryLocalStoragePageByArgs(criteria, PageUtil.getCount(localStorageMapper)).getRecords(); + } +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/LocalStorageService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageService.java similarity index 60% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/LocalStorageService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageService.java index fd5e2bd9..c53e26ba 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/LocalStorageService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageService.java @@ -1,14 +1,15 @@ -package cn.odboy.core.service.tools; +package cn.odboy.core.service.system; -import cn.odboy.core.dal.dataobject.tools.LocalStorage; +import cn.odboy.core.dal.dataobject.system.SystemLocalStorageTb; import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; -public interface LocalStorageService extends IService { +public interface SystemLocalStorageService extends IService { /** * 上传 * @@ -16,14 +17,14 @@ public interface LocalStorageService extends IService { * @param file 文件 * @return / */ - LocalStorage uploadFile(String name, MultipartFile file); + SystemLocalStorageTb uploadFile(String name, MultipartFile file); /** * 编辑 * * @param resources 文件信息 */ - void modifyLocalStorageById(LocalStorage resources); + void modifyLocalStorageById(SystemLocalStorageTb resources); /** * 多选删除 @@ -39,5 +40,5 @@ public interface LocalStorageService extends IService { * @param response / * @throws IOException / */ - void downloadExcel(List localStorages, HttpServletResponse response) throws IOException; + void downloadExcel(List localStorages, HttpServletResponse response) throws IOException; } \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/impl/LocalStorageServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageServiceImpl.java similarity index 75% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/impl/LocalStorageServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageServiceImpl.java index 10bfa7f5..e5a99f67 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/impl/LocalStorageServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageServiceImpl.java @@ -1,10 +1,9 @@ -package cn.odboy.core.service.tools.impl; +package cn.odboy.core.service.system; import cn.hutool.core.util.ObjectUtil; -import cn.odboy.core.dal.dataobject.tools.LocalStorage; -import cn.odboy.core.dal.mysql.tools.LocalStorageMapper; +import cn.odboy.core.dal.dataobject.system.SystemLocalStorageTb; +import cn.odboy.core.dal.mysql.system.SystemLocalStorageMapper; import cn.odboy.core.framework.properties.AppProperties; -import cn.odboy.core.service.tools.LocalStorageService; import cn.odboy.exception.BadRequestException; import cn.odboy.util.FileUtil; import cn.odboy.util.StringUtil; @@ -13,6 +12,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; + import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; @@ -24,13 +24,13 @@ import java.util.Map; @Service @RequiredArgsConstructor -public class LocalStorageServiceImpl extends ServiceImpl implements LocalStorageService { - private final LocalStorageMapper localStorageMapper; +public class SystemLocalStorageServiceImpl extends ServiceImpl implements SystemLocalStorageService { + private final SystemLocalStorageMapper localStorageMapper; private final AppProperties properties; @Override @Transactional(rollbackFor = Exception.class) - public LocalStorage uploadFile(String name, MultipartFile multipartFile) { + public SystemLocalStorageTb uploadFile(String name, MultipartFile multipartFile) { long size = multipartFile.getSize(); FileUtil.checkSize(properties.getFile().getFileMaxSize(), size); String suffix = FileUtil.getSuffix(multipartFile.getOriginalFilename()); @@ -42,7 +42,7 @@ public class LocalStorageServiceImpl extends ServiceImpl queryAll, HttpServletResponse response) throws IOException { + public void downloadExcel(List queryAll, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); - for (LocalStorage localStorage : queryAll) { + for (SystemLocalStorageTb localStorage : queryAll) { Map map = new LinkedHashMap<>(); map.put("文件名", localStorage.getRealName()); map.put("备注名", localStorage.getName()); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemMenuApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuApi.java similarity index 54% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemMenuApi.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuApi.java index 2e403e29..67771c69 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemMenuApi.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuApi.java @@ -1,8 +1,9 @@ -package cn.odboy.core.api.system; +package cn.odboy.core.service.system; + +import cn.odboy.core.dal.dataobject.system.SystemMenuTb; +import cn.odboy.core.dal.model.system.QuerySystemMenuArgs; +import cn.odboy.core.dal.model.system.SystemMenuVo; -import cn.odboy.core.dal.dataobject.system.Menu; -import cn.odboy.core.dal.model.MenuResponse; -import cn.odboy.core.service.system.dto.QueryMenuRequest; import java.util.List; import java.util.Set; @@ -15,7 +16,7 @@ public interface SystemMenuApi { * @return / * @throws Exception / */ - List describeMenuList(QueryMenuRequest criteria, Boolean isQuery) throws Exception; + List describeMenuList(QuerySystemMenuArgs criteria, Boolean isQuery) throws Exception; /** * 根据ID查询 @@ -23,7 +24,7 @@ public interface SystemMenuApi { * @param id / * @return / */ - Menu describeMenuById(long id); + SystemMenuTb describeMenuById(long id); /** * 获取所有子节点,包含自身ID @@ -32,7 +33,7 @@ public interface SystemMenuApi { * @param menuSet / * @return / */ - Set describeChildMenuSet(List menuList, Set menuSet); + Set describeChildMenuSet(List menuList, Set menuSet); /** * 构建菜单树 @@ -40,7 +41,7 @@ public interface SystemMenuApi { * @param menus 原始数据 * @return / */ - List buildMenuTree(List menus); + List buildMenuTree(List menus); /** * 构建菜单树 @@ -48,7 +49,7 @@ public interface SystemMenuApi { * @param menus / * @return / */ - List buildMenuResponse(List menus); + List buildMenuVo(List menus); /** * 懒加载菜单数据 @@ -56,7 +57,7 @@ public interface SystemMenuApi { * @param pid / * @return / */ - List describeMenuListByPid(Long pid); + List describeMenuListByPid(Long pid); /** * 根据ID获取同级与上级数据 @@ -65,7 +66,7 @@ public interface SystemMenuApi { * @param objects / * @return / */ - List describeSuperiorMenuList(Menu menu, List objects); + List describeSuperiorMenuList(SystemMenuTb menu, List objects); /** * 根据当前用户获取菜单 @@ -73,5 +74,5 @@ public interface SystemMenuApi { * @param currentUserId / * @return / */ - List describeMenuListByUserId(Long currentUserId); + List describeMenuListByUserId(Long currentUserId); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemMenuApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuApiImpl.java similarity index 54% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemMenuApiImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuApiImpl.java index 7788cbf1..ad9cebf6 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemMenuApiImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuApiImpl.java @@ -1,42 +1,36 @@ -package cn.odboy.core.api.system.impl; +package cn.odboy.core.service.system; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; -import cn.odboy.core.api.system.SystemMenuApi; -import cn.odboy.core.api.system.SystemRoleApi; -import cn.odboy.core.constant.SystemRedisKey; -import cn.odboy.core.dal.dataobject.system.Menu; -import cn.odboy.core.dal.dataobject.system.Role; -import cn.odboy.core.dal.model.MenuResponse; -import cn.odboy.core.dal.mysql.system.MenuMapper; -import cn.odboy.core.service.system.SystemRoleService; -import cn.odboy.core.service.system.dto.MenuMetaVo; -import cn.odboy.core.service.system.dto.QueryMenuRequest; +import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.odboy.core.dal.dataobject.system.SystemMenuTb; +import cn.odboy.core.dal.dataobject.system.SystemRoleTb; +import cn.odboy.core.dal.model.system.SystemMenuVo; +import cn.odboy.core.dal.mysql.system.SystemMenuMapper; +import cn.odboy.core.dal.model.system.SystemMenuMetaVo; +import cn.odboy.core.dal.model.system.QuerySystemMenuArgs; import cn.odboy.redis.RedisHelper; import cn.odboy.util.ClassUtil; import cn.odboy.util.StringUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; + import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; +import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @Service @RequiredArgsConstructor public class SystemMenuApiImpl implements SystemMenuApi { - private final MenuMapper menuMapper; + private final SystemMenuMapper menuMapper; private final SystemRoleApi systemRoleApi; private final SystemRoleService systemRoleService; private final RedisHelper redisHelper; @Override - public List describeMenuList(QueryMenuRequest criteria, Boolean isQuery) throws Exception { + public List describeMenuList(QuerySystemMenuArgs criteria, Boolean isQuery) throws Exception { if (Boolean.TRUE.equals(isQuery)) { criteria.setPidIsNull(true); List fields = ClassUtil.getAllFields(criteria.getClass(), new ArrayList<>()); @@ -58,9 +52,9 @@ public class SystemMenuApiImpl implements SystemMenuApi { } @Override - public Menu describeMenuById(long id) { + public SystemMenuTb describeMenuById(long id) { String key = SystemRedisKey.MENU_ID + id; - Menu menu = redisHelper.get(key, Menu.class); + SystemMenuTb menu = redisHelper.get(key, SystemMenuTb.class); if (menu == null) { menu = menuMapper.selectById(id); redisHelper.set(key, menu, 1, TimeUnit.DAYS); @@ -75,12 +69,12 @@ public class SystemMenuApiImpl implements SystemMenuApi { * @return / */ @Override - public List describeMenuListByUserId(Long currentUserId) { + public List describeMenuListByUserId(Long currentUserId) { String key = SystemRedisKey.MENU_USER + currentUserId; - List menus = redisHelper.getList(key, Menu.class); + List menus = redisHelper.getList(key, SystemMenuTb.class); if (CollUtil.isEmpty(menus)) { - List roles = systemRoleApi.describeRoleListByUsersId(currentUserId); - Set roleIds = roles.stream().map(Role::getId).collect(Collectors.toSet()); + List roles = systemRoleApi.describeRoleListByUsersId(currentUserId); + Set roleIds = roles.stream().map(SystemRoleTb::getId).collect(Collectors.toSet()); menus = new ArrayList<>(menuMapper.queryMenuSetByRoleIdsAndType(roleIds, 2)); redisHelper.set(key, menus, 1, TimeUnit.DAYS); } @@ -88,10 +82,10 @@ public class SystemMenuApiImpl implements SystemMenuApi { } @Override - public Set describeChildMenuSet(List menuList, Set menuSet) { - for (Menu menu : menuList) { + public Set describeChildMenuSet(List menuList, Set menuSet) { + for (SystemMenuTb menu : menuList) { menuSet.add(menu); - List menus = menuMapper.queryMenuListByPidOrderByMenuSort(menu.getId()); + List menus = menuMapper.queryMenuListByPidOrderByMenuSort(menu.getId()); if (CollUtil.isNotEmpty(menus)) { describeChildMenuSet(menus, menuSet); } @@ -100,8 +94,8 @@ public class SystemMenuApiImpl implements SystemMenuApi { } @Override - public List describeMenuListByPid(Long pid) { - List menus; + public List describeMenuListByPid(Long pid) { + List menus; if (pid != null && !pid.equals(0L)) { menus = menuMapper.queryMenuListByPidOrderByMenuSort(pid); } else { @@ -111,7 +105,7 @@ public class SystemMenuApiImpl implements SystemMenuApi { } @Override - public List describeSuperiorMenuList(Menu menu, List menus) { + public List describeSuperiorMenuList(SystemMenuTb menu, List menus) { if (menu.getPid() == null) { menus.addAll(menuMapper.queryMenuListByPidIsNullOrderByMenuSort()); return menus; @@ -121,14 +115,14 @@ public class SystemMenuApiImpl implements SystemMenuApi { } @Override - public List buildMenuTree(List menus) { - List trees = new ArrayList<>(); + public List buildMenuTree(List menus) { + List trees = new ArrayList<>(); Set ids = new HashSet<>(); - for (Menu menu : menus) { + for (SystemMenuTb menu : menus) { if (menu.getPid() == null) { trees.add(menu); } - for (Menu it : menus) { + for (SystemMenuTb it : menus) { if (menu.getId().equals(it.getPid())) { if (menu.getChildren() == null) { menu.setChildren(new ArrayList<>()); @@ -145,43 +139,43 @@ public class SystemMenuApiImpl implements SystemMenuApi { } @Override - public List buildMenuResponse(List menus) { - List list = new LinkedList<>(); + public List buildMenuVo(List menus) { + List list = new LinkedList<>(); menus.forEach(menu -> { if (menu != null) { - List menuList = menu.getChildren(); - MenuResponse menuResponse = new MenuResponse(); - menuResponse.setName(ObjectUtil.isNotEmpty(menu.getComponentName()) ? menu.getComponentName() : menu.getTitle()); + List menuList = menu.getChildren(); + SystemMenuVo menuVo = new SystemMenuVo(); + menuVo.setName(ObjectUtil.isNotEmpty(menu.getComponentName()) ? menu.getComponentName() : menu.getTitle()); // 一级目录需要加斜杠,不然会报警告 - menuResponse.setPath(menu.getPid() == null ? "/" + menu.getPath() : menu.getPath()); - menuResponse.setHidden(menu.getHidden()); + menuVo.setPath(menu.getPid() == null ? "/" + menu.getPath() : menu.getPath()); + menuVo.setHidden(menu.getHidden()); // 如果不是外链 if (!menu.getIFrame()) { if (menu.getPid() == null) { - menuResponse.setComponent(StringUtil.isEmpty(menu.getComponent()) ? "Layout" : menu.getComponent()); + menuVo.setComponent(StringUtil.isEmpty(menu.getComponent()) ? "Layout" : menu.getComponent()); // 如果不是一级菜单,并且菜单类型为目录,则代表是多级菜单 } else if (menu.getType() == 0) { - menuResponse.setComponent(StringUtil.isEmpty(menu.getComponent()) ? "ParentView" : menu.getComponent()); + menuVo.setComponent(StringUtil.isEmpty(menu.getComponent()) ? "ParentView" : menu.getComponent()); } else if (StringUtil.isNoneBlank(menu.getComponent())) { - menuResponse.setComponent(menu.getComponent()); + menuVo.setComponent(menu.getComponent()); } } - menuResponse.setMeta(new MenuMetaVo(menu.getTitle(), menu.getIcon(), !menu.getCache())); + menuVo.setMeta(new SystemMenuMetaVo(menu.getTitle(), menu.getIcon(), !menu.getCache())); if (CollectionUtil.isNotEmpty(menuList)) { - menuResponse.setAlwaysShow(true); - menuResponse.setRedirect("noredirect"); - menuResponse.setChildren(buildMenuResponse(menuList)); + menuVo.setAlwaysShow(true); + menuVo.setRedirect("noredirect"); + menuVo.setChildren(buildMenuVo(menuList)); // 处理是一级菜单并且没有子菜单的情况 } else if (menu.getPid() == null) { - MenuResponse menuResponse1 = getMenuVo(menu, menuResponse); - menuResponse.setName(null); - menuResponse.setMeta(null); - menuResponse.setComponent("Layout"); - List list1 = new ArrayList<>(); - list1.add(menuResponse1); - menuResponse.setChildren(list1); + SystemMenuVo menuVo1 = getMenuVo(menu, menuVo); + menuVo.setName(null); + menuVo.setMeta(null); + menuVo.setComponent("Layout"); + List list1 = new ArrayList<>(); + list1.add(menuVo1); + menuVo.setChildren(list1); } - list.add(menuResponse); + list.add(menuVo); } } ); @@ -191,21 +185,21 @@ public class SystemMenuApiImpl implements SystemMenuApi { /** * 获取 MenuResponse * - * @param menu / - * @param menuResponse / + * @param menu / + * @param menuVo / * @return / */ - private static MenuResponse getMenuVo(Menu menu, MenuResponse menuResponse) { - MenuResponse menuResponse1 = new MenuResponse(); - menuResponse1.setMeta(menuResponse.getMeta()); + private static SystemMenuVo getMenuVo(SystemMenuTb menu, SystemMenuVo menuVo) { + SystemMenuVo menuVo1 = new SystemMenuVo(); + menuVo1.setMeta(menuVo.getMeta()); // 非外链 if (!menu.getIFrame()) { - menuResponse1.setPath("index"); - menuResponse1.setName(menuResponse.getName()); - menuResponse1.setComponent(menuResponse.getComponent()); + menuVo1.setPath("index"); + menuVo1.setName(menuVo.getName()); + menuVo1.setComponent(menuVo.getComponent()); } else { - menuResponse1.setPath(menu.getPath()); + menuVo1.setPath(menu.getPath()); } - return menuResponse1; + return menuVo1; } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuService.java index 4dd1c383..dee8172d 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuService.java @@ -1,14 +1,15 @@ package cn.odboy.core.service.system; -import cn.odboy.core.dal.dataobject.system.Menu; +import cn.odboy.core.dal.dataobject.system.SystemMenuTb; import com.baomidou.mybatisplus.extension.service.IService; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; import java.util.Set; -public interface SystemMenuService extends IService { +public interface SystemMenuService extends IService { /** @@ -16,14 +17,14 @@ public interface SystemMenuService extends IService { * * @param resources / */ - void saveMenu(Menu resources); + void saveMenu(SystemMenuTb resources); /** * 编辑 * * @param resources / */ - void modifyMenuById(Menu resources); + void modifyMenuById(SystemMenuTb resources); /** @@ -31,7 +32,7 @@ public interface SystemMenuService extends IService { * * @param menuSet / */ - void removeMenuByIds(Set menuSet); + void removeMenuByIds(Set menuSet); /** * 导出 @@ -40,7 +41,7 @@ public interface SystemMenuService extends IService { * @param response / * @throws IOException / */ - void downloadMenuExcel(List menus, HttpServletResponse response) throws IOException; + void downloadMenuExcel(List menus, HttpServletResponse response) throws IOException; } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemMenuServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuServiceImpl.java similarity index 72% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemMenuServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuServiceImpl.java index c0672664..ea4b9dff 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemMenuServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuServiceImpl.java @@ -1,15 +1,14 @@ -package cn.odboy.core.service.system.impl; +package cn.odboy.core.service.system; -import cn.odboy.core.api.system.SystemRoleApi; -import cn.odboy.core.constant.SystemRedisKey; +import cn.odboy.core.service.system.SystemRoleApi; +import cn.odboy.core.dal.redis.system.SystemRedisKey; import cn.odboy.core.constant.TransferProtocolConst; -import cn.odboy.core.dal.dataobject.system.Menu; -import cn.odboy.core.dal.dataobject.system.Role; -import cn.odboy.core.dal.dataobject.system.User; -import cn.odboy.core.dal.mysql.system.MenuMapper; -import cn.odboy.core.dal.mysql.system.RoleMenuMapper; -import cn.odboy.core.dal.mysql.system.UserMapper; -import cn.odboy.core.service.system.SystemMenuService; +import cn.odboy.core.dal.dataobject.system.SystemMenuTb; +import cn.odboy.core.dal.dataobject.system.SystemRoleTb; +import cn.odboy.core.dal.dataobject.system.SystemUserTb; +import cn.odboy.core.dal.mysql.system.SystemMenuMapper; +import cn.odboy.core.dal.mysql.system.SystemRoleMenuMapper; +import cn.odboy.core.dal.mysql.system.SystemUserMapper; import cn.odboy.exception.BadRequestException; import cn.odboy.exception.EntityExistException; import cn.odboy.redis.RedisHelper; @@ -19,22 +18,19 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; @Service @RequiredArgsConstructor -public class SystemMenuServiceImpl extends ServiceImpl implements SystemMenuService { - private final MenuMapper menuMapper; - private final RoleMenuMapper roleMenuMapper; - private final UserMapper userMapper; +public class SystemMenuServiceImpl extends ServiceImpl implements SystemMenuService { + private final SystemMenuMapper menuMapper; + private final SystemRoleMenuMapper roleMenuMapper; + private final SystemUserMapper userMapper; private final SystemRoleApi systemRoleApi; private final RedisHelper redisHelper; @@ -44,13 +40,13 @@ public class SystemMenuServiceImpl extends ServiceImpl impleme @Override @Transactional(rollbackFor = Exception.class) - public void saveMenu(Menu resources) { + public void saveMenu(SystemMenuTb resources) { if (menuMapper.getMenuByTitle(resources.getTitle()) != null) { - throw new EntityExistException(Menu.class, "title", resources.getTitle()); + throw new EntityExistException(SystemMenuTb.class, "title", resources.getTitle()); } if (StringUtil.isNotBlank(resources.getComponentName())) { if (menuMapper.getMenuByComponentName(resources.getComponentName()) != null) { - throw new EntityExistException(Menu.class, "componentName", resources.getComponentName()); + throw new EntityExistException(SystemMenuTb.class, "componentName", resources.getComponentName()); } } if (Long.valueOf(0L).equals(resources.getPid())) { @@ -70,20 +66,20 @@ public class SystemMenuServiceImpl extends ServiceImpl impleme @Override @Transactional(rollbackFor = Exception.class) - public void modifyMenuById(Menu resources) { + public void modifyMenuById(SystemMenuTb resources) { if (resources.getId().equals(resources.getPid())) { throw new BadRequestException("上级不能为自己"); } - Menu menu = getById(resources.getId()); + SystemMenuTb menu = getById(resources.getId()); if (resources.getIFrame()) { if (!(resources.getPath().toLowerCase().startsWith(TransferProtocolConst.PREFIX_HTTP) || resources.getPath().toLowerCase().startsWith(TransferProtocolConst.PREFIX_HTTPS))) { throw new BadRequestException(TransferProtocolConst.PREFIX_HTTPS_BAD_REQUEST); } } - Menu menu1 = menuMapper.getMenuByTitle(resources.getTitle()); + SystemMenuTb menu1 = menuMapper.getMenuByTitle(resources.getTitle()); if (menu1 != null && !menu1.getId().equals(menu.getId())) { - throw new EntityExistException(Menu.class, "title", resources.getTitle()); + throw new EntityExistException(SystemMenuTb.class, "title", resources.getTitle()); } if (resources.getPid().equals(0L)) { @@ -97,7 +93,7 @@ public class SystemMenuServiceImpl extends ServiceImpl impleme if (StringUtil.isNotBlank(resources.getComponentName())) { menu1 = menuMapper.getMenuByComponentName(resources.getComponentName()); if (menu1 != null && !menu1.getId().equals(menu.getId())) { - throw new EntityExistException(Menu.class, "componentName", resources.getComponentName()); + throw new EntityExistException(SystemMenuTb.class, "componentName", resources.getComponentName()); } } menu.setTitle(resources.getTitle()); @@ -123,8 +119,8 @@ public class SystemMenuServiceImpl extends ServiceImpl impleme @Override @Transactional(rollbackFor = Exception.class) - public void removeMenuByIds(Set menuSet) { - for (Menu menu : menuSet) { + public void removeMenuByIds(Set menuSet) { + for (SystemMenuTb menu : menuSet) { // 清理缓存 delCaches(menu.getId()); roleMenuMapper.deleteByMenuId(menu.getId()); @@ -135,9 +131,9 @@ public class SystemMenuServiceImpl extends ServiceImpl impleme @Override - public void downloadMenuExcel(List menus, HttpServletResponse response) throws IOException { + public void downloadMenuExcel(List menus, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); - for (Menu menu : menus) { + for (SystemMenuTb menu : menus) { Map map = new LinkedHashMap<>(); map.put("菜单标题", menu.getTitle()); map.put("菜单类型", menu.getType() == null ? "目录" : menu.getType() == 1 ? "菜单" : "按钮"); @@ -164,12 +160,12 @@ public class SystemMenuServiceImpl extends ServiceImpl impleme * @param id 菜单ID */ public void delCaches(Long id) { - List users = userMapper.queryUserListByMenuId(id); + List users = userMapper.queryUserListByMenuId(id); redisHelper.del(SystemRedisKey.MENU_ID + id); - redisHelper.delByKeys(SystemRedisKey.MENU_USER, users.stream().map(User::getId).collect(Collectors.toSet())); + redisHelper.delByKeys(SystemRedisKey.MENU_USER, users.stream().map(SystemUserTb::getId).collect(Collectors.toSet())); // 清除 Role 缓存 - List roles = systemRoleApi.describeRoleListByMenuId(id); - redisHelper.delByKeys(SystemRedisKey.ROLE_ID, roles.stream().map(Role::getId).collect(Collectors.toSet())); + List roles = systemRoleApi.describeRoleListByMenuId(id); + redisHelper.delByKeys(SystemRedisKey.ROLE_ID, roles.stream().map(SystemRoleTb::getId).collect(Collectors.toSet())); } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemMonitorApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMonitorApi.java similarity index 84% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemMonitorApi.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMonitorApi.java index 95b9304c..9e8d18bf 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemMonitorApi.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMonitorApi.java @@ -1,4 +1,4 @@ -package cn.odboy.core.api.system; +package cn.odboy.core.service.system; import java.util.Map; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemMonitorApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMonitorApiImpl.java similarity index 97% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemMonitorApiImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMonitorApiImpl.java index 8b022625..0ec130de 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemMonitorApiImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMonitorApiImpl.java @@ -1,9 +1,8 @@ -package cn.odboy.core.api.system.impl; +package cn.odboy.core.service.system; import cn.hutool.core.date.BetweenFormatter.Level; import cn.hutool.core.date.DateUtil; import cn.odboy.constant.SystemConst; -import cn.odboy.core.api.system.SystemMonitorApi; import cn.odboy.util.FileUtil; import cn.odboy.util.IpUtil; import lombok.extern.slf4j.Slf4j; @@ -18,13 +17,10 @@ import oshi.software.os.OSFileStore; import oshi.software.os.OperatingSystem; import oshi.util.FormatUtil; import oshi.util.Util; + import java.lang.management.ManagementFactory; import java.text.DecimalFormat; -import java.util.Arrays; -import java.util.Date; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Slf4j @Service diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigApi.java new file mode 100644 index 00000000..7d10304d --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigApi.java @@ -0,0 +1,13 @@ +package cn.odboy.core.service.system; + +import cn.odboy.core.dal.dataobject.system.SystemQiniuConfigTb; + +public interface SystemQiniuConfigApi { + + /** + * 查询配置 + * + * @return QiniuConfig + */ + SystemQiniuConfigTb describeQiniuConfig(); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigApiImpl.java new file mode 100644 index 00000000..86c697a9 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigApiImpl.java @@ -0,0 +1,22 @@ +package cn.odboy.core.service.system; + +import cn.odboy.core.dal.dataobject.system.SystemQiniuConfigTb; +import cn.odboy.core.dal.mysql.system.SystemQiniuConfigMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.cache.annotation.CacheConfig; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +@CacheConfig(cacheNames = "qiNiu") +public class SystemQiniuConfigApiImpl implements SystemQiniuConfigApi { + private final SystemQiniuConfigMapper qiniuConfigMapper; + + @Override + @Cacheable(key = "'config'") + public SystemQiniuConfigTb describeQiniuConfig() { + SystemQiniuConfigTb qiniuConfig = qiniuConfigMapper.selectById(1L); + return qiniuConfig == null ? new SystemQiniuConfigTb() : qiniuConfig; + } +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/QiniuConfigService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigService.java similarity index 50% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/QiniuConfigService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigService.java index 84686736..bd6ad167 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/QiniuConfigService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigService.java @@ -1,17 +1,17 @@ -package cn.odboy.core.service.tools; +package cn.odboy.core.service.system; -import cn.odboy.core.dal.dataobject.tools.QiniuConfig; +import cn.odboy.core.dal.dataobject.system.SystemQiniuConfigTb; import com.baomidou.mybatisplus.extension.service.IService; -public interface QiniuConfigService extends IService { +public interface SystemQiniuConfigService extends IService { /** * 保存 * * @param type 类型 */ - void saveQiniuConfig(QiniuConfig type); + void saveQiniuConfig(SystemQiniuConfigTb type); /** * 更新 diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/impl/QiniuConfigServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigServiceImpl.java similarity index 73% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/impl/QiniuConfigServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigServiceImpl.java index 24beb862..883c5139 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/impl/QiniuConfigServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigServiceImpl.java @@ -1,9 +1,8 @@ -package cn.odboy.core.service.tools.impl; +package cn.odboy.core.service.system; import cn.odboy.core.constant.TransferProtocolConst; -import cn.odboy.core.dal.dataobject.tools.QiniuConfig; -import cn.odboy.core.dal.mysql.tools.QiniuConfigMapper; -import cn.odboy.core.service.tools.QiniuConfigService; +import cn.odboy.core.dal.dataobject.system.SystemQiniuConfigTb; +import cn.odboy.core.dal.mysql.system.SystemQiniuConfigMapper; import cn.odboy.exception.BadRequestException; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; @@ -16,13 +15,13 @@ import org.springframework.transaction.annotation.Transactional; @Service @RequiredArgsConstructor @CacheConfig(cacheNames = "qiNiu") -public class QiniuConfigServiceImpl extends ServiceImpl implements QiniuConfigService { +public class SystemQiniuConfigServiceImpl extends ServiceImpl implements SystemQiniuConfigService { @Override @CacheEvict(key = "'config'") @Transactional(rollbackFor = Exception.class) - public void saveQiniuConfig(QiniuConfig qiniuConfig) { + public void saveQiniuConfig(SystemQiniuConfigTb qiniuConfig) { qiniuConfig.setId(1L); if (!(qiniuConfig.getHost().toLowerCase().startsWith(TransferProtocolConst.PREFIX_HTTP) || qiniuConfig.getHost().toLowerCase().startsWith(TransferProtocolConst.PREFIX_HTTPS))) { throw new BadRequestException(TransferProtocolConst.PREFIX_HTTPS_BAD_REQUEST); @@ -34,7 +33,7 @@ public class QiniuConfigServiceImpl extends ServiceImpl> describeQiniuContentPage(QuerySystemQiniuArgs criteria, Page page); + + /** + * 查询全部 + * + * @param criteria 条件 + * @return / + */ + List describeQiniuContentList(QuerySystemQiniuArgs criteria); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentApiImpl.java new file mode 100644 index 00000000..2ccb4c1f --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentApiImpl.java @@ -0,0 +1,30 @@ +package cn.odboy.core.service.system; + +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.dataobject.system.SystemQiniuContentTb; +import cn.odboy.core.dal.mysql.system.SystemQiniuContentMapper; +import cn.odboy.core.dal.model.system.QuerySystemQiniuArgs; +import cn.odboy.util.PageUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.RequiredArgsConstructor; +import org.springframework.cache.annotation.CacheConfig; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@RequiredArgsConstructor +@CacheConfig(cacheNames = "qiNiu") +public class SystemQiniuContentApiImpl implements SystemQiniuContentApi { + private final SystemQiniuContentMapper qiniuContentMapper; + + @Override + public CsResultVo> describeQiniuContentPage(QuerySystemQiniuArgs criteria, Page page) { + return PageUtil.toPage(qiniuContentMapper.queryQiniuContentPageByArgs(criteria, page)); + } + + @Override + public List describeQiniuContentList(QuerySystemQiniuArgs criteria) { + return qiniuContentMapper.queryQiniuContentPageByArgs(criteria, PageUtil.getCount(qiniuContentMapper)).getRecords(); + } +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/QiniuContentService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentService.java similarity index 66% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/QiniuContentService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentService.java index 1981a1b1..38373122 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/QiniuContentService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentService.java @@ -1,21 +1,22 @@ -package cn.odboy.core.service.tools; +package cn.odboy.core.service.system; -import cn.odboy.core.dal.dataobject.tools.QiniuContent; +import cn.odboy.core.dal.dataobject.system.SystemQiniuContentTb; import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; -public interface QiniuContentService extends IService { +public interface SystemQiniuContentService extends IService { /** * 上传文件 * * @param file 文件 * @return QiniuContent */ - QiniuContent uploadFile(MultipartFile file); + SystemQiniuContentTb uploadFile(MultipartFile file); /** * 创建文件预览链接 @@ -23,7 +24,7 @@ public interface QiniuContentService extends IService { * @param content 文件信息 * @return String */ - String createFilePreviewUrl(QiniuContent content); + String createFilePreviewUrl(SystemQiniuContentTb content); /** * 同步数据 @@ -44,7 +45,7 @@ public interface QiniuContentService extends IService { * @param response / * @throws IOException / */ - void downloadExcel(List queryAll, HttpServletResponse response) throws IOException; + void downloadExcel(List queryAll, HttpServletResponse response) throws IOException; /** * 删除文件 diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/impl/QiniuContentServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentServiceImpl.java similarity index 81% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/impl/QiniuContentServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentServiceImpl.java index 55d7e82c..3451421e 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/impl/QiniuContentServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentServiceImpl.java @@ -1,10 +1,8 @@ -package cn.odboy.core.service.tools.impl; +package cn.odboy.core.service.system; -import cn.odboy.core.api.tools.QiniuConfigApi; -import cn.odboy.core.dal.dataobject.tools.QiniuConfig; -import cn.odboy.core.dal.dataobject.tools.QiniuContent; -import cn.odboy.core.dal.mysql.tools.QiniuContentMapper; -import cn.odboy.core.service.tools.QiniuContentService; +import cn.odboy.core.dal.dataobject.system.SystemQiniuConfigTb; +import cn.odboy.core.dal.dataobject.system.SystemQiniuContentTb; +import cn.odboy.core.dal.mysql.system.SystemQiniuContentMapper; import cn.odboy.core.util.QiniuUtil; import cn.odboy.exception.BadRequestException; import cn.odboy.util.FileUtil; @@ -24,6 +22,7 @@ import org.springframework.cache.annotation.CacheConfig; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; @@ -34,18 +33,18 @@ import java.util.Map; @Service @RequiredArgsConstructor @CacheConfig(cacheNames = "qiNiu") -public class QiniuContentServiceImpl extends ServiceImpl implements QiniuContentService { - private final QiniuContentMapper qiniuContentMapper; - private final QiniuConfigApi qiniuConfigApi; +public class SystemQiniuContentServiceImpl extends ServiceImpl implements SystemQiniuContentService { + private final SystemQiniuContentMapper qiniuContentMapper; + private final SystemQiniuConfigApi qiniuConfigApi; @Value("${app.oss.qiniu.max-size}") private Long maxSize; @Override @Transactional(rollbackFor = Exception.class) - public QiniuContent uploadFile(MultipartFile file) { + public SystemQiniuContentTb uploadFile(MultipartFile file) { FileUtil.checkSize(maxSize, file.getSize()); - QiniuConfig qiniuConfig = qiniuConfigApi.describeQiniuConfig(); + SystemQiniuConfigTb qiniuConfig = qiniuConfigApi.describeQiniuConfig(); if (qiniuConfig.getId() == null) { throw new BadRequestException("请先添加相应配置,再操作"); } @@ -63,10 +62,10 @@ public class QiniuContentServiceImpl extends ServiceImpl queryAll, HttpServletResponse response) throws IOException { + public void downloadExcel(List queryAll, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); - for (QiniuContent content : queryAll) { + for (SystemQiniuContentTb content : queryAll) { Map map = new LinkedHashMap<>(); map.put("文件名", content.getKey()); map.put("文件类型", content.getSuffix()); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobApi.java new file mode 100644 index 00000000..fee67db2 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobApi.java @@ -0,0 +1,45 @@ +package cn.odboy.core.service.system; + +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.dataobject.system.SystemQuartzJobTb; +import cn.odboy.core.dal.dataobject.system.SystemQuartzLogTb; +import cn.odboy.core.dal.model.system.QuerySystemQuartzJobArgs; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import java.util.List; + +public interface SystemQuartzJobApi { + /** + * 分页查询 + * + * @param criteria 条件 + * @param page 分页参数 + * @return / + */ + CsResultVo> describeQuartzJobPage(QuerySystemQuartzJobArgs criteria, Page page); + + /** + * 查询全部 + * + * @param criteria 条件 + * @return / + */ + List describeQuartzJobList(QuerySystemQuartzJobArgs criteria); + + /** + * 分页查询日志 + * + * @param criteria 条件 + * @param page 分页参数 + * @return / + */ + CsResultVo> describeQuartzLogPage(QuerySystemQuartzJobArgs criteria, Page page); + + /** + * 查询全部 + * + * @param criteria 条件 + * @return / + */ + List describeQuartzLogList(QuerySystemQuartzJobArgs criteria); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobApiImpl.java new file mode 100644 index 00000000..1b6537ad --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobApiImpl.java @@ -0,0 +1,41 @@ +package cn.odboy.core.service.system; + +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.dataobject.system.SystemQuartzJobTb; +import cn.odboy.core.dal.dataobject.system.SystemQuartzLogTb; +import cn.odboy.core.dal.mysql.system.SystemQuartzJobMapper; +import cn.odboy.core.dal.mysql.system.SystemQuartzLogMapper; +import cn.odboy.core.dal.model.system.QuerySystemQuartzJobArgs; +import cn.odboy.util.PageUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class SystemQuartzJobApiImpl implements SystemQuartzJobApi { + private final SystemQuartzJobMapper quartzJobMapper; + private final SystemQuartzLogMapper quartzLogMapper; + + @Override + public CsResultVo> describeQuartzJobPage(QuerySystemQuartzJobArgs criteria, Page page) { + return PageUtil.toPage(quartzJobMapper.queryQuartzJobPageByArgs(criteria, page)); + } + + @Override + public CsResultVo> describeQuartzLogPage(QuerySystemQuartzJobArgs criteria, Page page) { + return PageUtil.toPage(quartzLogMapper.queryQuartzLogPageByArgs(criteria, page)); + } + + @Override + public List describeQuartzJobList(QuerySystemQuartzJobArgs criteria) { + return quartzJobMapper.queryQuartzJobPageByArgs(criteria, PageUtil.getCount(quartzJobMapper)).getRecords(); + } + + @Override + public List describeQuartzLogList(QuerySystemQuartzJobArgs criteria) { + return quartzLogMapper.queryQuartzLogPageByArgs(criteria, PageUtil.getCount(quartzLogMapper)).getRecords(); + } +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobService.java index 2610fbe2..baaa9192 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobService.java @@ -1,29 +1,30 @@ package cn.odboy.core.service.system; -import cn.odboy.core.dal.dataobject.job.QuartzJob; -import cn.odboy.core.dal.dataobject.job.QuartzLog; -import cn.odboy.core.service.system.dto.UpdateQuartzJobRequest; +import cn.odboy.core.dal.dataobject.system.SystemQuartzJobTb; +import cn.odboy.core.dal.dataobject.system.SystemQuartzLogTb; +import cn.odboy.core.dal.model.system.UpdateSystemQuartzJobArgs; import com.baomidou.mybatisplus.extension.service.IService; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; import java.util.Set; -public interface SystemQuartzJobService extends IService { +public interface SystemQuartzJobService extends IService { /** * 创建 * * @param resources / */ - void createJob(QuartzJob resources); + void createJob(SystemQuartzJobTb resources); /** * 修改任务并重新调度 * * @param resources / */ - void modifyQuartzJobResumeCron(UpdateQuartzJobRequest resources); + void modifyQuartzJobResumeCron(UpdateSystemQuartzJobArgs resources); /** * 删除任务 @@ -37,14 +38,14 @@ public interface SystemQuartzJobService extends IService { * * @param quartzJob / */ - void switchQuartzJobStatus(QuartzJob quartzJob); + void switchQuartzJobStatus(SystemQuartzJobTb quartzJob); /** * 立即执行定时任务 * * @param quartzJob / */ - void startQuartzJob(QuartzJob quartzJob); + void startQuartzJob(SystemQuartzJobTb quartzJob); /** * 导出定时任务 @@ -53,7 +54,7 @@ public interface SystemQuartzJobService extends IService { * @param response / * @throws IOException / */ - void downloadQuartzJobExcel(List queryAll, HttpServletResponse response) throws IOException; + void downloadQuartzJobExcel(List queryAll, HttpServletResponse response) throws IOException; /** * 导出定时任务日志 @@ -62,7 +63,7 @@ public interface SystemQuartzJobService extends IService { * @param response / * @throws IOException / */ - void downloadQuartzLogExcel(List queryAllLog, HttpServletResponse response) throws IOException; + void downloadQuartzLogExcel(List queryAllLog, HttpServletResponse response) throws IOException; /** * 执行子任务 diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemQuartzJobServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobServiceImpl.java similarity index 76% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemQuartzJobServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobServiceImpl.java index 8053b932..718deeaa 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemQuartzJobServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobServiceImpl.java @@ -1,15 +1,14 @@ -package cn.odboy.core.service.system.impl; +package cn.odboy.core.service.system; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; -import cn.odboy.core.dal.dataobject.job.QuartzJob; -import cn.odboy.core.dal.dataobject.job.QuartzLog; -import cn.odboy.core.dal.mysql.job.QuartzJobMapper; -import cn.odboy.core.dal.mysql.job.QuartzLogMapper; -import cn.odboy.core.framework.quartz.context.QuartzManage; -import cn.odboy.core.service.system.SystemQuartzJobService; -import cn.odboy.core.service.system.dto.UpdateQuartzJobRequest; +import cn.odboy.core.dal.dataobject.system.SystemQuartzJobTb; +import cn.odboy.core.dal.dataobject.system.SystemQuartzLogTb; +import cn.odboy.core.dal.mysql.system.SystemQuartzJobMapper; +import cn.odboy.core.dal.mysql.system.SystemQuartzLogMapper; +import cn.odboy.core.framework.quartz.core.QuartzManage; +import cn.odboy.core.dal.model.system.UpdateSystemQuartzJobArgs; import cn.odboy.exception.BadRequestException; import cn.odboy.redis.RedisHelper; import cn.odboy.util.FileUtil; @@ -19,28 +18,24 @@ import lombok.RequiredArgsConstructor; import org.quartz.CronExpression; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; @RequiredArgsConstructor @Service(value = "quartzJobService") -public class SystemQuartzJobServiceImpl extends ServiceImpl implements SystemQuartzJobService { +public class SystemQuartzJobServiceImpl extends ServiceImpl implements SystemQuartzJobService { - private final QuartzJobMapper quartzJobMapper; - private final QuartzLogMapper quartzLogMapper; + private final SystemQuartzJobMapper quartzJobMapper; + private final SystemQuartzLogMapper quartzLogMapper; private final QuartzManage quartzManage; private final RedisHelper redisHelper; @Override @Transactional(rollbackFor = Exception.class) - public void createJob(QuartzJob resources) { + public void createJob(SystemQuartzJobTb resources) { if (!CronExpression.isValidExpression(resources.getCronExpression())) { throw new BadRequestException("cron表达式格式错误"); } @@ -50,7 +45,7 @@ public class SystemQuartzJobServiceImpl extends ServiceImpl ids) { for (Long id : ids) { - QuartzJob quartzJob = getById(id); + SystemQuartzJobTb quartzJob = getById(id); quartzManage.deleteJob(quartzJob); removeById(quartzJob); } @@ -102,7 +97,7 @@ public class SystemQuartzJobServiceImpl extends ServiceImpl quartzJobs, HttpServletResponse response) throws IOException { + public void downloadQuartzJobExcel(List quartzJobs, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); - for (QuartzJob quartzJob : quartzJobs) { + for (SystemQuartzJobTb quartzJob : quartzJobs) { Map map = new LinkedHashMap<>(); map.put("任务名称", quartzJob.getJobName()); map.put("Bean名称", quartzJob.getBeanName()); @@ -145,9 +140,9 @@ public class SystemQuartzJobServiceImpl extends ServiceImpl queryAllLog, HttpServletResponse response) throws IOException { + public void downloadQuartzLogExcel(List queryAllLog, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); - for (QuartzLog quartzLog : queryAllLog) { + for (SystemQuartzLogTb quartzLog : queryAllLog) { Map map = new LinkedHashMap<>(); map.put("任务名称", quartzLog.getJobName()); map.put("Bean名称", quartzLog.getBeanName()); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemRoleApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleApi.java similarity index 56% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemRoleApi.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleApi.java index 6db40572..b9e3ec85 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemRoleApi.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleApi.java @@ -1,11 +1,12 @@ -package cn.odboy.core.api.system; +package cn.odboy.core.service.system; -import cn.odboy.base.PageResult; -import cn.odboy.core.dal.dataobject.system.Role; -import cn.odboy.core.dal.dataobject.system.User; -import cn.odboy.core.service.system.dto.QueryRoleRequest; -import cn.odboy.core.service.system.dto.RoleCodeVo; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.dataobject.system.SystemRoleTb; +import cn.odboy.core.dal.dataobject.system.SystemUserTb; +import cn.odboy.core.dal.model.system.QuerySystemRoleArgs; +import cn.odboy.core.dal.model.system.SystemRoleCodeVo; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + import java.util.List; import java.util.Set; @@ -16,7 +17,7 @@ public interface SystemRoleApi { * * @return / */ - List describeRoleList(); + List describeRoleList(); /** * 查询全部 @@ -24,7 +25,7 @@ public interface SystemRoleApi { * @param criteria 条件 * @return / */ - List describeRoleList(QueryRoleRequest criteria); + List describeRoleList(QuerySystemRoleArgs criteria); /** * 待条件分页查询 @@ -33,7 +34,7 @@ public interface SystemRoleApi { * @param page 分页参数 * @return / */ - PageResult describeRolePage(QueryRoleRequest criteria, Page page); + CsResultVo> describeRolePage(QuerySystemRoleArgs criteria, Page page); /** * 根据ID查询 @@ -41,7 +42,7 @@ public interface SystemRoleApi { * @param id / * @return / */ - Role describeRoleById(long id); + SystemRoleTb describeRoleById(long id); /** @@ -50,7 +51,7 @@ public interface SystemRoleApi { * @param userId 用户ID * @return / */ - List describeRoleListByUsersId(Long userId); + List describeRoleListByUsersId(Long userId); /** * 根据角色查询角色级别 @@ -58,7 +59,7 @@ public interface SystemRoleApi { * @param roles / * @return / */ - Integer describeDeptLevelByRoles(Set roles); + Integer describeDeptLevelByRoles(Set roles); /** * 获取用户权限信息 @@ -66,7 +67,7 @@ public interface SystemRoleApi { * @param user 用户信息 * @return 权限信息 */ - List buildUserRolePermissions(User user); + List buildUserRolePermissions(SystemUserTb user); /** * 验证是否被用户关联 @@ -81,5 +82,5 @@ public interface SystemRoleApi { * @param menuId / * @return / */ - List describeRoleListByMenuId(Long menuId); + List describeRoleListByMenuId(Long menuId); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemRoleApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleApiImpl.java similarity index 57% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemRoleApiImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleApiImpl.java index 31a176d1..63d35513 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemRoleApiImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleApiImpl.java @@ -1,16 +1,15 @@ -package cn.odboy.core.api.system.impl; +package cn.odboy.core.service.system; import cn.hutool.core.collection.CollUtil; -import cn.odboy.base.PageResult; -import cn.odboy.core.api.system.SystemRoleApi; -import cn.odboy.core.constant.SystemRedisKey; -import cn.odboy.core.dal.dataobject.system.Menu; -import cn.odboy.core.dal.dataobject.system.Role; -import cn.odboy.core.dal.dataobject.system.User; -import cn.odboy.core.dal.mysql.system.RoleMapper; -import cn.odboy.core.dal.mysql.system.UserMapper; -import cn.odboy.core.service.system.dto.QueryRoleRequest; -import cn.odboy.core.service.system.dto.RoleCodeVo; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.odboy.core.dal.dataobject.system.SystemMenuTb; +import cn.odboy.core.dal.dataobject.system.SystemRoleTb; +import cn.odboy.core.dal.dataobject.system.SystemUserTb; +import cn.odboy.core.dal.mysql.system.SystemRoleMapper; +import cn.odboy.core.dal.mysql.system.SystemUserMapper; +import cn.odboy.core.dal.model.system.QuerySystemRoleArgs; +import cn.odboy.core.dal.model.system.SystemRoleCodeVo; import cn.odboy.exception.BadRequestException; import cn.odboy.redis.RedisHelper; import cn.odboy.util.PageUtil; @@ -18,6 +17,7 @@ import cn.odboy.util.StringUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; + import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -28,32 +28,32 @@ import java.util.stream.Collectors; @Service @RequiredArgsConstructor public class SystemRoleApiImpl implements SystemRoleApi { - private final RoleMapper roleMapper; - private final UserMapper userMapper; + private final SystemRoleMapper roleMapper; + private final SystemUserMapper userMapper; private final RedisHelper redisHelper; @Override - public List describeRoleList() { + public List describeRoleList() { return roleMapper.queryRoleList(); } @Override - public List describeRoleList(QueryRoleRequest criteria) { + public List describeRoleList(QuerySystemRoleArgs criteria) { return roleMapper.queryRoleListByArgs(criteria); } @Override - public PageResult describeRolePage(QueryRoleRequest criteria, Page page) { + public CsResultVo> describeRolePage(QuerySystemRoleArgs criteria, Page page) { criteria.setOffset(page.offset()); - List roles = roleMapper.queryRoleListByArgs(criteria); + List roles = roleMapper.queryRoleListByArgs(criteria); Long total = roleMapper.getRoleCountByArgs(criteria); return PageUtil.toPage(roles, total); } @Override - public Role describeRoleById(long id) { + public SystemRoleTb describeRoleById(long id) { String key = SystemRedisKey.ROLE_ID + id; - Role role = redisHelper.get(key, Role.class); + SystemRoleTb role = redisHelper.get(key, SystemRoleTb.class); if (role == null) { role = roleMapper.selectById(id); redisHelper.set(key, role, 1, TimeUnit.DAYS); @@ -62,9 +62,9 @@ public class SystemRoleApiImpl implements SystemRoleApi { } @Override - public List describeRoleListByUsersId(Long userId) { + public List describeRoleListByUsersId(Long userId) { String key = SystemRedisKey.ROLE_USER + userId; - List roles = redisHelper.getList(key, Role.class); + List roles = redisHelper.getList(key, SystemRoleTb.class); if (CollUtil.isEmpty(roles)) { roles = roleMapper.queryRoleListByUserId(userId); redisHelper.set(key, roles, 1, TimeUnit.DAYS); @@ -73,34 +73,34 @@ public class SystemRoleApiImpl implements SystemRoleApi { } @Override - public Integer describeDeptLevelByRoles(Set roles) { + public Integer describeDeptLevelByRoles(Set roles) { if (CollUtil.isEmpty(roles)) { return Integer.MAX_VALUE; } - Set roleSet = new HashSet<>(); - for (Role role : roles) { + Set roleSet = new HashSet<>(); + for (SystemRoleTb role : roles) { roleSet.add(describeRoleById(role.getId())); } - return Collections.min(roleSet.stream().map(Role::getLevel).collect(Collectors.toList())); + return Collections.min(roleSet.stream().map(SystemRoleTb::getLevel).collect(Collectors.toList())); } @Override - public List buildUserRolePermissions(User user) { + public List buildUserRolePermissions(SystemUserTb user) { String key = SystemRedisKey.ROLE_AUTH + user.getId(); - List authorityList = redisHelper.getList(key, RoleCodeVo.class); + List authorityList = redisHelper.getList(key, SystemRoleCodeVo.class); if (CollUtil.isEmpty(authorityList)) { Set permissions = new HashSet<>(); // 如果是管理员直接返回 if (user.getIsAdmin()) { permissions.add("admin"); - return permissions.stream().map(RoleCodeVo::new) + return permissions.stream().map(SystemRoleCodeVo::new) .collect(Collectors.toList()); } - List roles = roleMapper.queryRoleListByUserId(user.getId()); + List roles = roleMapper.queryRoleListByUserId(user.getId()); permissions = roles.stream().flatMap(role -> role.getMenus().stream()) - .map(Menu::getPermission) + .map(SystemMenuTb::getPermission) .filter(StringUtil::isNotBlank).collect(Collectors.toSet()); - authorityList = permissions.stream().map(RoleCodeVo::new) + authorityList = permissions.stream().map(SystemRoleCodeVo::new) .collect(Collectors.toList()); redisHelper.set(key, authorityList, 1, TimeUnit.HOURS); } @@ -115,7 +115,7 @@ public class SystemRoleApiImpl implements SystemRoleApi { } @Override - public List describeRoleListByMenuId(Long menuId) { + public List describeRoleListByMenuId(Long menuId) { return roleMapper.queryRoleListByMenuId(menuId); } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleService.java index 806d276f..12631eb1 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleService.java @@ -1,15 +1,16 @@ package cn.odboy.core.service.system; -import cn.odboy.core.dal.dataobject.system.Role; -import cn.odboy.core.service.system.dto.CreateRoleRequest; +import cn.odboy.core.dal.dataobject.system.SystemRoleTb; +import cn.odboy.core.dal.model.system.CreateSystemRoleArgs; import com.baomidou.mybatisplus.extension.service.IService; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; import java.util.Set; -public interface SystemRoleService extends IService { +public interface SystemRoleService extends IService { /** @@ -17,21 +18,21 @@ public interface SystemRoleService extends IService { * * @param resources / */ - void saveRole(CreateRoleRequest resources); + void saveRole(CreateSystemRoleArgs resources); /** * 编辑 * * @param resources / */ - void modifyRoleById(Role resources); + void modifyRoleById(SystemRoleTb resources); /** * 修改绑定的菜单 * * @param resources / */ - void modifyBindMenuById(Role resources); + void modifyBindMenuById(SystemRoleTb resources); /** * 删除 @@ -48,6 +49,6 @@ public interface SystemRoleService extends IService { * @param response / * @throws IOException / */ - void downloadRoleExcel(List roles, HttpServletResponse response) throws IOException; + void downloadRoleExcel(List roles, HttpServletResponse response) throws IOException; } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemRoleServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleServiceImpl.java similarity index 67% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemRoleServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleServiceImpl.java index c20b1f9a..8fce05e1 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemRoleServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleServiceImpl.java @@ -1,18 +1,17 @@ -package cn.odboy.core.service.system.impl; +package cn.odboy.core.service.system; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; -import cn.odboy.core.cache.service.SystemUserJwtService; -import cn.odboy.core.constant.SystemRedisKey; -import cn.odboy.core.dal.dataobject.system.Role; -import cn.odboy.core.dal.dataobject.system.User; -import cn.odboy.core.dal.mysql.system.RoleDeptMapper; -import cn.odboy.core.dal.mysql.system.RoleMapper; -import cn.odboy.core.dal.mysql.system.RoleMenuMapper; -import cn.odboy.core.dal.mysql.system.UserMapper; -import cn.odboy.core.service.system.SystemRoleService; -import cn.odboy.core.service.system.dto.CreateRoleRequest; +import cn.odboy.core.dal.redis.system.SystemUserJwtService; +import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.odboy.core.dal.dataobject.system.SystemRoleTb; +import cn.odboy.core.dal.dataobject.system.SystemUserTb; +import cn.odboy.core.dal.mysql.system.SystemRoleDeptMapper; +import cn.odboy.core.dal.mysql.system.SystemRoleMapper; +import cn.odboy.core.dal.mysql.system.SystemRoleMenuMapper; +import cn.odboy.core.dal.mysql.system.SystemUserMapper; +import cn.odboy.core.dal.model.system.CreateSystemRoleArgs; import cn.odboy.exception.EntityExistException; import cn.odboy.redis.RedisHelper; import cn.odboy.util.FileUtil; @@ -20,32 +19,29 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; @Service @RequiredArgsConstructor -public class SystemRoleServiceImpl extends ServiceImpl implements SystemRoleService { - private final RoleMapper roleMapper; - private final RoleDeptMapper roleDeptMapper; - private final RoleMenuMapper roleMenuMapper; - private final UserMapper userMapper; +public class SystemRoleServiceImpl extends ServiceImpl implements SystemRoleService { + private final SystemRoleMapper roleMapper; + private final SystemRoleDeptMapper roleDeptMapper; + private final SystemRoleMenuMapper roleMenuMapper; + private final SystemUserMapper userMapper; private final SystemUserJwtService systemUserJwtService; private final RedisHelper redisHelper; @Override @Transactional(rollbackFor = Exception.class) - public void saveRole(CreateRoleRequest resources) { + public void saveRole(CreateSystemRoleArgs resources) { if (roleMapper.getRoleByName(resources.getName()) != null) { - throw new EntityExistException(Role.class, "name", resources.getName()); + throw new EntityExistException(SystemRoleTb.class, "name", resources.getName()); } - save(BeanUtil.copyProperties(resources, Role.class)); + save(BeanUtil.copyProperties(resources, SystemRoleTb.class)); // 判断是否有部门数据,若有,则需创建关联 if (CollectionUtil.isNotEmpty(resources.getDepts())) { roleDeptMapper.insertBatchWithRoleId(resources.getDepts(), resources.getId()); @@ -54,11 +50,11 @@ public class SystemRoleServiceImpl extends ServiceImpl impleme @Override @Transactional(rollbackFor = Exception.class) - public void modifyRoleById(Role resources) { - Role role = getById(resources.getId()); - Role role1 = roleMapper.getRoleByName(resources.getName()); + public void modifyRoleById(SystemRoleTb resources) { + SystemRoleTb role = getById(resources.getId()); + SystemRoleTb role1 = roleMapper.getRoleByName(resources.getName()); if (role1 != null && !role1.getId().equals(role.getId())) { - throw new EntityExistException(Role.class, "name", resources.getName()); + throw new EntityExistException(SystemRoleTb.class, "name", resources.getName()); } role.setName(resources.getName()); role.setDescription(resources.getDescription()); @@ -78,8 +74,8 @@ public class SystemRoleServiceImpl extends ServiceImpl impleme } @Override - public void modifyBindMenuById(Role role) { - List users = userMapper.queryUserListByRoleId(role.getId()); + public void modifyBindMenuById(SystemRoleTb role) { + List users = userMapper.queryUserListByRoleId(role.getId()); // 更新菜单 roleMenuMapper.deleteByRoleId(role.getId()); // 判断是否为空 @@ -104,9 +100,9 @@ public class SystemRoleServiceImpl extends ServiceImpl impleme } @Override - public void downloadRoleExcel(List roles, HttpServletResponse response) throws IOException { + public void downloadRoleExcel(List roles, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); - for (Role role : roles) { + for (SystemRoleTb role : roles) { Map map = new LinkedHashMap<>(); map.put("角色名称", role.getName()); map.put("角色级别", role.getLevel()); @@ -122,11 +118,11 @@ public class SystemRoleServiceImpl extends ServiceImpl impleme * * @param id / */ - public void delCaches(Long id, List users) { + public void delCaches(Long id, List users) { users = CollectionUtil.isEmpty(users) ? userMapper.queryUserListByRoleId(id) : users; if (CollectionUtil.isNotEmpty(users)) { users.forEach(item -> systemUserJwtService.cleanUserJwtModelCacheByUsername(item.getUsername())); - Set userIds = users.stream().map(User::getId).collect(Collectors.toSet()); + Set userIds = users.stream().map(SystemUserTb::getId).collect(Collectors.toSet()); redisHelper.delByKeys(SystemRedisKey.DATA_USER, userIds); redisHelper.delByKeys(SystemRedisKey.MENU_USER, userIds); redisHelper.delByKeys(SystemRedisKey.ROLE_AUTH, userIds); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemUserApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserApi.java similarity index 53% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemUserApi.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserApi.java index 8616b632..9d06bdfa 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/SystemUserApi.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserApi.java @@ -1,9 +1,10 @@ -package cn.odboy.core.api.system; +package cn.odboy.core.service.system; -import cn.odboy.base.PageResult; -import cn.odboy.core.dal.dataobject.system.User; -import cn.odboy.core.service.system.dto.QueryUserRequest; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.dataobject.system.SystemUserTb; +import cn.odboy.core.dal.model.system.QuerySystemUserArgs; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + import java.util.List; public interface SystemUserApi { @@ -14,7 +15,7 @@ public interface SystemUserApi { * @param id ID * @return / */ - User describeUserById(long id); + SystemUserTb describeUserById(long id); /** * 根据用户名查询 @@ -22,7 +23,7 @@ public interface SystemUserApi { * @param username / * @return / */ - User describeUserByUsername(String username); + SystemUserTb describeUserByUsername(String username); /** * 查询全部 @@ -31,7 +32,7 @@ public interface SystemUserApi { * @param page 分页参数 * @return / */ - PageResult describeUserPage(QueryUserRequest criteria, Page page); + CsResultVo> describeUserPage(QuerySystemUserArgs criteria, Page page); /** * 查询全部不分页 @@ -39,6 +40,6 @@ public interface SystemUserApi { * @param criteria 条件 * @return / */ - List describeUserList(QueryUserRequest criteria); + List describeUserList(QuerySystemUserArgs criteria); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemUserApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserApiImpl.java similarity index 57% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemUserApiImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserApiImpl.java index 2e8548d4..019ce852 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemUserApiImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserApiImpl.java @@ -1,44 +1,44 @@ -package cn.odboy.core.api.system.impl; +package cn.odboy.core.service.system; -import cn.odboy.base.PageResult; -import cn.odboy.core.api.system.SystemUserApi; -import cn.odboy.core.constant.SystemRedisKey; -import cn.odboy.core.dal.dataobject.system.User; -import cn.odboy.core.dal.mysql.system.UserMapper; -import cn.odboy.core.service.system.dto.QueryUserRequest; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.odboy.core.dal.dataobject.system.SystemUserTb; +import cn.odboy.core.dal.mysql.system.SystemUserMapper; +import cn.odboy.core.dal.model.system.QuerySystemUserArgs; import cn.odboy.redis.RedisHelper; import cn.odboy.util.PageUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + import java.util.List; import java.util.concurrent.TimeUnit; @Service @RequiredArgsConstructor public class SystemUserApiImpl implements SystemUserApi { - private final UserMapper userMapper; + private final SystemUserMapper userMapper; private final RedisHelper redisHelper; @Override - public PageResult describeUserPage(QueryUserRequest criteria, Page page) { + public CsResultVo> describeUserPage(QuerySystemUserArgs criteria, Page page) { criteria.setOffset(page.offset()); - List users = userMapper.queryUserPageByArgs(criteria, PageUtil.getCount(userMapper)).getRecords(); + List users = userMapper.queryUserPageByArgs(criteria, PageUtil.getCount(userMapper)).getRecords(); Long total = userMapper.getUserCountByArgs(criteria); return PageUtil.toPage(users, total); } @Override - public List describeUserList(QueryUserRequest criteria) { + public List describeUserList(QuerySystemUserArgs criteria) { return userMapper.queryUserPageByArgs(criteria, PageUtil.getCount(userMapper)).getRecords(); } @Override @Transactional(rollbackFor = Exception.class) - public User describeUserById(long id) { + public SystemUserTb describeUserById(long id) { String key = SystemRedisKey.USER_ID + id; - User user = redisHelper.get(key, User.class); + SystemUserTb user = redisHelper.get(key, SystemUserTb.class); if (user == null) { user = userMapper.selectById(id); redisHelper.set(key, user, 1, TimeUnit.DAYS); @@ -47,7 +47,7 @@ public class SystemUserApiImpl implements SystemUserApi { } @Override - public User describeUserByUsername(String username) { + public SystemUserTb describeUserByUsername(String username) { return userMapper.getUserByUsername(username); } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserService.java index 431bf0cd..1d0778da 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserService.java @@ -1,21 +1,22 @@ package cn.odboy.core.service.system; -import cn.odboy.core.dal.dataobject.system.User; +import cn.odboy.core.dal.dataobject.system.SystemUserTb; import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; import java.util.Map; import java.util.Set; -public interface SystemUserService extends IService { +public interface SystemUserService extends IService { /** * 新增用户 * * @param resources / */ - void saveUser(User resources); + void saveUser(SystemUserTb resources); /** * 编辑用户 @@ -23,7 +24,7 @@ public interface SystemUserService extends IService { * @param resources / * @throws Exception / */ - void modifyUserById(User resources) throws Exception; + void modifyUserById(SystemUserTb resources) throws Exception; /** * 删除用户 @@ -63,14 +64,14 @@ public interface SystemUserService extends IService { * @param response / * @throws IOException / */ - void downloadUserExcel(List queryAll, HttpServletResponse response) throws IOException; + void downloadUserExcel(List queryAll, HttpServletResponse response) throws IOException; /** * 用户自助修改资料 * * @param resources / */ - void modifyUserCenterInfoById(User resources); + void modifyUserCenterInfoById(SystemUserTb resources); /** * 重置密码 diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemUserServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserServiceImpl.java similarity index 73% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemUserServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserServiceImpl.java index 93e72681..3146c8d6 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemUserServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserServiceImpl.java @@ -1,17 +1,16 @@ -package cn.odboy.core.service.system.impl; +package cn.odboy.core.service.system; -import cn.odboy.core.cache.service.SystemUserJwtService; -import cn.odboy.core.cache.service.SystemUserOnlineService; -import cn.odboy.core.constant.SystemRedisKey; -import cn.odboy.core.dal.dataobject.system.Job; -import cn.odboy.core.dal.dataobject.system.Role; -import cn.odboy.core.dal.dataobject.system.User; -import cn.odboy.core.dal.mysql.system.UserJobMapper; -import cn.odboy.core.dal.mysql.system.UserMapper; -import cn.odboy.core.dal.mysql.system.UserRoleMapper; -import cn.odboy.core.framework.permission.util.SecurityHelper; +import cn.odboy.core.dal.redis.system.SystemUserJwtService; +import cn.odboy.core.dal.redis.system.SystemUserOnlineService; +import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.odboy.core.dal.dataobject.system.SystemJobTb; +import cn.odboy.core.dal.dataobject.system.SystemRoleTb; +import cn.odboy.core.dal.dataobject.system.SystemUserTb; +import cn.odboy.core.dal.mysql.system.SystemUserJobMapper; +import cn.odboy.core.dal.mysql.system.SystemUserMapper; +import cn.odboy.core.dal.mysql.system.SystemUserRoleMapper; +import cn.odboy.core.framework.permission.core.SecurityHelper; import cn.odboy.core.framework.properties.AppProperties; -import cn.odboy.core.service.system.SystemUserService; import cn.odboy.exception.BadRequestException; import cn.odboy.exception.EntityExistException; import cn.odboy.redis.RedisHelper; @@ -22,26 +21,20 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; + import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.NotBlank; import java.io.File; import java.io.IOException; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; @Service @RequiredArgsConstructor -public class SystemUserServiceImpl extends ServiceImpl implements SystemUserService { - private final UserMapper userMapper; - private final UserJobMapper userJobMapper; - private final UserRoleMapper userRoleMapper; +public class SystemUserServiceImpl extends ServiceImpl implements SystemUserService { + private final SystemUserMapper userMapper; + private final SystemUserJobMapper userJobMapper; + private final SystemUserRoleMapper userRoleMapper; private final AppProperties properties; private final RedisHelper redisHelper; private final SystemUserJwtService systemUserJwtService; @@ -49,16 +42,16 @@ public class SystemUserServiceImpl extends ServiceImpl impleme @Override @Transactional(rollbackFor = Exception.class) - public void saveUser(User resources) { + public void saveUser(SystemUserTb resources) { resources.setDeptId(resources.getDept().getId()); if (userMapper.getUserByUsername(resources.getUsername()) != null) { - throw new EntityExistException(User.class, "username", resources.getUsername()); + throw new EntityExistException(SystemUserTb.class, "username", resources.getUsername()); } if (userMapper.getUserByEmail(resources.getEmail()) != null) { - throw new EntityExistException(User.class, "email", resources.getEmail()); + throw new EntityExistException(SystemUserTb.class, "email", resources.getEmail()); } if (userMapper.getUserByPhone(resources.getPhone()) != null) { - throw new EntityExistException(User.class, "phone", resources.getPhone()); + throw new EntityExistException(SystemUserTb.class, "phone", resources.getPhone()); } save(resources); // 保存用户岗位 @@ -69,19 +62,19 @@ public class SystemUserServiceImpl extends ServiceImpl impleme @Override @Transactional(rollbackFor = Exception.class) - public void modifyUserById(User resources) { - User user = getById(resources.getId()); - User user1 = userMapper.getUserByUsername(resources.getUsername()); - User user2 = userMapper.getUserByEmail(resources.getEmail()); - User user3 = userMapper.getUserByPhone(resources.getPhone()); + public void modifyUserById(SystemUserTb resources) { + SystemUserTb user = getById(resources.getId()); + SystemUserTb user1 = userMapper.getUserByUsername(resources.getUsername()); + SystemUserTb user2 = userMapper.getUserByEmail(resources.getEmail()); + SystemUserTb user3 = userMapper.getUserByPhone(resources.getPhone()); if (user1 != null && !user.getId().equals(user1.getId())) { - throw new EntityExistException(User.class, "username", resources.getUsername()); + throw new EntityExistException(SystemUserTb.class, "username", resources.getUsername()); } if (user2 != null && !user.getId().equals(user2.getId())) { - throw new EntityExistException(User.class, "email", resources.getEmail()); + throw new EntityExistException(SystemUserTb.class, "email", resources.getEmail()); } if (user3 != null && !user.getId().equals(user3.getId())) { - throw new EntityExistException(User.class, "phone", resources.getPhone()); + throw new EntityExistException(SystemUserTb.class, "phone", resources.getPhone()); } // 如果用户的角色改变 if (!resources.getRoles().equals(user.getRoles())) { @@ -121,11 +114,11 @@ public class SystemUserServiceImpl extends ServiceImpl impleme @Override @Transactional(rollbackFor = Exception.class) - public void modifyUserCenterInfoById(User resources) { - User user = getById(resources.getId()); - User user1 = userMapper.getUserByPhone(resources.getPhone()); + public void modifyUserCenterInfoById(SystemUserTb resources) { + SystemUserTb user = getById(resources.getId()); + SystemUserTb user1 = userMapper.getUserByPhone(resources.getPhone()); if (user1 != null && !user.getId().equals(user1.getId())) { - throw new EntityExistException(User.class, "phone", resources.getPhone()); + throw new EntityExistException(SystemUserTb.class, "phone", resources.getPhone()); } user.setNickName(resources.getNickName()); user.setPhone(resources.getPhone()); @@ -140,7 +133,7 @@ public class SystemUserServiceImpl extends ServiceImpl impleme public void removeUserByIds(Set ids) { for (Long id : ids) { // 清理缓存 - User user = getById(id); + SystemUserTb user = getById(id); delCaches(user.getId(), user.getUsername()); } userMapper.deleteByIds(ids); @@ -160,7 +153,7 @@ public class SystemUserServiceImpl extends ServiceImpl impleme @Override @Transactional(rollbackFor = Exception.class) public void resetUserPasswordByIds(Set ids, String password) { - List users = userMapper.selectByIds(ids); + List users = userMapper.selectByIds(ids); // 清除缓存 users.forEach(user -> { // 清除缓存 @@ -183,7 +176,7 @@ public class SystemUserServiceImpl extends ServiceImpl impleme if (fileType != null && !image.contains(fileType)) { throw new BadRequestException("文件格式错误!, 仅支持 " + image + " 格式"); } - User user = userMapper.getUserByUsername(SecurityHelper.getCurrentUsername()); + SystemUserTb user = userMapper.getUserByUsername(SecurityHelper.getCurrentUsername()); String oldPath = user.getAvatarPath(); File file = FileUtil.upload(multipartFile, properties.getFile().getPath().getAvatar()); user.setAvatarPath(Objects.requireNonNull(file).getPath()); @@ -207,15 +200,15 @@ public class SystemUserServiceImpl extends ServiceImpl impleme } @Override - public void downloadUserExcel(List users, HttpServletResponse response) throws IOException { + public void downloadUserExcel(List users, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); - for (User user : users) { - List roles = user.getRoles().stream().map(Role::getName).collect(Collectors.toList()); + for (SystemUserTb user : users) { + List roles = user.getRoles().stream().map(SystemRoleTb::getName).collect(Collectors.toList()); Map map = new LinkedHashMap<>(); map.put("用户名", user.getUsername()); map.put("角色", roles); map.put("部门", user.getDept().getName()); - map.put("岗位", user.getJobs().stream().map(Job::getName).collect(Collectors.toList())); + map.put("岗位", user.getJobs().stream().map(SystemJobTb::getName).collect(Collectors.toList())); map.put("邮箱", user.getEmail()); map.put("状态", user.getEnabled() ? "启用" : "禁用"); map.put("手机号码", user.getPhone()); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemDeptServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemDeptServiceImpl.java deleted file mode 100644 index 3f5e04d1..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/impl/SystemDeptServiceImpl.java +++ /dev/null @@ -1,110 +0,0 @@ -package cn.odboy.core.service.system.impl; - -import cn.hutool.core.bean.BeanUtil; -import cn.odboy.core.api.system.SystemDeptApi; -import cn.odboy.core.constant.SystemRedisKey; -import cn.odboy.core.dal.dataobject.system.Dept; -import cn.odboy.core.dal.dataobject.system.User; -import cn.odboy.core.dal.mysql.system.DeptMapper; -import cn.odboy.core.dal.mysql.system.UserMapper; -import cn.odboy.core.service.system.SystemDeptService; -import cn.odboy.core.service.system.dto.CreateDeptRequest; -import cn.odboy.exception.BadRequestException; -import cn.odboy.redis.RedisHelper; -import cn.odboy.util.FileUtil; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; - -@Service -@RequiredArgsConstructor -public class SystemDeptServiceImpl extends ServiceImpl implements SystemDeptService { - private final DeptMapper deptMapper; - private final UserMapper userMapper; - private final RedisHelper redisHelper; - private final SystemDeptApi systemDeptApi; - - - @Override - @Transactional(rollbackFor = Exception.class) - public void saveDept(CreateDeptRequest resources) { - save(BeanUtil.copyProperties(resources, Dept.class)); - // 清理缓存 - updateSubCnt(resources.getPid()); - // 清理自定义角色权限的DataScope缓存 - delCaches(resources.getPid()); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void modifyDept(Dept resources) { - // 旧的部门 - Long oldPid = systemDeptApi.describeDeptById(resources.getId()).getPid(); - Long newPid = resources.getPid(); - if (resources.getPid() != null && resources.getId().equals(resources.getPid())) { - throw new BadRequestException("上级不能为自己"); - } - Dept dept = getById(resources.getId()); - resources.setId(dept.getId()); - saveOrUpdate(resources); - // 更新父节点中子节点数目 - updateSubCnt(oldPid); - updateSubCnt(newPid); - // 清理缓存 - delCaches(resources.getId()); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void removeDeptByIds(Set deptSet) { - for (Dept dept : deptSet) { - // 清理缓存 - delCaches(dept.getId()); - deptMapper.deleteById(dept.getId()); - updateSubCnt(dept.getPid()); - } - } - - @Override - public void downloadDeptExcel(List deptList, HttpServletResponse response) throws IOException { - List> list = new ArrayList<>(); - for (Dept dept : deptList) { - Map map = new LinkedHashMap<>(); - map.put("部门名称", dept.getName()); - map.put("部门状态", dept.getEnabled() ? "启用" : "停用"); - map.put("创建日期", dept.getCreateTime()); - list.add(map); - } - FileUtil.downloadExcel(list, response); - } - - - private void updateSubCnt(Long deptId) { - if (deptId != null) { - int count = deptMapper.getDeptCountByPid(deptId); - deptMapper.updateSubCountById(count, deptId); - } - } - - - /** - * 清理缓存 - * - * @param id / - */ - public void delCaches(Long id) { - List users = userMapper.queryUserListByDeptId(id); - // 删除数据权限 - redisHelper.delByKeys(SystemRedisKey.DATA_USER, users.stream().map(User::getId).collect(Collectors.toSet())); - redisHelper.del(SystemRedisKey.DEPT_ID + id); - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDataService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDataService.java new file mode 100644 index 00000000..bd653c2a --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDataService.java @@ -0,0 +1,20 @@ +package cn.odboy.core.service.system.ookkoko; + + +import cn.odboy.core.dal.dataobject.system.SystemUserTb; + +import java.util.List; + +/** + * 数据权限服务类 + */ +public interface SystemDataService { + + /** + * 获取数据权限 + * + * @param user / + * @return / + */ + List describeDeptIdListByUserIdWithDeptId(SystemUserTb user); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemDataApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDataServiceImpl.java similarity index 56% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemDataApiImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDataServiceImpl.java index d6c61f2d..311ad5b6 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/api/system/impl/SystemDataApiImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDataServiceImpl.java @@ -1,22 +1,17 @@ -package cn.odboy.core.api.system.impl; +package cn.odboy.core.service.system.ookkoko; import cn.hutool.core.collection.CollUtil; -import cn.odboy.core.api.system.SystemDataApi; -import cn.odboy.core.api.system.SystemDeptApi; -import cn.odboy.core.api.system.SystemRoleApi; -import cn.odboy.core.constant.DataScopeEnum; -import cn.odboy.core.constant.SystemRedisKey; -import cn.odboy.core.dal.dataobject.system.Dept; -import cn.odboy.core.dal.dataobject.system.Role; -import cn.odboy.core.dal.dataobject.system.User; +import cn.odboy.core.constant.system.SystemDataScopeEnum; +import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.odboy.core.dal.dataobject.system.SystemDeptTb; +import cn.odboy.core.dal.dataobject.system.SystemRoleTb; +import cn.odboy.core.dal.dataobject.system.SystemUserTb; +import cn.odboy.core.service.system.SystemRoleApi; import cn.odboy.redis.RedisHelper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Objects; -import java.util.Set; + +import java.util.*; import java.util.concurrent.TimeUnit; /** @@ -24,10 +19,10 @@ import java.util.concurrent.TimeUnit; */ @Service @RequiredArgsConstructor -public class SystemDataApiImpl implements SystemDataApi { +public class SystemDataServiceImpl implements SystemDataService { private final RedisHelper redisHelper; private final SystemRoleApi systemRoleApi; - private final SystemDeptApi systemDeptApi; + private final SystemDeptService systemDeptService; /** * 用户角色和用户部门改变时需清理缓存 @@ -36,16 +31,16 @@ public class SystemDataApiImpl implements SystemDataApi { * @return / */ @Override - public List describeDeptIdListByUserIdWithDeptId(User user) { + public List describeDeptIdListByUserIdWithDeptId(SystemUserTb user) { String key = SystemRedisKey.DATA_USER + user.getId(); List ids = redisHelper.getList(key, Long.class); if (CollUtil.isEmpty(ids)) { Set deptIds = new HashSet<>(); // 查询用户角色 - List roleList = systemRoleApi.describeRoleListByUsersId(user.getId()); + List roleList = systemRoleApi.describeRoleListByUsersId(user.getId()); // 获取对应的部门ID - for (Role role : roleList) { - DataScopeEnum dataScopeEnum = DataScopeEnum.find(role.getDataScope()); + for (SystemRoleTb role : roleList) { + SystemDataScopeEnum dataScopeEnum = SystemDataScopeEnum.find(role.getDataScope()); switch (Objects.requireNonNull(dataScopeEnum)) { case THIS_LEVEL: deptIds.add(user.getDept().getId()); @@ -70,13 +65,13 @@ public class SystemDataApiImpl implements SystemDataApi { * @param role 角色 * @return 数据权限ID */ - public Set getCustomize(Set deptIds, Role role) { - Set deptList = systemDeptApi.describeDeptByRoleId(role.getId()); - for (Dept dept : deptList) { + public Set getCustomize(Set deptIds, SystemRoleTb role) { + Set deptList = systemDeptService.describeDeptByRoleId(role.getId()); + for (SystemDeptTb dept : deptList) { deptIds.add(dept.getId()); - List deptChildren = systemDeptApi.describeDeptListByPid(dept.getId()); + List deptChildren = systemDeptService.describeDeptListByPid(dept.getId()); if (CollUtil.isNotEmpty(deptChildren)) { - deptIds.addAll(systemDeptApi.describeChildDeptIdListByDeptIds(deptChildren)); + deptIds.addAll(systemDeptService.describeChildDeptIdListByDeptIds(deptChildren)); } } return deptIds; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDeptService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDeptService.java new file mode 100644 index 00000000..7d6ec6ee --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDeptService.java @@ -0,0 +1,126 @@ +package cn.odboy.core.service.system.ookkoko; + +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.dataobject.system.SystemDeptTb; +import cn.odboy.core.dal.model.system.CreateSystemDeptArgs; +import cn.odboy.core.dal.model.system.QuerySystemDeptArgs; +import com.baomidou.mybatisplus.extension.service.IService; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; +import java.util.Set; + +public interface SystemDeptService extends IService { + + /** + * 创建 + * + * @param resources / + */ + void saveDept(CreateSystemDeptArgs resources); + + /** + * 编辑 + * + * @param resources / + */ + void modifyDept(SystemDeptTb resources); + + /** + * 删除 + * + * @param depts / + */ + void removeDeptByIds(Set depts); + + /** + * 导出数据 + * + * @param depts 待导出的数据 + * @param response / + * @throws IOException / + */ + void downloadDeptExcel(List depts, HttpServletResponse response) throws IOException; + /** + * 查询所有数据 + * + * @param criteria 条件 + * @param isQuery / + * @return / + * @throws Exception / + */ + List describeDeptList(QuerySystemDeptArgs criteria, Boolean isQuery) throws Exception; + + /** + * 根据ID查询 + * + * @param id / + * @return / + */ + SystemDeptTb describeDeptById(Long id); + + /** + * 根据PID查询 + * + * @param pid / + * @return / + */ + List describeDeptListByPid(long pid); + + /** + * 根据角色ID查询 + * + * @param id / + * @return / + */ + Set describeDeptByRoleId(Long id); + + /** + * 获取部门下所有关联的部门 + * + * @param deptList / + * @param depts / + * @return / + */ + Set describeRelationDeptSet(List deptList, Set depts); + + /** + * 根据ID获取同级与上级数据 + * + * @param dept / + * @param depts / + * @return / + */ + List describeSuperiorDeptListByPid(SystemDeptTb dept, List depts); + + /** + * 构建树形数据 + * + * @param depts / + * @return / + */ + CsResultVo buildDeptTree(List depts); + + /** + * 获取 + * + * @param deptList 、 + * @return 、 + */ + List describeChildDeptIdListByDeptIds(List deptList); + + /** + * 验证是否被角色或用户关联 + * + * @param depts / + */ + void verifyBindRelationByIds(Set depts); + + /** + * 遍历所有部门和子部门 + * + * @param ids / + */ + Set traverseDeptByIdWithPids(Set ids); +} \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDeptServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDeptServiceImpl.java new file mode 100644 index 00000000..a581f9e5 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDeptServiceImpl.java @@ -0,0 +1,288 @@ +package cn.odboy.core.service.system.ookkoko; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.constant.system.SystemDataScopeEnum; +import cn.odboy.core.dal.model.system.QuerySystemDeptArgs; +import cn.odboy.core.dal.mysql.system.SystemRoleMapper; +import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.odboy.core.dal.dataobject.system.SystemDeptTb; +import cn.odboy.core.dal.dataobject.system.SystemUserTb; +import cn.odboy.core.dal.mysql.system.SystemDeptMapper; +import cn.odboy.core.dal.mysql.system.SystemUserMapper; +import cn.odboy.core.dal.model.system.CreateSystemDeptArgs; +import cn.odboy.core.framework.permission.core.SecurityHelper; +import cn.odboy.exception.BadRequestException; +import cn.odboy.redis.RedisHelper; +import cn.odboy.util.ClassUtil; +import cn.odboy.util.FileUtil; +import cn.odboy.util.StringUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.lang.reflect.Field; +import java.util.*; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +@Service +@RequiredArgsConstructor +public class SystemDeptServiceImpl extends ServiceImpl implements SystemDeptService { + private final SystemDeptMapper deptMapper; + private final SystemUserMapper userMapper; + private final RedisHelper redisHelper; + private final SystemRoleMapper roleMapper; + + + @Override + @Transactional(rollbackFor = Exception.class) + public void saveDept(CreateSystemDeptArgs resources) { + save(BeanUtil.copyProperties(resources, SystemDeptTb.class)); + // 清理缓存 + updateSubCnt(resources.getPid()); + // 清理自定义角色权限的DataScope缓存 + delCaches(resources.getPid()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void modifyDept(SystemDeptTb resources) { + // 旧的部门 + Long oldPid = describeDeptById(resources.getId()).getPid(); + Long newPid = resources.getPid(); + if (resources.getPid() != null && resources.getId().equals(resources.getPid())) { + throw new BadRequestException("上级不能为自己"); + } + SystemDeptTb dept = getById(resources.getId()); + resources.setId(dept.getId()); + saveOrUpdate(resources); + // 更新父节点中子节点数目 + updateSubCnt(oldPid); + updateSubCnt(newPid); + // 清理缓存 + delCaches(resources.getId()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void removeDeptByIds(Set deptSet) { + for (SystemDeptTb dept : deptSet) { + // 清理缓存 + delCaches(dept.getId()); + deptMapper.deleteById(dept.getId()); + updateSubCnt(dept.getPid()); + } + } + + @Override + public void downloadDeptExcel(List deptList, HttpServletResponse response) throws IOException { + List> list = new ArrayList<>(); + for (SystemDeptTb dept : deptList) { + Map map = new LinkedHashMap<>(); + map.put("部门名称", dept.getName()); + map.put("部门状态", dept.getEnabled() ? "启用" : "停用"); + map.put("创建日期", dept.getCreateTime()); + list.add(map); + } + FileUtil.downloadExcel(list, response); + } + + + private void updateSubCnt(Long deptId) { + if (deptId != null) { + int count = deptMapper.getDeptCountByPid(deptId); + deptMapper.updateSubCountById(count, deptId); + } + } + + + /** + * 清理缓存 + * + * @param id / + */ + public void delCaches(Long id) { + List users = userMapper.queryUserListByDeptId(id); + // 删除数据权限 + redisHelper.delByKeys(SystemRedisKey.DATA_USER, users.stream().map(SystemUserTb::getId).collect(Collectors.toSet())); + redisHelper.del(SystemRedisKey.DEPT_ID + id); + } + + /** + * 筛选出 list 中没有父部门(即 pid 不在其他部门 id 列表中的部门)的部门列表 + */ + private List deduplication(List list) { + List deptList = new ArrayList<>(); + // 使用 Set 存储所有部门的 id + Set idSet = list.stream().map(SystemDeptTb::getId).collect(Collectors.toSet()); + // 遍历部门列表,筛选出没有父部门的部门 + for (SystemDeptTb dept : list) { + if (!idSet.contains(dept.getPid())) { + deptList.add(dept); + } + } + return deptList; + } + + @Override + public List describeDeptList(QuerySystemDeptArgs criteria, Boolean isQuery) throws Exception { + String dataScopeType = SecurityHelper.getDataScopeType(); + if (isQuery) { + if (dataScopeType.equals(SystemDataScopeEnum.ALL.getValue())) { + criteria.setPidIsNull(true); + } + List fields = ClassUtil.getAllFields(criteria.getClass(), new ArrayList<>()); + List fieldNames = new ArrayList<>() {{ + add("pidIsNull"); + add("enabled"); + }}; + for (Field field : fields) { + // 设置对象的访问权限,保证对private的属性的访问 + field.setAccessible(true); + Object val = field.get(criteria); + if (fieldNames.contains(field.getName())) { + continue; + } + if (ObjectUtil.isNotNull(val)) { + criteria.setPidIsNull(null); + break; + } + } + } + // 数据权限 + criteria.setIds(SecurityHelper.getCurrentUserDataScope()); + List list = deptMapper.queryDeptListByArgs(criteria); + // 如果为空,就代表为自定义权限或者本级权限,就需要去重,不理解可以注释掉,看查询结果 + if (StringUtil.isBlank(dataScopeType)) { + return deduplication(list); + } + return list; + } + + @Override + public SystemDeptTb describeDeptById(Long id) { + String key = SystemRedisKey.DEPT_ID + id; + SystemDeptTb dept = redisHelper.get(key, SystemDeptTb.class); + if (dept == null) { + dept = deptMapper.selectById(id); + redisHelper.set(key, dept, 1, TimeUnit.DAYS); + } + return dept; + } + + @Override + public List describeDeptListByPid(long pid) { + return deptMapper.queryDeptListByPid(pid); + } + + @Override + public Set describeDeptByRoleId(Long id) { + return deptMapper.queryDeptSetByRoleId(id); + } + + @Override + public Set describeRelationDeptSet(List menuList, Set deptSet) { + for (SystemDeptTb dept : menuList) { + deptSet.add(dept); + List deptList = deptMapper.queryDeptListByPid(dept.getId()); + if (CollUtil.isNotEmpty(deptList)) { + describeRelationDeptSet(deptList, deptSet); + } + } + return deptSet; + } + + @Override + public List describeChildDeptIdListByDeptIds(List deptList) { + List list = new ArrayList<>(); + deptList.forEach(dept -> { + if (dept != null && dept.getEnabled()) { + List deptList1 = deptMapper.queryDeptListByPid(dept.getId()); + if (CollUtil.isNotEmpty(deptList1)) { + list.addAll(describeChildDeptIdListByDeptIds(deptList1)); + } + list.add(dept.getId()); + } + } + ); + return list; + } + + @Override + public List describeSuperiorDeptListByPid(SystemDeptTb dept, List deptList) { + if (dept.getPid() == null) { + deptList.addAll(deptMapper.queryDeptListByPidIsNull()); + return deptList; + } + deptList.addAll(deptMapper.queryDeptListByPid(dept.getPid())); + return describeSuperiorDeptListByPid(describeDeptById(dept.getPid()), deptList); + } + + @Override + public CsResultVo buildDeptTree(List deptList) { + Set trees = new LinkedHashSet<>(); + Set deptSet = new LinkedHashSet<>(); + List deptNames = deptList.stream().map(SystemDeptTb::getName).collect(Collectors.toList()); + boolean isChild; + for (SystemDeptTb dept : deptList) { + isChild = false; + if (dept.getPid() == null) { + trees.add(dept); + } + for (SystemDeptTb it : deptList) { + if (it.getPid() != null && dept.getId().equals(it.getPid())) { + isChild = true; + if (dept.getChildren() == null) { + dept.setChildren(new ArrayList<>()); + } + dept.getChildren().add(it); + } + } + if (isChild) { + deptSet.add(dept); + } else if (dept.getPid() != null && !deptNames.contains(describeDeptById(dept.getPid()).getName())) { + deptSet.add(dept); + } + } + if (CollectionUtil.isEmpty(trees)) { + trees = deptSet; + } + CsResultVo baseResult = new CsResultVo<>(); + baseResult.setContent(CollectionUtil.isEmpty(trees) ? deptSet : trees); + baseResult.setTotalElements(deptSet.size()); + return baseResult; + } + + @Override + public void verifyBindRelationByIds(Set deptSet) { + Set deptIds = deptSet.stream().map(SystemDeptTb::getId).collect(Collectors.toSet()); + if (userMapper.getUserCountByDeptIds(deptIds) > 0) { + throw new BadRequestException("所选部门存在用户关联,请解除后再试!"); + } + if (roleMapper.getRoleCountByDeptIds(deptIds) > 0) { + throw new BadRequestException("所选部门存在角色关联,请解除后再试!"); + } + } + + @Override + public Set traverseDeptByIdWithPids(Set ids) { + Set depts = new HashSet<>(); + for (Long id : ids) { + // 根部门 + depts.add(describeDeptById(id)); + // 子部门 + List deptList = describeDeptListByPid(id); + if (CollectionUtil.isNotEmpty(deptList)) { + depts = describeRelationDeptSet(deptList, depts); + } + } + return depts; + } +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/EmailService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/EmailService.java deleted file mode 100644 index fd379ecb..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/tools/EmailService.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.odboy.core.service.tools; - -import cn.odboy.core.dal.dataobject.tools.EmailConfig; -import cn.odboy.core.service.tools.dto.SendEmailRequest; -import com.baomidou.mybatisplus.extension.service.IService; - - -public interface EmailService extends IService { - - /** - * 更新邮件配置 - * - * @param emailConfig 邮箱配置 - * @return / - * @throws Exception / - */ - void modifyEmailConfigOnPassChange(EmailConfig emailConfig) throws Exception; - - /** - * 发送邮件 - * - * @param sendEmailRequest 邮件发送的内容 - */ - void sendEmail(SendEmailRequest sendEmailRequest); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/util/QiniuUtil.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/util/QiniuUtil.java index 488c8573..795105b6 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/util/QiniuUtil.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/util/QiniuUtil.java @@ -2,6 +2,7 @@ package cn.odboy.core.util; import cn.odboy.util.FileUtil; import com.qiniu.storage.Region; + import java.text.SimpleDateFormat; import java.util.Date; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/util/SqlUtil.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/util/SqlUtil.java index 814fa2bc..d2876755 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/util/SqlUtil.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/util/SqlUtil.java @@ -1,12 +1,13 @@ package cn.odboy.core.util; -import cn.odboy.core.framework.mybatisplus.constant.DataTypeEnum; +import cn.odboy.core.framework.mybatisplus.config.DataTypeEnum; import cn.odboy.exception.BadRequestException; import cn.odboy.util.CloseUtil; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.google.common.collect.Lists; import com.zaxxer.hikari.HikariDataSource; import lombok.extern.slf4j.Slf4j; + import javax.sql.DataSource; import java.io.BufferedReader; import java.io.File; diff --git a/cutejava/cutejava-system/src/main/resources/mapper/system/DeptMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemDeptMapper.xml similarity index 96% rename from cutejava/cutejava-system/src/main/resources/mapper/system/DeptMapper.xml rename to cutejava/cutejava-system/src/main/resources/mapper/system/SystemDeptMapper.xml index 2be90a48..d7b65261 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/system/DeptMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemDeptMapper.xml @@ -1,7 +1,7 @@ - - + + @@ -85,7 +85,7 @@ from system_dept where pid is null - SELECT d.dept_id AS id, d.NAME, d.pid, diff --git a/cutejava/cutejava-system/src/main/resources/mapper/system/DictDetailMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemDictDetailMapper.xml similarity index 91% rename from cutejava/cutejava-system/src/main/resources/mapper/system/DictDetailMapper.xml rename to cutejava/cutejava-system/src/main/resources/mapper/system/SystemDictDetailMapper.xml index 1d575077..a5d5633d 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/system/DictDetailMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemDictDetailMapper.xml @@ -1,7 +1,7 @@ - - + + @@ -11,7 +11,7 @@ - + @@ -27,7 +27,7 @@ order by dd.dict_sort - select dd.id, dd.label, dd.`value`, dd.`dict_sort`, dd.create_by, dd.update_by, dd.create_time, dd.update_time, d.id as dict_id, d.name diff --git a/cutejava/cutejava-system/src/main/resources/mapper/system/DictMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemDictMapper.xml similarity index 85% rename from cutejava/cutejava-system/src/main/resources/mapper/system/DictMapper.xml rename to cutejava/cutejava-system/src/main/resources/mapper/system/SystemDictMapper.xml index f3a5c325..bc59096b 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/system/DictMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemDictMapper.xml @@ -1,7 +1,7 @@ - - SELECT * from system_dict d diff --git a/cutejava/cutejava-system/src/main/resources/mapper/system/JobMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemJobMapper.xml similarity index 88% rename from cutejava/cutejava-system/src/main/resources/mapper/system/JobMapper.xml rename to cutejava/cutejava-system/src/main/resources/mapper/system/SystemJobMapper.xml index e19aa499..24b6bac6 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/system/JobMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemJobMapper.xml @@ -1,12 +1,12 @@ - - select id from system_job where name = #{name} - select * from system_job diff --git a/cutejava/cutejava-system/src/main/resources/mapper/tools/LocalStorageMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemLocalStorageMapper.xml similarity index 87% rename from cutejava/cutejava-system/src/main/resources/mapper/tools/LocalStorageMapper.xml rename to cutejava/cutejava-system/src/main/resources/mapper/system/SystemLocalStorageMapper.xml index 0552bd4d..786492b8 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/tools/LocalStorageMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemLocalStorageMapper.xml @@ -1,7 +1,7 @@ - - select * from tool_local_storage diff --git a/cutejava/cutejava-system/src/main/resources/mapper/system/MenuMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemMenuMapper.xml similarity index 96% rename from cutejava/cutejava-system/src/main/resources/mapper/system/MenuMapper.xml rename to cutejava/cutejava-system/src/main/resources/mapper/system/SystemMenuMapper.xml index 19cfa884..a50a6abd 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/system/MenuMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemMenuMapper.xml @@ -1,7 +1,7 @@ - - + + @@ -101,12 +101,12 @@ WHERE pid = #{pid} ORDER BY menu_sort - SELECT menu_id id FROM system_menu WHERE title = #{title} - SELECT menu_id id FROM system_menu WHERE name = #{name} diff --git a/cutejava/cutejava-system/src/main/resources/mapper/tools/QiniuContentMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemQiniuContentMapper.xml similarity index 83% rename from cutejava/cutejava-system/src/main/resources/mapper/tools/QiniuContentMapper.xml rename to cutejava/cutejava-system/src/main/resources/mapper/system/SystemQiniuContentMapper.xml index 587c2467..ab8d0838 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/tools/QiniuContentMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemQiniuContentMapper.xml @@ -1,13 +1,13 @@ - - SELECT * FROM tool_qiniu_content WHERE name = #{name} - SELECT * FROM tool_qiniu_content diff --git a/cutejava/cutejava-system/src/main/resources/mapper/job/QuartzJobMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemQuartzJobMapper.xml similarity index 83% rename from cutejava/cutejava-system/src/main/resources/mapper/job/QuartzJobMapper.xml rename to cutejava/cutejava-system/src/main/resources/mapper/system/SystemQuartzJobMapper.xml index ed002ec7..62940562 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/job/QuartzJobMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemQuartzJobMapper.xml @@ -1,7 +1,7 @@ - - SELECT * FROM system_quartz_job @@ -15,7 +15,7 @@ ORDER BY id DESC - SELECT * FROM system_quartz_job WHERE is_pause = 0 diff --git a/cutejava/cutejava-system/src/main/resources/mapper/job/QuartzLogMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemQuartzLogMapper.xml similarity index 87% rename from cutejava/cutejava-system/src/main/resources/mapper/job/QuartzLogMapper.xml rename to cutejava/cutejava-system/src/main/resources/mapper/system/SystemQuartzLogMapper.xml index 0f3058bc..51074f30 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/job/QuartzLogMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemQuartzLogMapper.xml @@ -1,7 +1,7 @@ - - SELECT * FROM system_quartz_log diff --git a/cutejava/cutejava-system/src/main/resources/mapper/system/RoleDeptMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemRoleDeptMapper.xml similarity index 91% rename from cutejava/cutejava-system/src/main/resources/mapper/system/RoleDeptMapper.xml rename to cutejava/cutejava-system/src/main/resources/mapper/system/SystemRoleDeptMapper.xml index ce8bca6e..b26a8828 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/system/RoleDeptMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemRoleDeptMapper.xml @@ -1,6 +1,6 @@ - + insert into system_roles_depts (role_id, dept_id) values diff --git a/cutejava/cutejava-system/src/main/resources/mapper/system/RoleMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemRoleMapper.xml similarity index 96% rename from cutejava/cutejava-system/src/main/resources/mapper/system/RoleMapper.xml rename to cutejava/cutejava-system/src/main/resources/mapper/system/SystemRoleMapper.xml index 759c0cf0..edec7d68 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/system/RoleMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemRoleMapper.xml @@ -1,7 +1,7 @@ - - + + @@ -11,17 +11,17 @@ - + - + - select role_id as id, name, level from system_role order by level @@ -73,7 +73,7 @@ - select role_id as id from system_role where name = #{name} @@ -133,7 +133,7 @@ #{deptId} - SELECT role.role_id as id FROM system_role role, system_roles_menus rm diff --git a/cutejava/cutejava-system/src/main/resources/mapper/system/RoleMenuMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemRoleMenuMapper.xml similarity index 92% rename from cutejava/cutejava-system/src/main/resources/mapper/system/RoleMenuMapper.xml rename to cutejava/cutejava-system/src/main/resources/mapper/system/SystemRoleMenuMapper.xml index ccabc925..5712acaa 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/system/RoleMenuMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemRoleMenuMapper.xml @@ -1,6 +1,6 @@ - + insert into system_roles_menus (role_id, menu_id) values diff --git a/cutejava/cutejava-system/src/main/resources/mapper/system/UserJobMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemUserJobMapper.xml similarity index 91% rename from cutejava/cutejava-system/src/main/resources/mapper/system/UserJobMapper.xml rename to cutejava/cutejava-system/src/main/resources/mapper/system/SystemUserJobMapper.xml index 93c7c9cb..de1cd68f 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/system/UserJobMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemUserJobMapper.xml @@ -1,6 +1,6 @@ - + insert into system_users_jobs (user_id, job_id) values diff --git a/cutejava/cutejava-system/src/main/resources/mapper/system/UserMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemUserMapper.xml similarity index 96% rename from cutejava/cutejava-system/src/main/resources/mapper/system/UserMapper.xml rename to cutejava/cutejava-system/src/main/resources/mapper/system/SystemUserMapper.xml index 1b4be96c..193428fb 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/system/UserMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemUserMapper.xml @@ -1,7 +1,7 @@ - - + + @@ -19,15 +19,15 @@ - + - + - + @@ -135,12 +135,12 @@ left join system_dept d on u.dept_id = d.dept_id where u.username = #{username} - select user_id as id, username from system_user where email = #{email} - select user_id as id, username from system_user where phone = #{phone} @@ -156,7 +156,7 @@ set email = #{email} where username = #{username} - SELECT u.user_id as id, u.username FROM system_user u, system_users_roles r @@ -164,7 +164,7 @@ AND r.role_id = #{roleId} group by u.user_id - SELECT u.* FROM system_user u, system_users_roles r, @@ -174,7 +174,7 @@ AND d.dept_id = #{deptId} group by u.user_id - SELECT u.user_id as id, u.username FROM system_user u, system_users_roles ur, diff --git a/cutejava/cutejava-system/src/main/resources/mapper/system/UserRoleMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemUserRoleMapper.xml similarity index 91% rename from cutejava/cutejava-system/src/main/resources/mapper/system/UserRoleMapper.xml rename to cutejava/cutejava-system/src/main/resources/mapper/system/SystemUserRoleMapper.xml index 7dc0947f..3c60d905 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/system/UserRoleMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/system/SystemUserRoleMapper.xml @@ -1,6 +1,6 @@ - + insert into system_users_roles (user_id, role_id) values diff --git a/cutejava/pom.xml b/cutejava/pom.xml index 0ffb5659..df5895c1 100644 --- a/cutejava/pom.xml +++ b/cutejava/pom.xml @@ -5,7 +5,7 @@ cn.odboy cutejava pom - 1.3.1 + 1.4.0 cutejava-common @@ -27,112 +27,41 @@ UTF-8 11 1.2.9 - 2.0.54 + 2.0.57 1.2.19 2.11.1 - 3.5.10.1 - 5.8.37 + 3.5.12 + 5.8.38 - - - - - org.springframework.boot spring-boot-starter-web + - ch.qos.logback - logback-classic - - - ch.qos.logback - logback-core + org.springframework.boot + spring-boot-starter-json + org.springframework.boot spring-boot-starter-tomcat - - org.springframework - spring-core - - - org.springframework - spring-web - - - org.springframework - spring-webmvc - - - - - ch.qos.logback - logback-classic - 1.2.13 - - - ch.qos.logback - logback-core - 1.2.13 - - - org.springframework - spring-core - 5.3.36 - - - org.springframework - spring-web - 5.3.36 - - - org.springframework - spring-webmvc - 5.3.36 - - - org.springframework.boot spring-boot-starter-undertow - - - io.undertow - undertow-core - - - - - io.undertow - undertow-core - 2.3.17.Final - org.springframework.boot spring-boot-starter-test test - - - com.jayway.jsonpath - json-path - - - - - com.jayway.jsonpath - json-path - 2.9.0 @@ -183,7 +112,6 @@ mybatis-plus-jsqlparser ${mybatis-plus.version} - org.springframework.boot spring-boot-starter-freemarker @@ -196,7 +124,7 @@ org.freemarker freemarker - 2.3.33 + 2.3.34 @@ -231,19 +159,17 @@ - - io.swagger swagger-annotations 1.5.22 - + com.mysql mysql-connector-j - 9.2.0 + 9.3.0 runtime @@ -261,18 +187,20 @@ 2.7.18.9 + org.aspectj aspectjrt 1.9.7 + org.aspectj aspectjweaver 1.9.7 - + org.projectlombok lombok diff --git a/doc/cutejava.sql b/doc/cutejava.sql new file mode 100644 index 00000000..019e747f --- /dev/null +++ b/doc/cutejava.sql @@ -0,0 +1,869 @@ +/* + Navicat Premium Dump SQL + + Source Server : dev + Source Server Type : MySQL + Source Server Version : 80025 (8.0.25) + Source Host : 127.0.0.1:3306 + Source Schema : cutejava + + Target Server Type : MySQL + Target Server Version : 80025 (8.0.25) + File Encoding : 65001 + + Date: 20/06/2025 18:30:10 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for qrtz_blob_triggers +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_blob_triggers`; +CREATE TABLE `qrtz_blob_triggers` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `blob_data` blob, + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + KEY `sched_name` (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of qrtz_blob_triggers +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for qrtz_calendars +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_calendars`; +CREATE TABLE `qrtz_calendars` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `calendar_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `calendar` blob NOT NULL, + PRIMARY KEY (`sched_name`,`calendar_name`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of qrtz_calendars +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for qrtz_cron_triggers +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_cron_triggers`; +CREATE TABLE `qrtz_cron_triggers` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `cron_expression` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `time_zone_id` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of qrtz_cron_triggers +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for qrtz_fired_triggers +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_fired_triggers`; +CREATE TABLE `qrtz_fired_triggers` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `entry_id` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `instance_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `fired_time` bigint NOT NULL, + `sched_time` bigint NOT NULL, + `priority` int NOT NULL, + `state` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `job_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + `job_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + `is_nonconcurrent` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + `requests_recovery` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + PRIMARY KEY (`sched_name`,`entry_id`) USING BTREE, + KEY `idx_qrtz_ft_trig_inst_name` (`sched_name`,`instance_name`) USING BTREE, + KEY `idx_qrtz_ft_inst_job_req_rcvry` (`sched_name`,`instance_name`,`requests_recovery`) USING BTREE, + KEY `idx_qrtz_ft_j_g` (`sched_name`,`job_name`,`job_group`) USING BTREE, + KEY `idx_qrtz_ft_jg` (`sched_name`,`job_group`) USING BTREE, + KEY `idx_qrtz_ft_t_g` (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + KEY `idx_qrtz_ft_tg` (`sched_name`,`trigger_group`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of qrtz_fired_triggers +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for qrtz_job_details +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_job_details`; +CREATE TABLE `qrtz_job_details` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `job_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `job_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `description` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + `job_class_name` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `is_durable` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `is_nonconcurrent` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `is_update_data` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `requests_recovery` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `job_data` blob, + PRIMARY KEY (`sched_name`,`job_name`,`job_group`) USING BTREE, + KEY `idx_qrtz_j_req_recovery` (`sched_name`,`requests_recovery`) USING BTREE, + KEY `idx_qrtz_j_grp` (`sched_name`,`job_group`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of qrtz_job_details +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for qrtz_locks +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_locks`; +CREATE TABLE `qrtz_locks` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `lock_name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + PRIMARY KEY (`sched_name`,`lock_name`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of qrtz_locks +-- ---------------------------- +BEGIN; +INSERT INTO `qrtz_locks` (`sched_name`, `lock_name`) VALUES ('ClusteredScheduler', 'STATE_ACCESS'); +INSERT INTO `qrtz_locks` (`sched_name`, `lock_name`) VALUES ('ClusteredScheduler', 'TRIGGER_ACCESS'); +COMMIT; + +-- ---------------------------- +-- Table structure for qrtz_paused_trigger_grps +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`; +CREATE TABLE `qrtz_paused_trigger_grps` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + PRIMARY KEY (`sched_name`,`trigger_group`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of qrtz_paused_trigger_grps +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for qrtz_scheduler_state +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_scheduler_state`; +CREATE TABLE `qrtz_scheduler_state` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `instance_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `last_checkin_time` bigint NOT NULL, + `checkin_interval` bigint NOT NULL, + PRIMARY KEY (`sched_name`,`instance_name`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of qrtz_scheduler_state +-- ---------------------------- +BEGIN; +INSERT INTO `qrtz_scheduler_state` (`sched_name`, `instance_name`, `last_checkin_time`, `checkin_interval`) VALUES ('ClusteredScheduler', 'DESKTOP-FM44BLS1742558233429', 1742558255052, 20000); +COMMIT; + +-- ---------------------------- +-- Table structure for qrtz_simple_triggers +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_simple_triggers`; +CREATE TABLE `qrtz_simple_triggers` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `repeat_count` bigint NOT NULL, + `repeat_interval` bigint NOT NULL, + `times_triggered` bigint NOT NULL, + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of qrtz_simple_triggers +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for qrtz_simprop_triggers +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_simprop_triggers`; +CREATE TABLE `qrtz_simprop_triggers` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `str_prop_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + `str_prop_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + `str_prop_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + `int_prop_1` int DEFAULT NULL, + `int_prop_2` int DEFAULT NULL, + `long_prop_1` bigint DEFAULT NULL, + `long_prop_2` bigint DEFAULT NULL, + `dec_prop_1` decimal(13,4) DEFAULT NULL, + `dec_prop_2` decimal(13,4) DEFAULT NULL, + `bool_prop_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + `bool_prop_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of qrtz_simprop_triggers +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for qrtz_triggers +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_triggers`; +CREATE TABLE `qrtz_triggers` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `job_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `job_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `description` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + `next_fire_time` bigint DEFAULT NULL, + `prev_fire_time` bigint DEFAULT NULL, + `priority` int DEFAULT NULL, + `trigger_state` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `trigger_type` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `start_time` bigint NOT NULL, + `end_time` bigint DEFAULT NULL, + `calendar_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + `misfire_instr` smallint DEFAULT NULL, + `job_data` blob, + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + KEY `idx_qrtz_t_j` (`sched_name`,`job_name`,`job_group`) USING BTREE, + KEY `idx_qrtz_t_jg` (`sched_name`,`job_group`) USING BTREE, + KEY `idx_qrtz_t_c` (`sched_name`,`calendar_name`) USING BTREE, + KEY `idx_qrtz_t_g` (`sched_name`,`trigger_group`) USING BTREE, + KEY `idx_qrtz_t_state` (`sched_name`,`trigger_state`) USING BTREE, + KEY `idx_qrtz_t_n_state` (`sched_name`,`trigger_name`,`trigger_group`,`trigger_state`) USING BTREE, + KEY `idx_qrtz_t_n_g_state` (`sched_name`,`trigger_group`,`trigger_state`) USING BTREE, + KEY `idx_qrtz_t_next_fire_time` (`sched_name`,`next_fire_time`) USING BTREE, + KEY `idx_qrtz_t_nft_st` (`sched_name`,`trigger_state`,`next_fire_time`) USING BTREE, + KEY `idx_qrtz_t_nft_misfire` (`sched_name`,`misfire_instr`,`next_fire_time`) USING BTREE, + KEY `idx_qrtz_t_nft_st_misfire` (`sched_name`,`misfire_instr`,`next_fire_time`,`trigger_state`) USING BTREE, + KEY `idx_qrtz_t_nft_st_misfire_grp` (`sched_name`,`misfire_instr`,`next_fire_time`,`trigger_group`,`trigger_state`) USING BTREE, + CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `job_name`, `job_group`) REFERENCES `qrtz_job_details` (`sched_name`, `job_name`, `job_group`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of qrtz_triggers +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for system_dept +-- ---------------------------- +DROP TABLE IF EXISTS `system_dept`; +CREATE TABLE `system_dept` ( + `dept_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + `pid` bigint DEFAULT NULL COMMENT '上级部门', + `sub_count` int DEFAULT '0' COMMENT '子部门数目', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '名称', + `dept_sort` int DEFAULT '999' COMMENT '排序', + `enabled` bit(1) NOT NULL COMMENT '状态', + `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建者', + `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新者', + `create_time` datetime DEFAULT NULL COMMENT '创建日期', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`dept_id`) USING BTREE, + KEY `idx_pid` (`pid`) USING BTREE, + KEY `idx_enabled` (`enabled`) USING BTREE, + KEY `idx_sys_dept_dept_id` (`dept_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='部门'; + +-- ---------------------------- +-- Records of system_dept +-- ---------------------------- +BEGIN; +INSERT INTO `system_dept` (`dept_id`, `pid`, `sub_count`, `name`, `dept_sort`, `enabled`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (2, 7, 1, '研发部', 3, b'1', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_dept` (`dept_id`, `pid`, `sub_count`, `name`, `dept_sort`, `enabled`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (5, 7, 0, '运维部', 4, b'1', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_dept` (`dept_id`, `pid`, `sub_count`, `name`, `dept_sort`, `enabled`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (6, 8, 0, '测试部', 6, b'1', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_dept` (`dept_id`, `pid`, `sub_count`, `name`, `dept_sort`, `enabled`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (7, NULL, 2, '华南分部', 0, b'1', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_dept` (`dept_id`, `pid`, `sub_count`, `name`, `dept_sort`, `enabled`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (8, NULL, 2, '华北分部', 1, b'1', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_dept` (`dept_id`, `pid`, `sub_count`, `name`, `dept_sort`, `enabled`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (15, 8, 0, 'UI部门', 7, b'1', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_dept` (`dept_id`, `pid`, `sub_count`, `name`, `dept_sort`, `enabled`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (17, 2, 0, '研发一组', 999, b'1', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +COMMIT; + +-- ---------------------------- +-- Table structure for system_dict +-- ---------------------------- +DROP TABLE IF EXISTS `system_dict`; +CREATE TABLE `system_dict` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '字典名称', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '描述', + `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建者', + `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新者', + `create_time` datetime DEFAULT NULL COMMENT '创建日期', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='数据字典'; + +-- ---------------------------- +-- Records of system_dict +-- ---------------------------- +BEGIN; +INSERT INTO `system_dict` (`id`, `name`, `description`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (1, 'user_status', '用户状态', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_dict` (`id`, `name`, `description`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (4, 'dept_status', '部门状态', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_dict` (`id`, `name`, `description`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (5, 'job_status', '岗位状态', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +COMMIT; + +-- ---------------------------- +-- Table structure for system_dict_detail +-- ---------------------------- +DROP TABLE IF EXISTS `system_dict_detail`; +CREATE TABLE `system_dict_detail` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + `dict_id` bigint DEFAULT NULL COMMENT '字典id', + `label` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '字典标签', + `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '字典值', + `dict_sort` int DEFAULT NULL COMMENT '排序', + `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建者', + `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新者', + `create_time` datetime DEFAULT NULL COMMENT '创建日期', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_dict_id` (`dict_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='数据字典详情'; + +-- ---------------------------- +-- Records of system_dict_detail +-- ---------------------------- +BEGIN; +INSERT INTO `system_dict_detail` (`id`, `dict_id`, `label`, `value`, `dict_sort`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (1, 1, '激活', 'true', 1, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_dict_detail` (`id`, `dict_id`, `label`, `value`, `dict_sort`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (2, 1, '禁用', 'false', 2, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_dict_detail` (`id`, `dict_id`, `label`, `value`, `dict_sort`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (3, 4, '启用', 'true', 1, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_dict_detail` (`id`, `dict_id`, `label`, `value`, `dict_sort`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (4, 4, '停用', 'false', 2, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_dict_detail` (`id`, `dict_id`, `label`, `value`, `dict_sort`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (5, 5, '启用', 'true', 1, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_dict_detail` (`id`, `dict_id`, `label`, `value`, `dict_sort`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (6, 5, '停用', 'false', 2, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +COMMIT; + +-- ---------------------------- +-- Table structure for system_email_config +-- ---------------------------- +DROP TABLE IF EXISTS `system_email_config`; +CREATE TABLE `system_email_config` ( + `config_id` bigint NOT NULL COMMENT 'ID', + `from_user` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '收件人', + `host` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '邮件服务器SMTP地址', + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '密码', + `port` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '端口', + `user` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '发件者用户名', + PRIMARY KEY (`config_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='邮箱配置'; + +-- ---------------------------- +-- Records of system_email_config +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for system_job +-- ---------------------------- +DROP TABLE IF EXISTS `system_job`; +CREATE TABLE `system_job` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + `name` varchar(180) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '岗位名称', + `enabled` bit(1) NOT NULL COMMENT '岗位状态', + `job_sort` int DEFAULT NULL COMMENT '排序', + `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建者', + `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新者', + `create_time` datetime DEFAULT NULL COMMENT '创建日期', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uniq_name` (`name`) USING BTREE, + KEY `idx_enabled` (`enabled`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='岗位'; + +-- ---------------------------- +-- Records of system_job +-- ---------------------------- +BEGIN; +INSERT INTO `system_job` (`id`, `name`, `enabled`, `job_sort`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (8, '人事专员', b'1', 3, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_job` (`id`, `name`, `enabled`, `job_sort`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (10, '产品经理', b'1', 4, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_job` (`id`, `name`, `enabled`, `job_sort`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (11, '全栈开发', b'1', 2, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_job` (`id`, `name`, `enabled`, `job_sort`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (12, '软件测试', b'1', 5, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +COMMIT; + +-- ---------------------------- +-- Table structure for system_local_storage +-- ---------------------------- +DROP TABLE IF EXISTS `system_local_storage`; +CREATE TABLE `system_local_storage` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + `real_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '文件真实的名称', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '文件名', + `suffix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '后缀', + `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '路径', + `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '类型', + `size` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '大小', + `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建者', + `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新者', + `create_time` datetime DEFAULT NULL COMMENT '创建日期', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='本地存储'; + +-- ---------------------------- +-- Records of system_local_storage +-- ---------------------------- +BEGIN; +INSERT INTO `system_local_storage` (`id`, `real_name`, `name`, `suffix`, `path`, `type`, `size`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (11, 'bg-202504100131576.jpg', 'bg', 'jpg', 'C:\\cutejava\\file\\image\\bg-202504100131576.jpg', 'image', '20.20MB ', 'admin', 'admin', '2025-04-10 13:32:00', '2025-04-10 13:32:00'); +COMMIT; + +-- ---------------------------- +-- Table structure for system_menu +-- ---------------------------- +DROP TABLE IF EXISTS `system_menu`; +CREATE TABLE `system_menu` ( + `menu_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + `pid` bigint DEFAULT NULL COMMENT '上级菜单ID', + `sub_count` int DEFAULT '0' COMMENT '子菜单数目', + `type` int DEFAULT NULL COMMENT '菜单类型', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '菜单标题', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '组件名称', + `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '组件', + `menu_sort` int DEFAULT NULL COMMENT '排序', + `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '图标', + `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '链接地址', + `i_frame` bit(1) DEFAULT NULL COMMENT '是否外链', + `cache` bit(1) DEFAULT b'0' COMMENT '缓存', + `hidden` bit(1) DEFAULT b'0' COMMENT '隐藏', + `permission` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '权限', + `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建者', + `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新者', + `create_time` datetime DEFAULT NULL COMMENT '创建日期', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`menu_id`) USING BTREE, + UNIQUE KEY `uniq_name` (`name`) USING BTREE, + UNIQUE KEY `uniq_title` (`title`) USING BTREE, + KEY `idx_pid` (`pid`) USING BTREE, + KEY `idx_sys_menu_menu_id` (`menu_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=126 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='系统菜单'; + +-- ---------------------------- +-- Records of system_menu +-- ---------------------------- +BEGIN; +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (1, NULL, 7, 0, '系统管理', NULL, NULL, 1, 'system', 'system', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (2, 1, 3, 1, '用户管理', 'User', 'system/user/index', 2, 'peoples', 'user', b'0', b'0', b'0', 'user:list', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (3, 1, 3, 1, '角色管理', 'Role', 'system/role/index', 3, 'role', 'role', b'0', b'0', b'0', 'roles:list', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (5, 1, 3, 1, '菜单管理', 'Menu', 'system/menu/index', 5, 'menu', 'menu', b'0', b'0', b'0', 'menu:list', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (6, NULL, 3, 0, '系统监控', NULL, NULL, 10, 'monitor', 'monitor', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (9, 6, 0, 1, 'SQL监控', 'Sql', 'monitor/sql/index', 18, 'sqlMonitor', 'druid', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (10, NULL, 12, 0, '组件管理', NULL, NULL, 50, 'zujian', 'components', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (11, 10, 0, 1, '图标库', 'Icons', 'components/icons/index', 51, 'icon', 'icon', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (14, 36, 0, 1, '邮件工具', 'Email', 'tools/email/index', 35, 'email', 'email', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (15, 10, 0, 1, '富文本', 'Editor', 'components/base/Editor', 52, 'fwb', 'tinymce', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (18, 36, 3, 1, '存储管理', 'Storage', 'tools/storage/index', 34, 'qiniu', 'storage', b'0', b'0', b'0', 'storage:list', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (21, NULL, 2, 0, '多级菜单', NULL, '', 900, 'menu', 'nested', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (22, 21, 2, 0, '二级菜单1', NULL, '', 999, 'menu', 'menu1', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (23, 21, 0, 1, '二级菜单2', NULL, 'nested/menu2/index', 999, 'menu', 'menu2', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (24, 22, 0, 1, '三级菜单1', 'Test', 'nested/menu1/menu1-1', 999, 'menu', 'menu1-1', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (27, 22, 0, 1, '三级菜单2', NULL, 'nested/menu1/menu1-2', 999, 'menu', 'menu1-2', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (28, 1, 3, 1, '任务调度', 'Timing', 'system/timing/index', 999, 'timing', 'timing', b'0', b'0', b'0', 'timing:list', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (33, 10, 0, 1, 'Markdown', 'Markdown', 'components/base/MarkDown', 53, 'markdown', 'markdown', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (34, 10, 0, 1, 'Yaml编辑器', 'YamlEdit', 'components/base/YamlEdit', 54, 'dev', 'yaml', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (35, 1, 3, 1, '部门管理', 'Dept', 'system/dept/index', 6, 'dept', 'dept', b'0', b'0', b'0', 'dept:list', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (36, NULL, 2, 0, '系统工具', NULL, '', 30, 'sys-tools', 'sys-tools', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (37, 1, 3, 1, '岗位管理', 'Job', 'system/job/index', 7, 'Steve-Jobs', 'job', b'0', b'0', b'0', 'job:list', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (39, 1, 3, 1, '字典管理', 'Dict', 'system/dict/index', 8, 'dictionary', 'dict', b'0', b'0', b'0', 'dict:list', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (41, 6, 0, 1, '在线用户', 'OnlineUser', 'monitor/online/index', 10, 'Steve-Jobs', 'online', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (44, 2, 0, 2, '用户新增', NULL, '', 2, '', '', b'0', b'0', b'0', 'user:add', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (45, 2, 0, 2, '用户编辑', NULL, '', 3, '', '', b'0', b'0', b'0', 'user:edit', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (46, 2, 0, 2, '用户删除', NULL, '', 4, '', '', b'0', b'0', b'0', 'user:del', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (48, 3, 0, 2, '角色创建', NULL, '', 2, '', '', b'0', b'0', b'0', 'roles:add', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (49, 3, 0, 2, '角色修改', NULL, '', 3, '', '', b'0', b'0', b'0', 'roles:edit', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (50, 3, 0, 2, '角色删除', NULL, '', 4, '', '', b'0', b'0', b'0', 'roles:del', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (52, 5, 0, 2, '菜单新增', NULL, '', 2, '', '', b'0', b'0', b'0', 'menu:add', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (53, 5, 0, 2, '菜单编辑', NULL, '', 3, '', '', b'0', b'0', b'0', 'menu:edit', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (54, 5, 0, 2, '菜单删除', NULL, '', 4, '', '', b'0', b'0', b'0', 'menu:del', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (56, 35, 0, 2, '部门新增', NULL, '', 2, '', '', b'0', b'0', b'0', 'dept:add', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (57, 35, 0, 2, '部门编辑', NULL, '', 3, '', '', b'0', b'0', b'0', 'dept:edit', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (58, 35, 0, 2, '部门删除', NULL, '', 4, '', '', b'0', b'0', b'0', 'dept:del', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (60, 37, 0, 2, '岗位新增', NULL, '', 2, '', '', b'0', b'0', b'0', 'job:add', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (61, 37, 0, 2, '岗位编辑', NULL, '', 3, '', '', b'0', b'0', b'0', 'job:edit', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (62, 37, 0, 2, '岗位删除', NULL, '', 4, '', '', b'0', b'0', b'0', 'job:del', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (64, 39, 0, 2, '字典新增', NULL, '', 2, '', '', b'0', b'0', b'0', 'dict:add', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (65, 39, 0, 2, '字典编辑', NULL, '', 3, '', '', b'0', b'0', b'0', 'dict:edit', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (66, 39, 0, 2, '字典删除', NULL, '', 4, '', '', b'0', b'0', b'0', 'dict:del', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (73, 28, 0, 2, '任务新增', NULL, '', 2, '', '', b'0', b'0', b'0', 'timing:add', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (74, 28, 0, 2, '任务编辑', NULL, '', 3, '', '', b'0', b'0', b'0', 'timing:edit', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (75, 28, 0, 2, '任务删除', NULL, '', 4, '', '', b'0', b'0', b'0', 'timing:del', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (77, 18, 0, 2, '上传文件', NULL, '', 2, '', '', b'0', b'0', b'0', 'storage:add', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (78, 18, 0, 2, '文件编辑', NULL, '', 3, '', '', b'0', b'0', b'0', 'storage:edit', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (79, 18, 0, 2, '文件删除', NULL, '', 4, '', '', b'0', b'0', b'0', 'storage:del', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (80, 6, 0, 1, '服务监控', 'ServerMonitor', 'monitor/server/index', 14, 'codeConsole', 'server', b'0', b'0', b'0', 'monitor:list', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (83, 10, 0, 1, '图表库', 'Echarts', 'components/base/Echarts', 50, 'chart', 'echarts', b'0', b'1', b'0', '', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (117, 10, 0, 1, '一键复制', 'clipboardDemo', 'components/base/ClipboardDemo', 999, 'menu', 'clipboardDemo', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (118, 10, 0, 1, 'Java代码编辑器', 'javaCodemirror', 'components/base/CodemirrorDemo', 999, 'menu', 'javaCodemirror', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (119, 10, 0, 1, '数字滚动', 'countToDemo', 'components/base/CountToDemo', 999, 'menu', 'countToDemo', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (120, 10, 0, 1, '拖拽表格', 'dragTableDemo', 'components/base/DragTableDemo', 999, 'menu', 'dragTableDemo', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (121, 10, 0, 1, '分割面板', 'splitPaneDemo', 'components/base/SplitPaneDemo', 999, 'menu', 'splitPaneDemo', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (122, 10, 0, 1, 'WebSocket', 'webSocketDemo', 'components/base/WebSocketDemo', 999, 'menu', 'webSocketDemo', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`, `component`, `menu_sort`, `icon`, `path`, `i_frame`, `cache`, `hidden`, `permission`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (125, 10, 0, 1, '业务组件Demo', 'DemoShow', 'components/business/DemoShow', 999, 'menu', 'bussinessDemo', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +COMMIT; + +-- ---------------------------- +-- Table structure for system_qiniu_config +-- ---------------------------- +DROP TABLE IF EXISTS `system_qiniu_config`; +CREATE TABLE `system_qiniu_config` ( + `config_id` bigint NOT NULL COMMENT 'ID', + `access_key` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT 'accessKey', + `bucket` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'Bucket 识别符', + `host` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '外链域名', + `secret_key` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT 'secretKey', + `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '空间类型', + `zone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '机房', + PRIMARY KEY (`config_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='七牛云配置'; + +-- ---------------------------- +-- Records of system_qiniu_config +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for system_qiniu_content +-- ---------------------------- +DROP TABLE IF EXISTS `system_qiniu_content`; +CREATE TABLE `system_qiniu_content` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + `bucket` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'Bucket 识别符', + `name` varchar(180) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '文件名称', + `size` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '文件大小', + `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '文件类型:私有或公开', + `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '文件url', + `suffix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '文件后缀', + `update_time` datetime DEFAULT NULL COMMENT '上传或同步的时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uniq_name` (`name`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='七牛云文件存储'; + +-- ---------------------------- +-- Records of system_qiniu_content +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for system_quartz_job +-- ---------------------------- +DROP TABLE IF EXISTS `system_quartz_job`; +CREATE TABLE `system_quartz_job` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + `bean_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'Spring Bean名称', + `cron_expression` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'cron 表达式', + `is_pause` bit(1) DEFAULT NULL COMMENT '状态:1暂停、0启用', + `job_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '任务名称', + `method_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '方法名称', + `params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '参数', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + `person_in_charge` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '负责人', + `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '报警邮箱', + `sub_task` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '子任务ID', + `pause_after_failure` bit(1) DEFAULT NULL COMMENT '任务失败后是否暂停', + `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建者', + `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新者', + `create_time` datetime DEFAULT NULL COMMENT '创建日期', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_is_pause` (`is_pause`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='定时任务'; + +-- ---------------------------- +-- Records of system_quartz_job +-- ---------------------------- +BEGIN; +INSERT INTO `system_quartz_job` (`id`, `bean_name`, `cron_expression`, `is_pause`, `job_name`, `method_name`, `params`, `description`, `person_in_charge`, `email`, `sub_task`, `pause_after_failure`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (2, 'testTask', '0/5 * * * * ?', b'1', '测试1', 'run1', 'test', '带参测试,多参使用json', '测试', NULL, NULL, NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_quartz_job` (`id`, `bean_name`, `cron_expression`, `is_pause`, `job_name`, `method_name`, `params`, `description`, `person_in_charge`, `email`, `sub_task`, `pause_after_failure`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (3, 'testTask', '0/5 * * * * ?', b'1', '测试', 'run', '', '不带参测试', 'Zheng Jie', '', '6', b'1', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +COMMIT; + +-- ---------------------------- +-- Table structure for system_quartz_log +-- ---------------------------- +DROP TABLE IF EXISTS `system_quartz_log`; +CREATE TABLE `system_quartz_log` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + `bean_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'Bean名称', + `cron_expression` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'cron 表达式', + `is_success` bit(1) DEFAULT NULL COMMENT '是否执行成功', + `job_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '任务名称', + `method_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '方法名称', + `params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '参数', + `time` bigint DEFAULT NULL COMMENT '执行耗时', + `exception_detail` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '异常详情', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='定时任务日志'; + +-- ---------------------------- +-- Records of system_quartz_log +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for system_role +-- ---------------------------- +DROP TABLE IF EXISTS `system_role`; +CREATE TABLE `system_role` ( + `role_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '名称', + `level` int DEFAULT NULL COMMENT '角色级别', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '描述', + `data_scope` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '数据权限', + `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建者', + `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新者', + `create_time` datetime DEFAULT NULL COMMENT '创建日期', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`role_id`) USING BTREE, + UNIQUE KEY `uniq_name` (`name`) USING BTREE, + KEY `idx_level` (`level`) USING BTREE, + KEY `idx_sys_role_level` (`level`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='角色表'; + +-- ---------------------------- +-- Records of system_role +-- ---------------------------- +BEGIN; +INSERT INTO `system_role` (`role_id`, `name`, `level`, `description`, `data_scope`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (1, '超级管理员', 1, '666', '全部', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_role` (`role_id`, `name`, `level`, `description`, `data_scope`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (2, '普通用户', 2, '-', '本级', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_role` (`role_id`, `name`, `level`, `description`, `data_scope`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES (7, 'test', 3, 'testtesttesttesttesttesttesttesttest', '全部', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +COMMIT; + +-- ---------------------------- +-- Table structure for system_roles_depts +-- ---------------------------- +DROP TABLE IF EXISTS `system_roles_depts`; +CREATE TABLE `system_roles_depts` ( + `role_id` bigint NOT NULL COMMENT '角色ID', + `dept_id` bigint NOT NULL COMMENT '部门ID', + PRIMARY KEY (`role_id`,`dept_id`) USING BTREE, + KEY `idx_role_id` (`role_id`) USING BTREE, + KEY `idx_dept_id` (`dept_id`) USING BTREE, + KEY `idx_sys_roles_depts_role_dept` (`role_id`,`dept_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='角色部门关联'; + +-- ---------------------------- +-- Records of system_roles_depts +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for system_roles_menus +-- ---------------------------- +DROP TABLE IF EXISTS `system_roles_menus`; +CREATE TABLE `system_roles_menus` ( + `menu_id` bigint NOT NULL COMMENT '菜单ID', + `role_id` bigint NOT NULL COMMENT '角色ID', + PRIMARY KEY (`menu_id`,`role_id`) USING BTREE, + KEY `idx_menu_id` (`menu_id`) USING BTREE, + KEY `idx_role_id` (`role_id`) USING BTREE, + KEY `idx_sys_roles_menus_role_menu` (`role_id`,`menu_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='角色菜单关联'; + +-- ---------------------------- +-- Records of system_roles_menus +-- ---------------------------- +BEGIN; +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (1, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (2, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (3, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (5, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (6, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (9, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (10, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (10, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (11, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (11, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (14, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (14, 7); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (15, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (15, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (18, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (18, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (18, 7); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (21, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (21, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (22, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (22, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (23, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (23, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (24, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (24, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (27, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (27, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (28, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (33, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (33, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (34, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (34, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (35, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (36, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (36, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (36, 7); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (37, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (39, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (41, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (44, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (45, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (46, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (48, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (49, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (50, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (52, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (53, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (54, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (56, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (57, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (58, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (60, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (61, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (62, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (64, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (65, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (66, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (73, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (74, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (75, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (77, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (77, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (77, 7); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (78, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (78, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (78, 7); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (79, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (79, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (79, 7); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (80, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (80, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (83, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (83, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (117, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (117, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (118, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (118, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (119, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (119, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (120, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (120, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (121, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (121, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (122, 1); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (122, 2); +INSERT INTO `system_roles_menus` (`menu_id`, `role_id`) VALUES (125, 1); +COMMIT; + +-- ---------------------------- +-- Table structure for system_user +-- ---------------------------- +DROP TABLE IF EXISTS `system_user`; +CREATE TABLE `system_user` ( + `user_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + `dept_id` bigint DEFAULT NULL COMMENT '部门名称', + `username` varchar(180) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '用户名', + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '昵称', + `gender` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '性别', + `phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '手机号码', + `email` varchar(180) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '邮箱', + `avatar_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '头像地址', + `avatar_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '头像真实路径', + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '密码', + `is_admin` bit(1) DEFAULT b'0' COMMENT '是否为admin账号', + `enabled` bit(1) DEFAULT NULL COMMENT '状态:1启用、0禁用', + `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建者', + `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新者', + `pwd_reset_time` datetime DEFAULT NULL COMMENT '修改密码的时间', + `create_time` datetime DEFAULT NULL COMMENT '创建日期', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`user_id`) USING BTREE, + UNIQUE KEY `uniq_email` (`email`) USING BTREE, + UNIQUE KEY `uniq_username` (`username`) USING BTREE, + KEY `idx_dept_id` (`dept_id`) USING BTREE, + KEY `idx_enabled` (`enabled`) USING BTREE, + KEY `uniq_phone` (`phone`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='系统用户'; + +-- ---------------------------- +-- Records of system_user +-- ---------------------------- +BEGIN; +INSERT INTO `system_user` (`user_id`, `dept_id`, `username`, `nick_name`, `gender`, `phone`, `email`, `avatar_name`, `avatar_path`, `password`, `is_admin`, `enabled`, `create_by`, `update_by`, `pwd_reset_time`, `create_time`, `update_time`) VALUES (1, 2, 'admin', '管理员', '男', '18888888888', '1943815081@qq.com', '', '', '$2a$10$Egp1/gvFlt7zhlXVfEFw4OfWQCGPw0ClmMcc6FjTnvXNRVf9zdMRa', b'1', b'1', 'admin', 'admin', '2020-05-03 16:38:31', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +INSERT INTO `system_user` (`user_id`, `dept_id`, `username`, `nick_name`, `gender`, `phone`, `email`, `avatar_name`, `avatar_path`, `password`, `is_admin`, `enabled`, `create_by`, `update_by`, `pwd_reset_time`, `create_time`, `update_time`) VALUES (3, 2, '测试', '测试', '男', '18888888881', '188888@qq.com', NULL, NULL, '$2a$10$DpAGWp3CYtYySPqJe.CnL.c/OCR0kkPLLAwAyID0yFHLamtYdYsvy', b'0', b'1', 'admin', 'admin', NULL, '2025-01-05 00:00:00', '2025-01-05 00:00:00'); +COMMIT; + +-- ---------------------------- +-- Table structure for system_users_jobs +-- ---------------------------- +DROP TABLE IF EXISTS `system_users_jobs`; +CREATE TABLE `system_users_jobs` ( + `user_id` bigint NOT NULL COMMENT '用户ID', + `job_id` bigint NOT NULL COMMENT '岗位ID', + PRIMARY KEY (`user_id`,`job_id`) USING BTREE, + KEY `idx_user_id` (`user_id`) USING BTREE, + KEY `idx_job_id` (`job_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='用户与岗位关联表'; + +-- ---------------------------- +-- Records of system_users_jobs +-- ---------------------------- +BEGIN; +INSERT INTO `system_users_jobs` (`user_id`, `job_id`) VALUES (1, 11); +INSERT INTO `system_users_jobs` (`user_id`, `job_id`) VALUES (3, 11); +COMMIT; + +-- ---------------------------- +-- Table structure for system_users_roles +-- ---------------------------- +DROP TABLE IF EXISTS `system_users_roles`; +CREATE TABLE `system_users_roles` ( + `user_id` bigint NOT NULL COMMENT '用户ID', + `role_id` bigint NOT NULL COMMENT '角色ID', + PRIMARY KEY (`user_id`,`role_id`) USING BTREE, + KEY `idx_user_id` (`user_id`) USING BTREE, + KEY `idx_role_id` (`role_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='用户角色关联'; + +-- ---------------------------- +-- Records of system_users_roles +-- ---------------------------- +BEGIN; +INSERT INTO `system_users_roles` (`user_id`, `role_id`) VALUES (1, 1); +INSERT INTO `system_users_roles` (`user_id`, `role_id`) VALUES (3, 2); +COMMIT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/doc/sqlfile/cutejava20250321.sql b/doc/sqlfile/cutejava20250321.sql deleted file mode 100644 index 1c61750c..00000000 --- a/doc/sqlfile/cutejava20250321.sql +++ /dev/null @@ -1,813 +0,0 @@ -/* - Navicat Premium Data Transfer - - Source Server : localhost101 - Source Server Type : MySQL - Source Server Version : 80025 - Source Host : 192.168.235.102:3308 - Source Schema : cutejava20250321 - - Target Server Type : MySQL - Target Server Version : 80025 - File Encoding : 65001 - - Date: 06/05/2025 15:34:08 -*/ - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- ---------------------------- --- Table structure for qrtz_blob_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_blob_triggers`; -CREATE TABLE `qrtz_blob_triggers` ( - `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `blob_data` blob NULL, - PRIMARY KEY (`sched_name`, `trigger_name`, `trigger_group`) USING BTREE, - INDEX `sched_name`(`sched_name`, `trigger_name`, `trigger_group`) USING BTREE, - CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of qrtz_blob_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_calendars --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_calendars`; -CREATE TABLE `qrtz_calendars` ( - `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `calendar_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `calendar` blob NOT NULL, - PRIMARY KEY (`sched_name`, `calendar_name`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of qrtz_calendars --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_cron_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_cron_triggers`; -CREATE TABLE `qrtz_cron_triggers` ( - `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `cron_expression` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `time_zone_id` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - PRIMARY KEY (`sched_name`, `trigger_name`, `trigger_group`) USING BTREE, - CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of qrtz_cron_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_fired_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_fired_triggers`; -CREATE TABLE `qrtz_fired_triggers` ( - `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `entry_id` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `instance_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `fired_time` bigint(0) NOT NULL, - `sched_time` bigint(0) NOT NULL, - `priority` int(0) NOT NULL, - `state` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `job_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `job_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `is_nonconcurrent` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `requests_recovery` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - PRIMARY KEY (`sched_name`, `entry_id`) USING BTREE, - INDEX `idx_qrtz_ft_trig_inst_name`(`sched_name`, `instance_name`) USING BTREE, - INDEX `idx_qrtz_ft_inst_job_req_rcvry`(`sched_name`, `instance_name`, `requests_recovery`) USING BTREE, - INDEX `idx_qrtz_ft_j_g`(`sched_name`, `job_name`, `job_group`) USING BTREE, - INDEX `idx_qrtz_ft_jg`(`sched_name`, `job_group`) USING BTREE, - INDEX `idx_qrtz_ft_t_g`(`sched_name`, `trigger_name`, `trigger_group`) USING BTREE, - INDEX `idx_qrtz_ft_tg`(`sched_name`, `trigger_group`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of qrtz_fired_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_job_details --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_job_details`; -CREATE TABLE `qrtz_job_details` ( - `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `job_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `job_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `description` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `job_class_name` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `is_durable` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `is_nonconcurrent` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `is_update_data` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `requests_recovery` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `job_data` blob NULL, - PRIMARY KEY (`sched_name`, `job_name`, `job_group`) USING BTREE, - INDEX `idx_qrtz_j_req_recovery`(`sched_name`, `requests_recovery`) USING BTREE, - INDEX `idx_qrtz_j_grp`(`sched_name`, `job_group`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of qrtz_job_details --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_locks --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_locks`; -CREATE TABLE `qrtz_locks` ( - `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `lock_name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - PRIMARY KEY (`sched_name`, `lock_name`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of qrtz_locks --- ---------------------------- -INSERT INTO `qrtz_locks` VALUES ('ClusteredScheduler', 'STATE_ACCESS'); -INSERT INTO `qrtz_locks` VALUES ('ClusteredScheduler', 'TRIGGER_ACCESS'); - --- ---------------------------- --- Table structure for qrtz_paused_trigger_grps --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`; -CREATE TABLE `qrtz_paused_trigger_grps` ( - `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - PRIMARY KEY (`sched_name`, `trigger_group`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of qrtz_paused_trigger_grps --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_scheduler_state --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_scheduler_state`; -CREATE TABLE `qrtz_scheduler_state` ( - `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `instance_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `last_checkin_time` bigint(0) NOT NULL, - `checkin_interval` bigint(0) NOT NULL, - PRIMARY KEY (`sched_name`, `instance_name`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of qrtz_scheduler_state --- ---------------------------- -INSERT INTO `qrtz_scheduler_state` VALUES ('ClusteredScheduler', 'DESKTOP-FM44BLS1742558233429', 1742558255052, 20000); - --- ---------------------------- --- Table structure for qrtz_simple_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_simple_triggers`; -CREATE TABLE `qrtz_simple_triggers` ( - `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `repeat_count` bigint(0) NOT NULL, - `repeat_interval` bigint(0) NOT NULL, - `times_triggered` bigint(0) NOT NULL, - PRIMARY KEY (`sched_name`, `trigger_name`, `trigger_group`) USING BTREE, - CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of qrtz_simple_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_simprop_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_simprop_triggers`; -CREATE TABLE `qrtz_simprop_triggers` ( - `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `str_prop_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `str_prop_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `str_prop_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `int_prop_1` int(0) NULL DEFAULT NULL, - `int_prop_2` int(0) NULL DEFAULT NULL, - `long_prop_1` bigint(0) NULL DEFAULT NULL, - `long_prop_2` bigint(0) NULL DEFAULT NULL, - `dec_prop_1` decimal(13, 4) NULL DEFAULT NULL, - `dec_prop_2` decimal(13, 4) NULL DEFAULT NULL, - `bool_prop_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `bool_prop_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - PRIMARY KEY (`sched_name`, `trigger_name`, `trigger_group`) USING BTREE, - CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of qrtz_simprop_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_triggers`; -CREATE TABLE `qrtz_triggers` ( - `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `job_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `job_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `description` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `next_fire_time` bigint(0) NULL DEFAULT NULL, - `prev_fire_time` bigint(0) NULL DEFAULT NULL, - `priority` int(0) NULL DEFAULT NULL, - `trigger_state` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `trigger_type` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `start_time` bigint(0) NOT NULL, - `end_time` bigint(0) NULL DEFAULT NULL, - `calendar_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `misfire_instr` smallint(0) NULL DEFAULT NULL, - `job_data` blob NULL, - PRIMARY KEY (`sched_name`, `trigger_name`, `trigger_group`) USING BTREE, - INDEX `idx_qrtz_t_j`(`sched_name`, `job_name`, `job_group`) USING BTREE, - INDEX `idx_qrtz_t_jg`(`sched_name`, `job_group`) USING BTREE, - INDEX `idx_qrtz_t_c`(`sched_name`, `calendar_name`) USING BTREE, - INDEX `idx_qrtz_t_g`(`sched_name`, `trigger_group`) USING BTREE, - INDEX `idx_qrtz_t_state`(`sched_name`, `trigger_state`) USING BTREE, - INDEX `idx_qrtz_t_n_state`(`sched_name`, `trigger_name`, `trigger_group`, `trigger_state`) USING BTREE, - INDEX `idx_qrtz_t_n_g_state`(`sched_name`, `trigger_group`, `trigger_state`) USING BTREE, - INDEX `idx_qrtz_t_next_fire_time`(`sched_name`, `next_fire_time`) USING BTREE, - INDEX `idx_qrtz_t_nft_st`(`sched_name`, `trigger_state`, `next_fire_time`) USING BTREE, - INDEX `idx_qrtz_t_nft_misfire`(`sched_name`, `misfire_instr`, `next_fire_time`) USING BTREE, - INDEX `idx_qrtz_t_nft_st_misfire`(`sched_name`, `misfire_instr`, `next_fire_time`, `trigger_state`) USING BTREE, - INDEX `idx_qrtz_t_nft_st_misfire_grp`(`sched_name`, `misfire_instr`, `next_fire_time`, `trigger_group`, `trigger_state`) USING BTREE, - CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `job_name`, `job_group`) REFERENCES `qrtz_job_details` (`sched_name`, `job_name`, `job_group`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of qrtz_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for system_dept --- ---------------------------- -DROP TABLE IF EXISTS `system_dept`; -CREATE TABLE `system_dept` ( - `dept_id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID', - `pid` bigint(0) NULL DEFAULT NULL COMMENT '上级部门', - `sub_count` int(0) NULL DEFAULT 0 COMMENT '子部门数目', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', - `dept_sort` int(0) NULL DEFAULT 999 COMMENT '排序', - `enabled` bit(1) NOT NULL COMMENT '状态', - `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', - `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建日期', - `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`dept_id`) USING BTREE, - INDEX `idx_pid`(`pid`) USING BTREE, - INDEX `idx_enabled`(`enabled`) USING BTREE, - INDEX `idx_sys_dept_dept_id`(`dept_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '部门' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of system_dept --- ---------------------------- -INSERT INTO `system_dept` VALUES (2, 7, 1, '研发部', 3, b'1', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_dept` VALUES (5, 7, 0, '运维部', 4, b'1', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_dept` VALUES (6, 8, 0, '测试部', 6, b'1', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_dept` VALUES (7, NULL, 2, '华南分部', 0, b'1', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_dept` VALUES (8, NULL, 2, '华北分部', 1, b'1', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_dept` VALUES (15, 8, 0, 'UI部门', 7, b'1', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_dept` VALUES (17, 2, 0, '研发一组', 999, b'1', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); - --- ---------------------------- --- Table structure for system_dict --- ---------------------------- -DROP TABLE IF EXISTS `system_dict`; -CREATE TABLE `system_dict` ( - `id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典名称', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', - `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建日期', - `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据字典' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of system_dict --- ---------------------------- -INSERT INTO `system_dict` VALUES (1, 'user_status', '用户状态', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_dict` VALUES (4, 'dept_status', '部门状态', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_dict` VALUES (5, 'job_status', '岗位状态', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); - --- ---------------------------- --- Table structure for system_dict_detail --- ---------------------------- -DROP TABLE IF EXISTS `system_dict_detail`; -CREATE TABLE `system_dict_detail` ( - `id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID', - `dict_id` bigint(0) NULL DEFAULT NULL COMMENT '字典id', - `label` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典标签', - `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典值', - `dict_sort` int(0) NULL DEFAULT NULL COMMENT '排序', - `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', - `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建日期', - `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE, - INDEX `idx_dict_id`(`dict_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据字典详情' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of system_dict_detail --- ---------------------------- -INSERT INTO `system_dict_detail` VALUES (1, 1, '激活', 'true', 1, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_dict_detail` VALUES (2, 1, '禁用', 'false', 2, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_dict_detail` VALUES (3, 4, '启用', 'true', 1, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_dict_detail` VALUES (4, 4, '停用', 'false', 2, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_dict_detail` VALUES (5, 5, '启用', 'true', 1, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_dict_detail` VALUES (6, 5, '停用', 'false', 2, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); - --- ---------------------------- --- Table structure for system_job --- ---------------------------- -DROP TABLE IF EXISTS `system_job`; -CREATE TABLE `system_job` ( - `id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID', - `name` varchar(180) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '岗位名称', - `enabled` bit(1) NOT NULL COMMENT '岗位状态', - `job_sort` int(0) NULL DEFAULT NULL COMMENT '排序', - `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', - `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建日期', - `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uniq_name`(`name`) USING BTREE, - INDEX `idx_enabled`(`enabled`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '岗位' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of system_job --- ---------------------------- -INSERT INTO `system_job` VALUES (8, '人事专员', b'1', 3, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_job` VALUES (10, '产品经理', b'1', 4, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_job` VALUES (11, '全栈开发', b'1', 2, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_job` VALUES (12, '软件测试', b'1', 5, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); - --- ---------------------------- --- Table structure for system_menu --- ---------------------------- -DROP TABLE IF EXISTS `system_menu`; -CREATE TABLE `system_menu` ( - `menu_id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID', - `pid` bigint(0) NULL DEFAULT NULL COMMENT '上级菜单ID', - `sub_count` int(0) NULL DEFAULT 0 COMMENT '子菜单数目', - `type` int(0) NULL DEFAULT NULL COMMENT '菜单类型', - `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单标题', - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件名称', - `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件', - `menu_sort` int(0) NULL DEFAULT NULL COMMENT '排序', - `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图标', - `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '链接地址', - `i_frame` bit(1) NULL DEFAULT NULL COMMENT '是否外链', - `cache` bit(1) NULL DEFAULT b'0' COMMENT '缓存', - `hidden` bit(1) NULL DEFAULT b'0' COMMENT '隐藏', - `permission` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限', - `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', - `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建日期', - `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`menu_id`) USING BTREE, - UNIQUE INDEX `uniq_name`(`name`) USING BTREE, - UNIQUE INDEX `uniq_title`(`title`) USING BTREE, - INDEX `idx_pid`(`pid`) USING BTREE, - INDEX `idx_sys_menu_menu_id`(`menu_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 125 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统菜单' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of system_menu --- ---------------------------- -INSERT INTO `system_menu` VALUES (1, NULL, 7, 0, '系统管理', NULL, NULL, 1, 'system', 'system', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (2, 1, 3, 1, '用户管理', 'User', 'system/user/index', 2, 'peoples', 'user', b'0', b'0', b'0', 'user:list', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (3, 1, 3, 1, '角色管理', 'Role', 'system/role/index', 3, 'role', 'role', b'0', b'0', b'0', 'roles:list', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (5, 1, 3, 1, '菜单管理', 'Menu', 'system/menu/index', 5, 'menu', 'menu', b'0', b'0', b'0', 'menu:list', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (6, NULL, 3, 0, '系统监控', NULL, NULL, 10, 'monitor', 'monitor', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (9, 6, 0, 1, 'SQL监控', 'Sql', 'monitor/sql/index', 18, 'sqlMonitor', 'druid', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (10, NULL, 12, 0, '组件管理', NULL, NULL, 50, 'zujian', 'components', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (11, 10, 0, 1, '图标库', 'Icons', 'components/icons/index', 51, 'icon', 'icon', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (14, 36, 0, 1, '邮件工具', 'Email', 'tools/email/index', 35, 'email', 'email', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (15, 10, 0, 1, '富文本', 'Editor', 'components/base/Editor', 52, 'fwb', 'tinymce', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (18, 36, 3, 1, '存储管理', 'Storage', 'tools/storage/index', 34, 'qiniu', 'storage', b'0', b'0', b'0', 'storage:list', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (21, NULL, 2, 0, '多级菜单', NULL, '', 900, 'menu', 'nested', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (22, 21, 2, 0, '二级菜单1', NULL, '', 999, 'menu', 'menu1', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (23, 21, 0, 1, '二级菜单2', NULL, 'nested/menu2/index', 999, 'menu', 'menu2', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (24, 22, 0, 1, '三级菜单1', 'Test', 'nested/menu1/menu1-1', 999, 'menu', 'menu1-1', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (27, 22, 0, 1, '三级菜单2', NULL, 'nested/menu1/menu1-2', 999, 'menu', 'menu1-2', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (28, 1, 3, 1, '任务调度', 'Timing', 'system/timing/index', 999, 'timing', 'timing', b'0', b'0', b'0', 'timing:list', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (33, 10, 0, 1, 'Markdown', 'Markdown', 'components/base/MarkDown', 53, 'markdown', 'markdown', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (34, 10, 0, 1, 'Yaml编辑器', 'YamlEdit', 'components/base/YamlEdit', 54, 'dev', 'yaml', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (35, 1, 3, 1, '部门管理', 'Dept', 'system/dept/index', 6, 'dept', 'dept', b'0', b'0', b'0', 'dept:list', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (36, NULL, 2, 0, '系统工具', NULL, '', 30, 'sys-tools', 'sys-tools', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (37, 1, 3, 1, '岗位管理', 'Job', 'system/job/index', 7, 'Steve-Jobs', 'job', b'0', b'0', b'0', 'job:list', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (39, 1, 3, 1, '字典管理', 'Dict', 'system/dict/index', 8, 'dictionary', 'dict', b'0', b'0', b'0', 'dict:list', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (41, 6, 0, 1, '在线用户', 'OnlineUser', 'monitor/online/index', 10, 'Steve-Jobs', 'online', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (44, 2, 0, 2, '用户新增', NULL, '', 2, '', '', b'0', b'0', b'0', 'user:add', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (45, 2, 0, 2, '用户编辑', NULL, '', 3, '', '', b'0', b'0', b'0', 'user:edit', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (46, 2, 0, 2, '用户删除', NULL, '', 4, '', '', b'0', b'0', b'0', 'user:del', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (48, 3, 0, 2, '角色创建', NULL, '', 2, '', '', b'0', b'0', b'0', 'roles:add', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (49, 3, 0, 2, '角色修改', NULL, '', 3, '', '', b'0', b'0', b'0', 'roles:edit', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (50, 3, 0, 2, '角色删除', NULL, '', 4, '', '', b'0', b'0', b'0', 'roles:del', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (52, 5, 0, 2, '菜单新增', NULL, '', 2, '', '', b'0', b'0', b'0', 'menu:add', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (53, 5, 0, 2, '菜单编辑', NULL, '', 3, '', '', b'0', b'0', b'0', 'menu:edit', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (54, 5, 0, 2, '菜单删除', NULL, '', 4, '', '', b'0', b'0', b'0', 'menu:del', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (56, 35, 0, 2, '部门新增', NULL, '', 2, '', '', b'0', b'0', b'0', 'dept:add', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (57, 35, 0, 2, '部门编辑', NULL, '', 3, '', '', b'0', b'0', b'0', 'dept:edit', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (58, 35, 0, 2, '部门删除', NULL, '', 4, '', '', b'0', b'0', b'0', 'dept:del', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (60, 37, 0, 2, '岗位新增', NULL, '', 2, '', '', b'0', b'0', b'0', 'job:add', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (61, 37, 0, 2, '岗位编辑', NULL, '', 3, '', '', b'0', b'0', b'0', 'job:edit', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (62, 37, 0, 2, '岗位删除', NULL, '', 4, '', '', b'0', b'0', b'0', 'job:del', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (64, 39, 0, 2, '字典新增', NULL, '', 2, '', '', b'0', b'0', b'0', 'dict:add', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (65, 39, 0, 2, '字典编辑', NULL, '', 3, '', '', b'0', b'0', b'0', 'dict:edit', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (66, 39, 0, 2, '字典删除', NULL, '', 4, '', '', b'0', b'0', b'0', 'dict:del', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (73, 28, 0, 2, '任务新增', NULL, '', 2, '', '', b'0', b'0', b'0', 'timing:add', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (74, 28, 0, 2, '任务编辑', NULL, '', 3, '', '', b'0', b'0', b'0', 'timing:edit', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (75, 28, 0, 2, '任务删除', NULL, '', 4, '', '', b'0', b'0', b'0', 'timing:del', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (77, 18, 0, 2, '上传文件', NULL, '', 2, '', '', b'0', b'0', b'0', 'storage:add', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (78, 18, 0, 2, '文件编辑', NULL, '', 3, '', '', b'0', b'0', b'0', 'storage:edit', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (79, 18, 0, 2, '文件删除', NULL, '', 4, '', '', b'0', b'0', b'0', 'storage:del', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (80, 6, 0, 1, '服务监控', 'ServerMonitor', 'monitor/server/index', 14, 'codeConsole', 'server', b'0', b'0', b'0', 'monitor:list', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (83, 10, 0, 1, '图表库', 'Echarts', 'components/base/Echarts', 50, 'chart', 'echarts', b'0', b'1', b'0', '', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (117, 10, 0, 1, '一键复制', 'clipboardDemo', 'components/base/ClipboardDemo', 999, 'menu', 'clipboardDemo', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (118, 10, 0, 1, 'Java代码编辑器', 'javaCodemirror', 'components/base/CodemirrorDemo', 999, 'menu', 'javaCodemirror', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (119, 10, 0, 1, '数字滚动', 'countToDemo', 'components/base/CountToDemo', 999, 'menu', 'countToDemo', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (120, 10, 0, 1, '拖拽表格', 'dragTableDemo', 'components/base/DragTableDemo', 999, 'menu', 'dragTableDemo', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (121, 10, 0, 1, '分割面板', 'splitPaneDemo', 'components/base/SplitPaneDemo', 999, 'menu', 'splitPaneDemo', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (122, 10, 0, 1, 'WebSocket', 'webSocketDemo', 'components/base/WebSocketDemo', 999, 'menu', 'webSocketDemo', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_menu` VALUES (125, 10, 0, 1, '业务组件Demo', 'DemoShow', 'components/business/DemoShow', 999, 'menu', 'bussinessDemo', b'0', b'0', b'0', NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); - --- ---------------------------- --- Table structure for system_quartz_job --- ---------------------------- -DROP TABLE IF EXISTS `system_quartz_job`; -CREATE TABLE `system_quartz_job` ( - `id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID', - `bean_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'Spring Bean名称', - `cron_expression` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'cron 表达式', - `is_pause` bit(1) NULL DEFAULT NULL COMMENT '状态:1暂停、0启用', - `job_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务名称', - `method_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '方法名称', - `params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `person_in_charge` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '负责人', - `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '报警邮箱', - `sub_task` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '子任务ID', - `pause_after_failure` bit(1) NULL DEFAULT NULL COMMENT '任务失败后是否暂停', - `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', - `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建日期', - `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE, - INDEX `idx_is_pause`(`is_pause`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of system_quartz_job --- ---------------------------- -INSERT INTO `system_quartz_job` VALUES (2, 'testTask', '0/5 * * * * ?', b'1', '测试1', 'run1', 'test', '带参测试,多参使用json', '测试', NULL, NULL, NULL, 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_quartz_job` VALUES (3, 'testTask', '0/5 * * * * ?', b'1', '测试', 'run', '', '不带参测试', 'Zheng Jie', '', '6', b'1', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); - --- ---------------------------- --- Table structure for system_quartz_log --- ---------------------------- -DROP TABLE IF EXISTS `system_quartz_log`; -CREATE TABLE `system_quartz_log` ( - `id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID', - `bean_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'Bean名称', - `cron_expression` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'cron 表达式', - `is_success` bit(1) NULL DEFAULT NULL COMMENT '是否执行成功', - `job_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务名称', - `method_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '方法名称', - `params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数', - `time` bigint(0) NULL DEFAULT NULL COMMENT '执行耗时', - `exception_detail` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '异常详情', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务日志' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of system_quartz_log --- ---------------------------- - --- ---------------------------- --- Table structure for system_role --- ---------------------------- -DROP TABLE IF EXISTS `system_role`; -CREATE TABLE `system_role` ( - `role_id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID', - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', - `level` int(0) NULL DEFAULT NULL COMMENT '角色级别', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `data_scope` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据权限', - `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', - `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建日期', - `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`role_id`) USING BTREE, - UNIQUE INDEX `uniq_name`(`name`) USING BTREE, - INDEX `idx_level`(`level`) USING BTREE, - INDEX `idx_sys_role_level`(`level`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of system_role --- ---------------------------- -INSERT INTO `system_role` VALUES (1, '超级管理员', 1, '666', '全部', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_role` VALUES (2, '普通用户', 2, '-', '本级', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_role` VALUES (7, 'test', 3, 'testtesttesttesttesttesttesttesttest', '全部', 'admin', 'admin', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); - --- ---------------------------- --- Table structure for system_roles_depts --- ---------------------------- -DROP TABLE IF EXISTS `system_roles_depts`; -CREATE TABLE `system_roles_depts` ( - `role_id` bigint(0) NOT NULL COMMENT '角色ID', - `dept_id` bigint(0) NOT NULL COMMENT '部门ID', - PRIMARY KEY (`role_id`, `dept_id`) USING BTREE, - INDEX `idx_role_id`(`role_id`) USING BTREE, - INDEX `idx_dept_id`(`dept_id`) USING BTREE, - INDEX `idx_sys_roles_depts_role_dept`(`role_id`, `dept_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色部门关联' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of system_roles_depts --- ---------------------------- - --- ---------------------------- --- Table structure for system_roles_menus --- ---------------------------- -DROP TABLE IF EXISTS `system_roles_menus`; -CREATE TABLE `system_roles_menus` ( - `menu_id` bigint(0) NOT NULL COMMENT '菜单ID', - `role_id` bigint(0) NOT NULL COMMENT '角色ID', - PRIMARY KEY (`menu_id`, `role_id`) USING BTREE, - INDEX `idx_menu_id`(`menu_id`) USING BTREE, - INDEX `idx_role_id`(`role_id`) USING BTREE, - INDEX `idx_sys_roles_menus_role_menu`(`role_id`, `menu_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色菜单关联' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of system_roles_menus --- ---------------------------- -INSERT INTO `system_roles_menus` VALUES (1, 1); -INSERT INTO `system_roles_menus` VALUES (2, 1); -INSERT INTO `system_roles_menus` VALUES (3, 1); -INSERT INTO `system_roles_menus` VALUES (5, 1); -INSERT INTO `system_roles_menus` VALUES (6, 1); -INSERT INTO `system_roles_menus` VALUES (9, 1); -INSERT INTO `system_roles_menus` VALUES (10, 1); -INSERT INTO `system_roles_menus` VALUES (10, 2); -INSERT INTO `system_roles_menus` VALUES (11, 1); -INSERT INTO `system_roles_menus` VALUES (11, 2); -INSERT INTO `system_roles_menus` VALUES (14, 1); -INSERT INTO `system_roles_menus` VALUES (14, 7); -INSERT INTO `system_roles_menus` VALUES (15, 1); -INSERT INTO `system_roles_menus` VALUES (15, 2); -INSERT INTO `system_roles_menus` VALUES (18, 1); -INSERT INTO `system_roles_menus` VALUES (18, 2); -INSERT INTO `system_roles_menus` VALUES (18, 7); -INSERT INTO `system_roles_menus` VALUES (21, 1); -INSERT INTO `system_roles_menus` VALUES (21, 2); -INSERT INTO `system_roles_menus` VALUES (22, 1); -INSERT INTO `system_roles_menus` VALUES (22, 2); -INSERT INTO `system_roles_menus` VALUES (23, 1); -INSERT INTO `system_roles_menus` VALUES (23, 2); -INSERT INTO `system_roles_menus` VALUES (24, 1); -INSERT INTO `system_roles_menus` VALUES (24, 2); -INSERT INTO `system_roles_menus` VALUES (27, 1); -INSERT INTO `system_roles_menus` VALUES (27, 2); -INSERT INTO `system_roles_menus` VALUES (28, 1); -INSERT INTO `system_roles_menus` VALUES (33, 1); -INSERT INTO `system_roles_menus` VALUES (33, 2); -INSERT INTO `system_roles_menus` VALUES (34, 1); -INSERT INTO `system_roles_menus` VALUES (34, 2); -INSERT INTO `system_roles_menus` VALUES (35, 1); -INSERT INTO `system_roles_menus` VALUES (36, 1); -INSERT INTO `system_roles_menus` VALUES (36, 2); -INSERT INTO `system_roles_menus` VALUES (36, 7); -INSERT INTO `system_roles_menus` VALUES (37, 1); -INSERT INTO `system_roles_menus` VALUES (39, 1); -INSERT INTO `system_roles_menus` VALUES (41, 1); -INSERT INTO `system_roles_menus` VALUES (44, 1); -INSERT INTO `system_roles_menus` VALUES (45, 1); -INSERT INTO `system_roles_menus` VALUES (46, 1); -INSERT INTO `system_roles_menus` VALUES (48, 1); -INSERT INTO `system_roles_menus` VALUES (49, 1); -INSERT INTO `system_roles_menus` VALUES (50, 1); -INSERT INTO `system_roles_menus` VALUES (52, 1); -INSERT INTO `system_roles_menus` VALUES (53, 1); -INSERT INTO `system_roles_menus` VALUES (54, 1); -INSERT INTO `system_roles_menus` VALUES (56, 1); -INSERT INTO `system_roles_menus` VALUES (57, 1); -INSERT INTO `system_roles_menus` VALUES (58, 1); -INSERT INTO `system_roles_menus` VALUES (60, 1); -INSERT INTO `system_roles_menus` VALUES (61, 1); -INSERT INTO `system_roles_menus` VALUES (62, 1); -INSERT INTO `system_roles_menus` VALUES (64, 1); -INSERT INTO `system_roles_menus` VALUES (65, 1); -INSERT INTO `system_roles_menus` VALUES (66, 1); -INSERT INTO `system_roles_menus` VALUES (73, 1); -INSERT INTO `system_roles_menus` VALUES (74, 1); -INSERT INTO `system_roles_menus` VALUES (75, 1); -INSERT INTO `system_roles_menus` VALUES (77, 1); -INSERT INTO `system_roles_menus` VALUES (77, 2); -INSERT INTO `system_roles_menus` VALUES (77, 7); -INSERT INTO `system_roles_menus` VALUES (78, 1); -INSERT INTO `system_roles_menus` VALUES (78, 2); -INSERT INTO `system_roles_menus` VALUES (78, 7); -INSERT INTO `system_roles_menus` VALUES (79, 1); -INSERT INTO `system_roles_menus` VALUES (79, 2); -INSERT INTO `system_roles_menus` VALUES (79, 7); -INSERT INTO `system_roles_menus` VALUES (80, 1); -INSERT INTO `system_roles_menus` VALUES (80, 2); -INSERT INTO `system_roles_menus` VALUES (83, 1); -INSERT INTO `system_roles_menus` VALUES (83, 2); -INSERT INTO `system_roles_menus` VALUES (117, 1); -INSERT INTO `system_roles_menus` VALUES (117, 2); -INSERT INTO `system_roles_menus` VALUES (118, 1); -INSERT INTO `system_roles_menus` VALUES (118, 2); -INSERT INTO `system_roles_menus` VALUES (119, 1); -INSERT INTO `system_roles_menus` VALUES (119, 2); -INSERT INTO `system_roles_menus` VALUES (120, 1); -INSERT INTO `system_roles_menus` VALUES (120, 2); -INSERT INTO `system_roles_menus` VALUES (121, 1); -INSERT INTO `system_roles_menus` VALUES (121, 2); -INSERT INTO `system_roles_menus` VALUES (122, 1); -INSERT INTO `system_roles_menus` VALUES (122, 2); -INSERT INTO `system_roles_menus` VALUES (125, 1); - --- ---------------------------- --- Table structure for system_user --- ---------------------------- -DROP TABLE IF EXISTS `system_user`; -CREATE TABLE `system_user` ( - `user_id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID', - `dept_id` bigint(0) NULL DEFAULT NULL COMMENT '部门名称', - `username` varchar(180) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名', - `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称', - `gender` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '性别', - `phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号码', - `email` varchar(180) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱', - `avatar_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像地址', - `avatar_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像真实路径', - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码', - `is_admin` bit(1) NULL DEFAULT b'0' COMMENT '是否为admin账号', - `enabled` bit(1) NULL DEFAULT NULL COMMENT '状态:1启用、0禁用', - `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', - `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', - `pwd_reset_time` datetime(0) NULL DEFAULT NULL COMMENT '修改密码的时间', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建日期', - `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`user_id`) USING BTREE, - UNIQUE INDEX `uniq_email`(`email`) USING BTREE, - UNIQUE INDEX `uniq_username`(`username`) USING BTREE, - INDEX `idx_dept_id`(`dept_id`) USING BTREE, - INDEX `idx_enabled`(`enabled`) USING BTREE, - INDEX `uniq_phone`(`phone`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统用户' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of system_user --- ---------------------------- -INSERT INTO `system_user` VALUES (1, 2, 'admin', '管理员', '男', '18888888888', '1943815081@qq.com', '', '', '$2a$10$Egp1/gvFlt7zhlXVfEFw4OfWQCGPw0ClmMcc6FjTnvXNRVf9zdMRa', b'1', b'1', 'admin', 'admin', '2020-05-03 16:38:31', '2025-01-05 00:00:00', '2025-01-05 00:00:00'); -INSERT INTO `system_user` VALUES (3, 2, '测试', '测试', '男', '18888888881', '188888@qq.com', NULL, NULL, '$2a$10$DpAGWp3CYtYySPqJe.CnL.c/OCR0kkPLLAwAyID0yFHLamtYdYsvy', b'0', b'1', 'admin', 'admin', NULL, '2025-01-05 00:00:00', '2025-01-05 00:00:00'); - --- ---------------------------- --- Table structure for system_users_jobs --- ---------------------------- -DROP TABLE IF EXISTS `system_users_jobs`; -CREATE TABLE `system_users_jobs` ( - `user_id` bigint(0) NOT NULL COMMENT '用户ID', - `job_id` bigint(0) NOT NULL COMMENT '岗位ID', - PRIMARY KEY (`user_id`, `job_id`) USING BTREE, - INDEX `idx_user_id`(`user_id`) USING BTREE, - INDEX `idx_job_id`(`job_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户与岗位关联表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of system_users_jobs --- ---------------------------- -INSERT INTO `system_users_jobs` VALUES (1, 11); -INSERT INTO `system_users_jobs` VALUES (3, 11); - --- ---------------------------- --- Table structure for system_users_roles --- ---------------------------- -DROP TABLE IF EXISTS `system_users_roles`; -CREATE TABLE `system_users_roles` ( - `user_id` bigint(0) NOT NULL COMMENT '用户ID', - `role_id` bigint(0) NOT NULL COMMENT '角色ID', - PRIMARY KEY (`user_id`, `role_id`) USING BTREE, - INDEX `idx_user_id`(`user_id`) USING BTREE, - INDEX `idx_role_id`(`role_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户角色关联' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of system_users_roles --- ---------------------------- -INSERT INTO `system_users_roles` VALUES (1, 1); -INSERT INTO `system_users_roles` VALUES (3, 2); - --- ---------------------------- --- Table structure for tool_email_config --- ---------------------------- -DROP TABLE IF EXISTS `tool_email_config`; -CREATE TABLE `tool_email_config` ( - `config_id` bigint(0) NOT NULL COMMENT 'ID', - `from_user` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收件人', - `host` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮件服务器SMTP地址', - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码', - `port` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '端口', - `user` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发件者用户名', - PRIMARY KEY (`config_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '邮箱配置' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of tool_email_config --- ---------------------------- - --- ---------------------------- --- Table structure for tool_local_storage --- ---------------------------- -DROP TABLE IF EXISTS `tool_local_storage`; -CREATE TABLE `tool_local_storage` ( - `id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID', - `real_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件真实的名称', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件名', - `suffix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '后缀', - `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路径', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型', - `size` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '大小', - `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', - `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建日期', - `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '本地存储' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of tool_local_storage --- ---------------------------- -INSERT INTO `tool_local_storage` VALUES (11, 'bg-202504100131576.jpg', 'bg', 'jpg', 'C:\\cutejava\\file\\image\\bg-202504100131576.jpg', 'image', '20.20MB ', 'admin', 'admin', '2025-04-10 13:32:00', '2025-04-10 13:32:00'); - --- ---------------------------- --- Table structure for tool_qiniu_config --- ---------------------------- -DROP TABLE IF EXISTS `tool_qiniu_config`; -CREATE TABLE `tool_qiniu_config` ( - `config_id` bigint(0) NOT NULL COMMENT 'ID', - `access_key` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'accessKey', - `bucket` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'Bucket 识别符', - `host` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '外链域名', - `secret_key` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'secretKey', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '空间类型', - `zone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '机房', - PRIMARY KEY (`config_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '七牛云配置' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of tool_qiniu_config --- ---------------------------- - --- ---------------------------- --- Table structure for tool_qiniu_content --- ---------------------------- -DROP TABLE IF EXISTS `tool_qiniu_content`; -CREATE TABLE `tool_qiniu_content` ( - `id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID', - `bucket` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'Bucket 识别符', - `name` varchar(180) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件名称', - `size` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件大小', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件类型:私有或公开', - `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件url', - `suffix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件后缀', - `update_time` datetime(0) NULL DEFAULT NULL COMMENT '上传或同步的时间', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uniq_name`(`name`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '七牛云文件存储' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of tool_qiniu_content --- ---------------------------- - -SET FOREIGN_KEY_CHECKS = 1;