From c10113636a2418992a1e76319d1214ce0b02b267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=AD=E6=B3=B3=E8=BE=B0?= <312189607@qq.com> Date: Fri, 19 Jan 2024 14:02:34 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=8C=85=E8=B7=AF?= =?UTF-8?q?=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- milkbox-app/src/main/java/top/milkbox/Application.java | 3 ++- .../{ => app}/core/config/CommonConfiguration.java | 2 +- .../milkbox/{ => app}/core/config/MybatisPlusConfig.java | 2 +- .../{ => app}/core/handler/GlobalControllerAdvice.java | 8 ++++---- .../core/handler/mybatisPlus/MyMetaObjectHandler.java | 4 ++-- .../milkbox/{ => common}/enums/CommonDeleteFlagEnum.java | 2 +- .../milkbox/{ => common}/enums/CommonSortTypeEnum.java | 4 ++-- .../milkbox/{ => common}/enums/CommonStatusCodeEnum.java | 2 +- .../{ => common}/exceprion/CommonServiceException.java | 2 +- .../java/top/milkbox/{ => common}/pojo/CommonEntity.java | 4 ++-- .../top/milkbox/{ => common}/pojo/CommonPageParam.java | 4 ++-- .../java/top/milkbox/{ => common}/pojo/CommonResult.java | 4 ++-- .../java/top/milkbox/{ => common}/pojo/CommonVo.java | 2 +- .../java/top/milkbox/{ => common}/utils/CommonUtil.java | 2 +- .../src/main/java/top/milkbox/log/core/aop/LogAop.java | 9 +++++++++ .../log/modular/main/controller/LogMainController.java | 2 +- .../milkbox/log/modular/main/entity/LogMainEntity.java | 2 +- .../milkbox/log/modular/main/param/LogMainPageParam.java | 2 +- .../modular/main/service/impl/LogMainServiceImpl.java | 6 +++--- .../java/top/milkbox/log/modular/main/vo/LogMainVo.java | 2 +- .../sys/modular/role/controller/SysRoleController.java | 2 +- .../milkbox/sys/modular/role/entity/SysRoleEntity.java | 2 +- .../milkbox/sys/modular/role/param/SysRolePageParam.java | 2 +- .../modular/role/service/impl/SysRoleServiceImpl.java | 6 +++--- .../java/top/milkbox/sys/modular/role/vo/SysRoleVo.java | 2 +- .../top/milkbox/modular/controller/TestController.java | 4 ++-- .../main/java/top/milkbox/modular/entity/SysRole.java | 3 +-- 27 files changed, 49 insertions(+), 40 deletions(-) rename milkbox-app/src/main/java/top/milkbox/{ => app}/core/config/CommonConfiguration.java (75%) rename milkbox-app/src/main/java/top/milkbox/{ => app}/core/config/MybatisPlusConfig.java (96%) rename milkbox-app/src/main/java/top/milkbox/{ => app}/core/handler/GlobalControllerAdvice.java (95%) rename milkbox-app/src/main/java/top/milkbox/{ => app}/core/handler/mybatisPlus/MyMetaObjectHandler.java (92%) rename milkbox-common/src/main/java/top/milkbox/{ => common}/enums/CommonDeleteFlagEnum.java (92%) rename milkbox-common/src/main/java/top/milkbox/{ => common}/enums/CommonSortTypeEnum.java (87%) rename milkbox-common/src/main/java/top/milkbox/{ => common}/enums/CommonStatusCodeEnum.java (94%) rename milkbox-common/src/main/java/top/milkbox/{ => common}/exceprion/CommonServiceException.java (93%) rename milkbox-common/src/main/java/top/milkbox/{ => common}/pojo/CommonEntity.java (93%) rename milkbox-common/src/main/java/top/milkbox/{ => common}/pojo/CommonPageParam.java (95%) rename milkbox-common/src/main/java/top/milkbox/{ => common}/pojo/CommonResult.java (94%) rename milkbox-common/src/main/java/top/milkbox/{ => common}/pojo/CommonVo.java (95%) rename milkbox-common/src/main/java/top/milkbox/{ => common}/utils/CommonUtil.java (99%) create mode 100644 milkbox-service/service-log/src/main/java/top/milkbox/log/core/aop/LogAop.java diff --git a/milkbox-app/src/main/java/top/milkbox/Application.java b/milkbox-app/src/main/java/top/milkbox/Application.java index 2b378d4..37e8e2c 100644 --- a/milkbox-app/src/main/java/top/milkbox/Application.java +++ b/milkbox-app/src/main/java/top/milkbox/Application.java @@ -10,12 +10,13 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.config.annotation.EnableWebMvc; -import top.milkbox.pojo.CommonResult; +import top.milkbox.common.pojo.CommonResult; import java.util.Date; import java.util.TimeZone; /** + * springboot启动类,注意这个类必须在top.milkbox包下面,不能再往里了 * 创建时间: 2023-12-26 下午 5:54 * * @author milkbox diff --git a/milkbox-app/src/main/java/top/milkbox/core/config/CommonConfiguration.java b/milkbox-app/src/main/java/top/milkbox/app/core/config/CommonConfiguration.java similarity index 75% rename from milkbox-app/src/main/java/top/milkbox/core/config/CommonConfiguration.java rename to milkbox-app/src/main/java/top/milkbox/app/core/config/CommonConfiguration.java index e0c0875..56ad6b7 100644 --- a/milkbox-app/src/main/java/top/milkbox/core/config/CommonConfiguration.java +++ b/milkbox-app/src/main/java/top/milkbox/app/core/config/CommonConfiguration.java @@ -1,4 +1,4 @@ -package top.milkbox.core.config; +package top.milkbox.app.core.config; import org.springframework.context.annotation.Configuration; diff --git a/milkbox-app/src/main/java/top/milkbox/core/config/MybatisPlusConfig.java b/milkbox-app/src/main/java/top/milkbox/app/core/config/MybatisPlusConfig.java similarity index 96% rename from milkbox-app/src/main/java/top/milkbox/core/config/MybatisPlusConfig.java rename to milkbox-app/src/main/java/top/milkbox/app/core/config/MybatisPlusConfig.java index 6b5c37f..f17188e 100644 --- a/milkbox-app/src/main/java/top/milkbox/core/config/MybatisPlusConfig.java +++ b/milkbox-app/src/main/java/top/milkbox/app/core/config/MybatisPlusConfig.java @@ -1,4 +1,4 @@ -package top.milkbox.core.config; +package top.milkbox.app.core.config; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; diff --git a/milkbox-app/src/main/java/top/milkbox/core/handler/GlobalControllerAdvice.java b/milkbox-app/src/main/java/top/milkbox/app/core/handler/GlobalControllerAdvice.java similarity index 95% rename from milkbox-app/src/main/java/top/milkbox/core/handler/GlobalControllerAdvice.java rename to milkbox-app/src/main/java/top/milkbox/app/core/handler/GlobalControllerAdvice.java index cb7a531..1a9d226 100644 --- a/milkbox-app/src/main/java/top/milkbox/core/handler/GlobalControllerAdvice.java +++ b/milkbox-app/src/main/java/top/milkbox/app/core/handler/GlobalControllerAdvice.java @@ -1,4 +1,4 @@ -package top.milkbox.core.handler; +package top.milkbox.app.core.handler; import cn.hutool.core.util.StrUtil; import lombok.extern.slf4j.Slf4j; @@ -8,9 +8,9 @@ import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.*; import org.springframework.web.method.annotation.HandlerMethodValidationException; -import top.milkbox.enums.CommonStatusCodeEnum; -import top.milkbox.exceprion.CommonServiceException; -import top.milkbox.pojo.CommonResult; +import top.milkbox.common.enums.CommonStatusCodeEnum; +import top.milkbox.common.exceprion.CommonServiceException; +import top.milkbox.common.pojo.CommonResult; import java.util.Arrays; diff --git a/milkbox-app/src/main/java/top/milkbox/core/handler/mybatisPlus/MyMetaObjectHandler.java b/milkbox-app/src/main/java/top/milkbox/app/core/handler/mybatisPlus/MyMetaObjectHandler.java similarity index 92% rename from milkbox-app/src/main/java/top/milkbox/core/handler/mybatisPlus/MyMetaObjectHandler.java rename to milkbox-app/src/main/java/top/milkbox/app/core/handler/mybatisPlus/MyMetaObjectHandler.java index 6e45b9b..a425dcb 100644 --- a/milkbox-app/src/main/java/top/milkbox/core/handler/mybatisPlus/MyMetaObjectHandler.java +++ b/milkbox-app/src/main/java/top/milkbox/app/core/handler/mybatisPlus/MyMetaObjectHandler.java @@ -1,10 +1,10 @@ -package top.milkbox.core.handler.mybatisPlus; +package top.milkbox.app.core.handler.mybatisPlus; import cn.hutool.core.date.DateTime; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; -import top.milkbox.enums.CommonDeleteFlagEnum; +import top.milkbox.common.enums.CommonDeleteFlagEnum; import java.util.Date; diff --git a/milkbox-common/src/main/java/top/milkbox/enums/CommonDeleteFlagEnum.java b/milkbox-common/src/main/java/top/milkbox/common/enums/CommonDeleteFlagEnum.java similarity index 92% rename from milkbox-common/src/main/java/top/milkbox/enums/CommonDeleteFlagEnum.java rename to milkbox-common/src/main/java/top/milkbox/common/enums/CommonDeleteFlagEnum.java index 824a6d6..fda145a 100644 --- a/milkbox-common/src/main/java/top/milkbox/enums/CommonDeleteFlagEnum.java +++ b/milkbox-common/src/main/java/top/milkbox/common/enums/CommonDeleteFlagEnum.java @@ -1,4 +1,4 @@ -package top.milkbox.enums; +package top.milkbox.common.enums; import com.baomidou.mybatisplus.annotation.IEnum; import lombok.AllArgsConstructor; diff --git a/milkbox-common/src/main/java/top/milkbox/enums/CommonSortTypeEnum.java b/milkbox-common/src/main/java/top/milkbox/common/enums/CommonSortTypeEnum.java similarity index 87% rename from milkbox-common/src/main/java/top/milkbox/enums/CommonSortTypeEnum.java rename to milkbox-common/src/main/java/top/milkbox/common/enums/CommonSortTypeEnum.java index 83c8678..8297eca 100644 --- a/milkbox-common/src/main/java/top/milkbox/enums/CommonSortTypeEnum.java +++ b/milkbox-common/src/main/java/top/milkbox/common/enums/CommonSortTypeEnum.java @@ -1,8 +1,8 @@ -package top.milkbox.enums; +package top.milkbox.common.enums; import lombok.AllArgsConstructor; import lombok.Getter; -import top.milkbox.exceprion.CommonServiceException; +import top.milkbox.common.exceprion.CommonServiceException; /** * 排序方式枚举 diff --git a/milkbox-common/src/main/java/top/milkbox/enums/CommonStatusCodeEnum.java b/milkbox-common/src/main/java/top/milkbox/common/enums/CommonStatusCodeEnum.java similarity index 94% rename from milkbox-common/src/main/java/top/milkbox/enums/CommonStatusCodeEnum.java rename to milkbox-common/src/main/java/top/milkbox/common/enums/CommonStatusCodeEnum.java index 57de696..e263ded 100644 --- a/milkbox-common/src/main/java/top/milkbox/enums/CommonStatusCodeEnum.java +++ b/milkbox-common/src/main/java/top/milkbox/common/enums/CommonStatusCodeEnum.java @@ -1,4 +1,4 @@ -package top.milkbox.enums; +package top.milkbox.common.enums; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/milkbox-common/src/main/java/top/milkbox/exceprion/CommonServiceException.java b/milkbox-common/src/main/java/top/milkbox/common/exceprion/CommonServiceException.java similarity index 93% rename from milkbox-common/src/main/java/top/milkbox/exceprion/CommonServiceException.java rename to milkbox-common/src/main/java/top/milkbox/common/exceprion/CommonServiceException.java index f162588..5482884 100644 --- a/milkbox-common/src/main/java/top/milkbox/exceprion/CommonServiceException.java +++ b/milkbox-common/src/main/java/top/milkbox/common/exceprion/CommonServiceException.java @@ -1,4 +1,4 @@ -package top.milkbox.exceprion; +package top.milkbox.common.exceprion; import cn.hutool.core.util.StrUtil; diff --git a/milkbox-common/src/main/java/top/milkbox/pojo/CommonEntity.java b/milkbox-common/src/main/java/top/milkbox/common/pojo/CommonEntity.java similarity index 93% rename from milkbox-common/src/main/java/top/milkbox/pojo/CommonEntity.java rename to milkbox-common/src/main/java/top/milkbox/common/pojo/CommonEntity.java index b423847..76af006 100644 --- a/milkbox-common/src/main/java/top/milkbox/pojo/CommonEntity.java +++ b/milkbox-common/src/main/java/top/milkbox/common/pojo/CommonEntity.java @@ -1,11 +1,11 @@ -package top.milkbox.pojo; +package top.milkbox.common.pojo; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableLogic; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import top.milkbox.enums.CommonDeleteFlagEnum; +import top.milkbox.common.enums.CommonDeleteFlagEnum; import java.io.Serializable; import java.util.Date; diff --git a/milkbox-common/src/main/java/top/milkbox/pojo/CommonPageParam.java b/milkbox-common/src/main/java/top/milkbox/common/pojo/CommonPageParam.java similarity index 95% rename from milkbox-common/src/main/java/top/milkbox/pojo/CommonPageParam.java rename to milkbox-common/src/main/java/top/milkbox/common/pojo/CommonPageParam.java index 14834bf..d9eb586 100644 --- a/milkbox-common/src/main/java/top/milkbox/pojo/CommonPageParam.java +++ b/milkbox-common/src/main/java/top/milkbox/common/pojo/CommonPageParam.java @@ -1,4 +1,4 @@ -package top.milkbox.pojo; +package top.milkbox.common.pojo; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.v3.oas.annotations.media.Schema; @@ -6,7 +6,7 @@ import jakarta.validation.constraints.DecimalMax; import jakarta.validation.constraints.DecimalMin; import lombok.*; import lombok.extern.slf4j.Slf4j; -import top.milkbox.enums.CommonSortTypeEnum; +import top.milkbox.common.enums.CommonSortTypeEnum; import java.io.Serializable; diff --git a/milkbox-common/src/main/java/top/milkbox/pojo/CommonResult.java b/milkbox-common/src/main/java/top/milkbox/common/pojo/CommonResult.java similarity index 94% rename from milkbox-common/src/main/java/top/milkbox/pojo/CommonResult.java rename to milkbox-common/src/main/java/top/milkbox/common/pojo/CommonResult.java index 0469bf7..641331b 100644 --- a/milkbox-common/src/main/java/top/milkbox/pojo/CommonResult.java +++ b/milkbox-common/src/main/java/top/milkbox/common/pojo/CommonResult.java @@ -1,10 +1,10 @@ -package top.milkbox.pojo; +package top.milkbox.common.pojo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import top.milkbox.enums.CommonStatusCodeEnum; +import top.milkbox.common.enums.CommonStatusCodeEnum; import java.io.Serializable; diff --git a/milkbox-common/src/main/java/top/milkbox/pojo/CommonVo.java b/milkbox-common/src/main/java/top/milkbox/common/pojo/CommonVo.java similarity index 95% rename from milkbox-common/src/main/java/top/milkbox/pojo/CommonVo.java rename to milkbox-common/src/main/java/top/milkbox/common/pojo/CommonVo.java index f5e093c..0570b3e 100644 --- a/milkbox-common/src/main/java/top/milkbox/pojo/CommonVo.java +++ b/milkbox-common/src/main/java/top/milkbox/common/pojo/CommonVo.java @@ -1,4 +1,4 @@ -package top.milkbox.pojo; +package top.milkbox.common.pojo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/milkbox-common/src/main/java/top/milkbox/utils/CommonUtil.java b/milkbox-common/src/main/java/top/milkbox/common/utils/CommonUtil.java similarity index 99% rename from milkbox-common/src/main/java/top/milkbox/utils/CommonUtil.java rename to milkbox-common/src/main/java/top/milkbox/common/utils/CommonUtil.java index ff805e6..39b7fd5 100644 --- a/milkbox-common/src/main/java/top/milkbox/utils/CommonUtil.java +++ b/milkbox-common/src/main/java/top/milkbox/common/utils/CommonUtil.java @@ -1,4 +1,4 @@ -package top.milkbox.utils; +package top.milkbox.common.utils; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.lang.tree.Tree; diff --git a/milkbox-service/service-log/src/main/java/top/milkbox/log/core/aop/LogAop.java b/milkbox-service/service-log/src/main/java/top/milkbox/log/core/aop/LogAop.java new file mode 100644 index 0000000..808a7ec --- /dev/null +++ b/milkbox-service/service-log/src/main/java/top/milkbox/log/core/aop/LogAop.java @@ -0,0 +1,9 @@ +package top.milkbox.log.core.aop; + +/** + * 创建时间: 2024-01-19 下午 2:01 + * + * @author milkbox + */ +public class LogAop { +} diff --git a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/controller/LogMainController.java b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/controller/LogMainController.java index 4ae1155..0b20be1 100644 --- a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/controller/LogMainController.java +++ b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/controller/LogMainController.java @@ -14,7 +14,7 @@ import top.milkbox.log.modular.main.param.LogMainIdParam; import top.milkbox.log.modular.main.param.LogMainPageParam; import top.milkbox.log.modular.main.service.LogMainService; import top.milkbox.log.modular.main.vo.LogMainVo; -import top.milkbox.pojo.CommonResult; +import top.milkbox.common.pojo.CommonResult; import java.util.List; diff --git a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/entity/LogMainEntity.java b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/entity/LogMainEntity.java index 04fb3e5..7b6ad19 100644 --- a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/entity/LogMainEntity.java +++ b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/entity/LogMainEntity.java @@ -7,7 +7,7 @@ import lombok.Data; import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import top.milkbox.pojo.CommonEntity; +import top.milkbox.common.pojo.CommonEntity; import java.io.Serializable; diff --git a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/param/LogMainPageParam.java b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/param/LogMainPageParam.java index 1e60bf6..2f383f7 100644 --- a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/param/LogMainPageParam.java +++ b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/param/LogMainPageParam.java @@ -5,7 +5,7 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import top.milkbox.pojo.CommonPageParam; +import top.milkbox.common.pojo.CommonPageParam; import java.io.Serializable; diff --git a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/service/impl/LogMainServiceImpl.java b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/service/impl/LogMainServiceImpl.java index c7e4e1d..d7fef6f 100644 --- a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/service/impl/LogMainServiceImpl.java +++ b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/service/impl/LogMainServiceImpl.java @@ -9,8 +9,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import top.milkbox.enums.CommonSortTypeEnum; -import top.milkbox.exceprion.CommonServiceException; +import top.milkbox.common.enums.CommonSortTypeEnum; +import top.milkbox.common.exceprion.CommonServiceException; import top.milkbox.log.modular.main.entity.LogMainEntity; import top.milkbox.log.modular.main.mapper.LogMainMapper; import top.milkbox.log.modular.main.param.LogMainAddParam; @@ -19,7 +19,7 @@ import top.milkbox.log.modular.main.param.LogMainIdParam; import top.milkbox.log.modular.main.param.LogMainPageParam; import top.milkbox.log.modular.main.service.LogMainService; import top.milkbox.log.modular.main.vo.LogMainVo; -import top.milkbox.utils.CommonUtil; +import top.milkbox.common.utils.CommonUtil; import java.util.List; diff --git a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/vo/LogMainVo.java b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/vo/LogMainVo.java index 9fc998f..948ee79 100644 --- a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/vo/LogMainVo.java +++ b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/vo/LogMainVo.java @@ -5,7 +5,7 @@ import lombok.Data; import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import top.milkbox.pojo.CommonVo; +import top.milkbox.common.pojo.CommonVo; import java.io.Serializable; diff --git a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/controller/SysRoleController.java b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/controller/SysRoleController.java index 1c2bbe7..97b02d3 100644 --- a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/controller/SysRoleController.java +++ b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/controller/SysRoleController.java @@ -14,7 +14,7 @@ import top.milkbox.sys.modular.role.param.SysRoleIdParam; import top.milkbox.sys.modular.role.param.SysRolePageParam; import top.milkbox.sys.modular.role.service.SysRoleService; import top.milkbox.sys.modular.role.vo.SysRoleVo; -import top.milkbox.pojo.CommonResult; +import top.milkbox.common.pojo.CommonResult; import java.util.List; diff --git a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/entity/SysRoleEntity.java b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/entity/SysRoleEntity.java index 08bec08..8711ad5 100644 --- a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/entity/SysRoleEntity.java +++ b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/entity/SysRoleEntity.java @@ -7,7 +7,7 @@ import lombok.Data; import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import top.milkbox.pojo.CommonEntity; +import top.milkbox.common.pojo.CommonEntity; import java.io.Serializable; diff --git a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRolePageParam.java b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRolePageParam.java index 33d1e84..0c8570a 100644 --- a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRolePageParam.java +++ b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRolePageParam.java @@ -5,7 +5,7 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import top.milkbox.pojo.CommonPageParam; +import top.milkbox.common.pojo.CommonPageParam; import java.io.Serializable; diff --git a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/service/impl/SysRoleServiceImpl.java b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/service/impl/SysRoleServiceImpl.java index ed83f85..703b519 100644 --- a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/service/impl/SysRoleServiceImpl.java +++ b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/service/impl/SysRoleServiceImpl.java @@ -9,8 +9,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import top.milkbox.enums.CommonSortTypeEnum; -import top.milkbox.exceprion.CommonServiceException; +import top.milkbox.common.enums.CommonSortTypeEnum; +import top.milkbox.common.exceprion.CommonServiceException; import top.milkbox.sys.modular.role.entity.SysRoleEntity; import top.milkbox.sys.modular.role.mapper.SysRoleMapper; import top.milkbox.sys.modular.role.param.SysRoleAddParam; @@ -19,7 +19,7 @@ import top.milkbox.sys.modular.role.param.SysRoleIdParam; import top.milkbox.sys.modular.role.param.SysRolePageParam; import top.milkbox.sys.modular.role.service.SysRoleService; import top.milkbox.sys.modular.role.vo.SysRoleVo; -import top.milkbox.utils.CommonUtil; +import top.milkbox.common.utils.CommonUtil; import java.util.List; diff --git a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/vo/SysRoleVo.java b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/vo/SysRoleVo.java index 4d88f67..ce9e517 100644 --- a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/vo/SysRoleVo.java +++ b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/vo/SysRoleVo.java @@ -5,7 +5,7 @@ import lombok.Data; import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import top.milkbox.pojo.CommonVo; +import top.milkbox.common.pojo.CommonVo; import java.io.Serializable; diff --git a/milkbox-service/service-test/src/main/java/top/milkbox/modular/controller/TestController.java b/milkbox-service/service-test/src/main/java/top/milkbox/modular/controller/TestController.java index 838d031..7d7e7f6 100644 --- a/milkbox-service/service-test/src/main/java/top/milkbox/modular/controller/TestController.java +++ b/milkbox-service/service-test/src/main/java/top/milkbox/modular/controller/TestController.java @@ -8,8 +8,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import top.milkbox.modular.entity.SysRole; -import top.milkbox.pojo.CommonPageParam; -import top.milkbox.pojo.CommonResult; +import top.milkbox.common.pojo.CommonPageParam; +import top.milkbox.common.pojo.CommonResult; /** * 创建时间: 2023-12-27 下午 2:48 diff --git a/milkbox-service/service-test/src/main/java/top/milkbox/modular/entity/SysRole.java b/milkbox-service/service-test/src/main/java/top/milkbox/modular/entity/SysRole.java index ffb7b9c..ca8e965 100644 --- a/milkbox-service/service-test/src/main/java/top/milkbox/modular/entity/SysRole.java +++ b/milkbox-service/service-test/src/main/java/top/milkbox/modular/entity/SysRole.java @@ -7,10 +7,9 @@ import lombok.Data; import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import top.milkbox.pojo.CommonEntity; +import top.milkbox.common.pojo.CommonEntity; import java.io.Serializable; -import java.util.Date; /** * 系统_角色表 -- Gitee From 9fd38946165c52dc69eecb41f266373c5767f5b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=AD=E6=B3=B3=E8=BE=B0?= <312189607@qq.com> Date: Tue, 23 Jan 2024 15:00:31 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=B3=A8=E8=A7=A3?= =?UTF-8?q?=E9=83=A8=E5=88=86=E5=9F=BA=E7=A1=80=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/handler/GlobalControllerAdvice.java | 2 +- .../milkbox/common/annotation/CommonLog.java | 46 ++++++++ .../common/enums/CommonStatusCodeEnum.java | 2 +- .../milkbox/common/enums/LogCategoryEnum.java | 47 ++++++++ .../milkbox/common/enums/LogLevelEnum.java | 43 +++++++ .../top/milkbox/common/enums/LogTypeEnum.java | 43 +++++++ .../top/milkbox/common/utils/NetUtil.java | 35 ++++++ .../java/top/milkbox/log/core/aop/LogAop.java | 53 +++++++++ .../log/core/config/LogConfiguration.java | 36 ++++++ .../main/controller/LogMainController.java | 16 ++- .../modular/main/entity/LogMainEntity.java | 37 +++--- .../modular/main/param/LogMainAddParam.java | 32 ++--- .../modular/main/param/LogMainEditParam.java | 32 ++--- .../modular/main/param/LogMainPageParam.java | 29 ++--- .../modular/main/service/LogMainService.java | 17 +++ .../main/service/impl/LogMainServiceImpl.java | 110 +++++++++++++++++- .../log/modular/main/vo/LogMainVo.java | 29 ++--- .../sys/core/config/SysConfiguration.java | 13 +++ .../role/controller/SysRoleController.java | 16 ++- .../modular/role/entity/SysRoleEntity.java | 4 +- .../modular/role/mapper/SysRoleMapper.java | 2 +- .../modular/role/param/SysRoleAddParam.java | 2 +- .../modular/role/param/SysRoleEditParam.java | 2 +- .../modular/role/param/SysRoleIdParam.java | 2 +- .../modular/role/param/SysRolePageParam.java | 2 +- .../modular/role/service/SysRoleService.java | 2 +- .../role/service/impl/SysRoleServiceImpl.java | 2 +- .../sys/modular/role/vo/SysRoleVo.java | 2 +- pom.xml | 23 +++- 29 files changed, 591 insertions(+), 90 deletions(-) create mode 100644 milkbox-common/src/main/java/top/milkbox/common/annotation/CommonLog.java create mode 100644 milkbox-common/src/main/java/top/milkbox/common/enums/LogCategoryEnum.java create mode 100644 milkbox-common/src/main/java/top/milkbox/common/enums/LogLevelEnum.java create mode 100644 milkbox-common/src/main/java/top/milkbox/common/enums/LogTypeEnum.java create mode 100644 milkbox-common/src/main/java/top/milkbox/common/utils/NetUtil.java create mode 100644 milkbox-service/service-log/src/main/java/top/milkbox/log/core/config/LogConfiguration.java create mode 100644 milkbox-service/service-sys/src/main/java/top/milkbox/sys/core/config/SysConfiguration.java diff --git a/milkbox-app/src/main/java/top/milkbox/app/core/handler/GlobalControllerAdvice.java b/milkbox-app/src/main/java/top/milkbox/app/core/handler/GlobalControllerAdvice.java index 1a9d226..1636594 100644 --- a/milkbox-app/src/main/java/top/milkbox/app/core/handler/GlobalControllerAdvice.java +++ b/milkbox-app/src/main/java/top/milkbox/app/core/handler/GlobalControllerAdvice.java @@ -83,7 +83,7 @@ public class GlobalControllerAdvice { // 请求参数的格式错误 else if (exception instanceof HttpMessageNotReadableException httpMessageNotReadableException) { String errorMessage = "请求参数格式错误(" + httpMessageNotReadableException.getMessage() + ")"; - log.warn(errorMessage, exception); + log.warn(errorMessage); return new CommonResult<>(CommonStatusCodeEnum.ERROR415.getCode(), CommonStatusCodeEnum.ERROR415.getMessage(), errorMessage); } diff --git a/milkbox-common/src/main/java/top/milkbox/common/annotation/CommonLog.java b/milkbox-common/src/main/java/top/milkbox/common/annotation/CommonLog.java new file mode 100644 index 0000000..a093ef2 --- /dev/null +++ b/milkbox-common/src/main/java/top/milkbox/common/annotation/CommonLog.java @@ -0,0 +1,46 @@ +package top.milkbox.common.annotation; + +import top.milkbox.common.enums.LogLevelEnum; +import top.milkbox.common.enums.LogTypeEnum; + +import java.lang.annotation.*; + +/** + * 创建时间: 2024-01-19 下午 2:06 + * + * @author milkbox + */ +@Documented +@Target(ElementType.METHOD) // 仅作用于方法上 +@Retention(RetentionPolicy.RUNTIME) +public @interface CommonLog { + + /** + * 日志名称 + */ + String value() default ""; + + /** + * 日志级别 + * + * @return 默认返回INFO级别 + */ + LogLevelEnum level() default LogLevelEnum.INFO; + + /** + * 日志的详细描述 + */ + String description() default ""; + + /** + * 模块名称 + */ + String module() default ""; + + /** + * 日志的类型 + * + * @return 默认返回空 + */ + LogTypeEnum type() default LogTypeEnum.NOT; +} diff --git a/milkbox-common/src/main/java/top/milkbox/common/enums/CommonStatusCodeEnum.java b/milkbox-common/src/main/java/top/milkbox/common/enums/CommonStatusCodeEnum.java index e263ded..014bb4d 100644 --- a/milkbox-common/src/main/java/top/milkbox/common/enums/CommonStatusCodeEnum.java +++ b/milkbox-common/src/main/java/top/milkbox/common/enums/CommonStatusCodeEnum.java @@ -17,7 +17,7 @@ public enum CommonStatusCodeEnum { ERROR403("403", "无权限"), ERROR404("404", "路径不存在"), ERROR405("405", "请求方法不正确"), - ERROR415("415", "参数类型"), + ERROR415("415", "参数类型错误"), ERROR500("500", "未知异常"), ERROR506("506", "业务逻辑异常"); diff --git a/milkbox-common/src/main/java/top/milkbox/common/enums/LogCategoryEnum.java b/milkbox-common/src/main/java/top/milkbox/common/enums/LogCategoryEnum.java new file mode 100644 index 0000000..5c524b7 --- /dev/null +++ b/milkbox-common/src/main/java/top/milkbox/common/enums/LogCategoryEnum.java @@ -0,0 +1,47 @@ +package top.milkbox.common.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.AllArgsConstructor; + +/** + * 日志分类枚举 + * 创建时间: 2024-01-19 下午 2:35 + * + * @author milkbox + */ +@AllArgsConstructor // 如果使用此注解,请勿随意修改成员变量的定义顺序 +public enum LogCategoryEnum { + + /** + * 表示日志是接口类型的 + */ + API("接口", "API"), + + /** + * 表示日志是一个普通方法的 + */ + METHOD("方法", "METHOD"); + + private final String label; + + @EnumValue // mybatis-plus控制数据库字段,数据库中保存的字段。如果数据库中的字段与不在枚举中则返回空 + private final String value; + + public String getLabel() { + return label; + } + + @JsonValue // jackson的标识,用于json转枚举的时候使用的字段 + public String getValue() { + return value; + } + + /** + * 枚举对象转为json的时候,字段的值 + */ + @Override + public String toString() { + return value; + } +} diff --git a/milkbox-common/src/main/java/top/milkbox/common/enums/LogLevelEnum.java b/milkbox-common/src/main/java/top/milkbox/common/enums/LogLevelEnum.java new file mode 100644 index 0000000..033a518 --- /dev/null +++ b/milkbox-common/src/main/java/top/milkbox/common/enums/LogLevelEnum.java @@ -0,0 +1,43 @@ +package top.milkbox.common.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.AllArgsConstructor; + +/** + * 日志级别枚举 + * 创建时间: 2024-01-22 下午 12:03 + * + * @author milkbox + */ +@AllArgsConstructor // 如果使用此注解,请勿随意修改成员变量的定义顺序 +public enum LogLevelEnum { + + TRACE("跟踪", "TRACE"), + INFO("信息", "INFO"), + DEBUG("调试", "DEBUG"), + WARN("警告", "WARN"), + ERROR("错误", "ERROR"); + + private final String label; + + @EnumValue // mybatis-plus控制数据库字段,数据库中保存的字段。如果数据库中的字段与不在枚举中则返回空 + private final String value; + + public String getLabel() { + return label; + } + + @JsonValue // jackson的标识,用于json转枚举的时候使用的字段 + public String getValue() { + return value; + } + + /** + * 枚举对象转为json的时候,字段的值 + */ + @Override + public String toString() { + return value; + } +} diff --git a/milkbox-common/src/main/java/top/milkbox/common/enums/LogTypeEnum.java b/milkbox-common/src/main/java/top/milkbox/common/enums/LogTypeEnum.java new file mode 100644 index 0000000..901037f --- /dev/null +++ b/milkbox-common/src/main/java/top/milkbox/common/enums/LogTypeEnum.java @@ -0,0 +1,43 @@ +package top.milkbox.common.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.AllArgsConstructor; + +/** + * 日志类型枚举 + * 创建时间: 2024-01-22 下午 12:03 + * + * @author milkbox + */ +@AllArgsConstructor // 如果使用此注解,请勿随意修改成员变量的定义顺序 +public enum LogTypeEnum { + + INSERT("添加", "INSERT"), + DELETE("删除", "DELETE"), + UPDATE("修改", "UPDATE"), + SELECT("查询", "SELECT"), + NOT("无", null); + + private final String label; + + @EnumValue // mybatis-plus控制数据库字段,数据库中保存的字段。如果数据库中的字段与不在枚举中则返回空 + private final String value; + + public String getLabel() { + return label; + } + + @JsonValue // jackson的标识,用于json转枚举的时候使用的字段 + public String getValue() { + return value; + } + + /** + * 枚举对象转为json的时候,字段的值 + */ + @Override + public String toString() { + return value; + } +} diff --git a/milkbox-common/src/main/java/top/milkbox/common/utils/NetUtil.java b/milkbox-common/src/main/java/top/milkbox/common/utils/NetUtil.java new file mode 100644 index 0000000..7ffd30c --- /dev/null +++ b/milkbox-common/src/main/java/top/milkbox/common/utils/NetUtil.java @@ -0,0 +1,35 @@ +package top.milkbox.common.utils; + +import jakarta.servlet.http.HttpServletRequest; + +/** + * 创建时间: 2024-01-23 上午 10:40 + * + * @author milkbox + */ +public class NetUtil { + + + /** + * 获取用户的真实ip地址 + * + * @param request request对象 + * @return 返回StringIp + */ + public static String getRealIp(HttpServletRequest request) { + String ip = request.getHeader("x-forwarded-for"); + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + } + + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + + return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : ip; + } +} diff --git a/milkbox-service/service-log/src/main/java/top/milkbox/log/core/aop/LogAop.java b/milkbox-service/service-log/src/main/java/top/milkbox/log/core/aop/LogAop.java index 808a7ec..3b01a98 100644 --- a/milkbox-service/service-log/src/main/java/top/milkbox/log/core/aop/LogAop.java +++ b/milkbox-service/service-log/src/main/java/top/milkbox/log/core/aop/LogAop.java @@ -1,9 +1,62 @@ package top.milkbox.log.core.aop; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.aspectj.lang.reflect.MethodSignature; +import org.springframework.stereotype.Component; +import top.milkbox.log.modular.main.service.LogMainService; + /** + * 日志注解的切点处理 * 创建时间: 2024-01-19 下午 2:01 * * @author milkbox */ +@Slf4j +@Aspect +@Component +@AllArgsConstructor public class LogAop { + + private LogMainService logMainService; + + /** + * 抽取切点,抽取所有被注解CommonLog修饰的方法 + */ + @Pointcut("@annotation(top.milkbox.common.annotation.CommonLog)") + public void logPointcut() { + } + + /** + * 环绕通知 + * + * @param joinPoint 切点 + * @return 切点方法的返回值 + */ + @Around("LogAop.logPointcut()") + public Object logAround(ProceedingJoinPoint joinPoint) { + MethodSignature signature = (MethodSignature) joinPoint.getSignature(); + Object result; + // 这里只能捕获到对应方法内部发生的异常 + // 如果在controller方法上使用注解,是无法捕获到springboot对于参数操作时期发生的异常 + // 无法捕获请求体转json和返回值转json时期的异常 + try { + result = joinPoint.proceed(); + logMainService.saveNormalLogAsync(joinPoint, result); + } catch (Throwable throwable) { + logMainService.saveThrowableLogAsync(joinPoint, throwable); + // 需要继续抛出异常 + throw new RuntimeException(throwable); + } + return result; + } + +// @After("LogAop.logPointcut()") +// public void logAfter(JoinPoint joinPoint) { +// log.warn("后置通知"); +// } } diff --git a/milkbox-service/service-log/src/main/java/top/milkbox/log/core/config/LogConfiguration.java b/milkbox-service/service-log/src/main/java/top/milkbox/log/core/config/LogConfiguration.java new file mode 100644 index 0000000..bd83995 --- /dev/null +++ b/milkbox-service/service-log/src/main/java/top/milkbox/log/core/config/LogConfiguration.java @@ -0,0 +1,36 @@ +package top.milkbox.log.core.config; + +import cn.hutool.core.thread.ExecutorBuilder; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.LinkedBlockingQueue; + +/** + * 创建时间: 2024-01-22 下午 3:13 + * + * @author milkbox + */ +@Slf4j +@Configuration +public class LogConfiguration { + public static final String MODULE_NAME = "日志模块"; + + /** + * 初始线程5,最大线程10,线程超过10以后等待,等待队列最大100个 + * 主要用于异步保存日志信息 + * + * @return 返回一个线程池 + */ + @Bean("logExecutorService") + public ExecutorService createExecutorService() { + log.info("创建日志线程池......"); + return ExecutorBuilder.create() + .setCorePoolSize(5) + .setMaxPoolSize(10) + .setWorkQueue(new LinkedBlockingQueue<>(100)) + .build(); + } +} diff --git a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/controller/LogMainController.java b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/controller/LogMainController.java index 0b20be1..3694e1d 100644 --- a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/controller/LogMainController.java +++ b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/controller/LogMainController.java @@ -8,6 +8,9 @@ import jakarta.validation.constraints.Size; import lombok.AllArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import top.milkbox.common.annotation.CommonLog; +import top.milkbox.common.enums.LogTypeEnum; +import top.milkbox.log.core.config.LogConfiguration; import top.milkbox.log.modular.main.param.LogMainAddParam; import top.milkbox.log.modular.main.param.LogMainEditParam; import top.milkbox.log.modular.main.param.LogMainIdParam; @@ -22,7 +25,7 @@ import java.util.List; * 日志主表(log_main)控制器 * * @author milkbox - * @date 2024-1-18 + * @date 2024-1-23 */ @RestController @AllArgsConstructor @@ -32,8 +35,10 @@ public class LogMainController { private LogMainService logMainService; - @PutMapping("/add") + @PostMapping("/add") @Operation(summary = "添加", description = "添加一条数据") + @CommonLog(value = "添加", description = "添加一条数据", + module = LogConfiguration.MODULE_NAME, type = LogTypeEnum.INSERT) public CommonResult add(@Validated @RequestBody LogMainAddParam addParam) { logMainService.add(addParam); return CommonResult.ok(); @@ -41,6 +46,7 @@ public class LogMainController { @DeleteMapping("/delete") @Operation(summary = "批量删除") + @CommonLog(value = "批量删除", module = LogConfiguration.MODULE_NAME, type = LogTypeEnum.DELETE) public CommonResult delete( @Validated @RequestBody @@ -53,6 +59,8 @@ public class LogMainController { @PutMapping("/edit") @Operation(summary = "修改", description = "修改一条数据") + @CommonLog(value = "修改", description = "修改一条数据", + module = LogConfiguration.MODULE_NAME, type = LogTypeEnum.UPDATE) public CommonResult edit(@Validated @RequestBody LogMainEditParam editParam) { logMainService.edit(editParam); return CommonResult.ok(); @@ -60,12 +68,16 @@ public class LogMainController { @GetMapping("/detail") @Operation(summary = "详情", description = "查询一条数据的详情") + @CommonLog(value = "详情", description = "查询一条数据的详情", + module = LogConfiguration.MODULE_NAME, type = LogTypeEnum.SELECT) public CommonResult detail(@Validated LogMainIdParam idParam) { return CommonResult.ok(logMainService.detail(idParam)); } @GetMapping("/page") @Operation(summary = "分页查询", description = "查询条件分页查询") + @CommonLog(value = "分页查询", description = "查询条件分页查询", + module = LogConfiguration.MODULE_NAME, type = LogTypeEnum.SELECT) public CommonResult> page(@Validated LogMainPageParam pageParam) { return CommonResult.ok(logMainService.page(pageParam)); } diff --git a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/entity/LogMainEntity.java b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/entity/LogMainEntity.java index 7b6ad19..fbe93d6 100644 --- a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/entity/LogMainEntity.java +++ b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/entity/LogMainEntity.java @@ -1,12 +1,17 @@ package top.milkbox.log.modular.main.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import top.milkbox.common.enums.LogCategoryEnum; +import top.milkbox.common.enums.LogLevelEnum; +import top.milkbox.common.enums.LogTypeEnum; import top.milkbox.common.pojo.CommonEntity; import java.io.Serializable; @@ -21,7 +26,7 @@ import java.io.Serializable; @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) -@TableName("log_main") +@TableName(value = "log_main", autoResultMap = true) @Schema(description = "LogMainEntity 日志_日志主表。") public class LogMainEntity extends CommonEntity implements Serializable { @@ -34,11 +39,11 @@ public class LogMainEntity extends CommonEntity implements Serializable { private Integer id; /** - * 日志分类;暂定为枚举类型,api日志还是其他方法的日志,取值api和method,具体还要考虑一下 + * 日志分类;暂定为枚举类型,api日志还是其他方法的日志,取值api和method */ @Schema(title = "日志分类", - description = "日志分类。暂定为枚举类型,api日志还是其他方法的日志,取值api和method,具体还要考虑一下") - private String category; + description = "日志分类。暂定为枚举类型,api日志还是其他方法的日志,取值api和method") + private LogCategoryEnum category; /** * 日志名称;对日志做一个简单的描述 @@ -53,7 +58,7 @@ public class LogMainEntity extends CommonEntity implements Serializable { @Schema(title = "日志级别", description = "日志级别。枚举类型,INFO,DEBUG,ERROR等。默认值“'TRACE'”", example = "'TRACE'", defaultValue = "'TRACE'") - private String level; + private LogLevelEnum level; /** * 执行状态;1表示成功,0表示失败 @@ -82,7 +87,7 @@ public class LogMainEntity extends CommonEntity implements Serializable { */ @Schema(title = "操作的浏览器", description = "操作的浏览器") - private String operationBorwser; + private String operationBrowser; /** * 操作系统 @@ -99,18 +104,20 @@ public class LogMainEntity extends CommonEntity implements Serializable { private String requestUrl; /** - * 请求参数json类型;如果是api日志 + * 参数json类型 */ - @Schema(title = "请求参数json类型", - description = "请求参数json类型。如果是api日志") - private Object requestBodyJson; + @Schema(title = "参数json类型", + description = "请求参数json类型") + @TableField(typeHandler = JacksonTypeHandler.class) + private Object paramJson; /** - * 响应对象json类型;如果是api日志 + * 结果json类型 */ - @Schema(title = "响应对象json类型", - description = "响应对象json类型。如果是api日志") - private Object responseBodyJson; + @Schema(title = "结果json类型", + description = "响应对象json类型") + @TableField(typeHandler = JacksonTypeHandler.class) + private Object resultJson; /** * 模块名称 @@ -124,6 +131,6 @@ public class LogMainEntity extends CommonEntity implements Serializable { */ @Schema(title = "类型", description = "类型。枚举") - private String type; + private LogTypeEnum type; } \ No newline at end of file diff --git a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/param/LogMainAddParam.java b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/param/LogMainAddParam.java index 5a1fe0f..903c6b3 100644 --- a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/param/LogMainAddParam.java +++ b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/param/LogMainAddParam.java @@ -6,8 +6,10 @@ import lombok.AllArgsConstructor; import lombok.NoArgsConstructor; import java.io.Serializable; -import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; +import top.milkbox.common.enums.LogCategoryEnum; +import top.milkbox.common.enums.LogLevelEnum; +import top.milkbox.common.enums.LogTypeEnum; /** * 添加参数对象 @@ -24,8 +26,8 @@ public class LogMainAddParam implements Serializable { * 日志分类;暂定为枚举类型,api日志还是其他方法的日志,取值api和method,具体还要考虑一下 */ @Schema(title = "日志分类", - description = "日志分类。暂定为枚举类型,api日志还是其他方法的日志,取值api和method,具体还要考虑一下") - private String category; + description = "日志分类。暂定为枚举类型,api日志还是其他方法的日志,取值api和method") + private LogCategoryEnum category; /** * 日志名称;对日志做一个简单的描述 @@ -40,8 +42,8 @@ public class LogMainAddParam implements Serializable { @Schema(title = "日志级别", description = "日志级别。枚举类型,INFO,DEBUG,ERROR等。默认值“'TRACE'”", example = "'TRACE'", defaultValue = "'TRACE'") - @NotBlank(message = "日志级别不能为空") - private String level; + @NotNull(message = "日志级别不能为空") + private LogLevelEnum level; /** * 执行状态;1表示成功,0表示失败 @@ -71,7 +73,7 @@ public class LogMainAddParam implements Serializable { */ @Schema(title = "操作的浏览器", description = "操作的浏览器") - private String operationBorwser; + private String operationBrowser; /** * 操作系统 @@ -88,18 +90,18 @@ public class LogMainAddParam implements Serializable { private String requestUrl; /** - * 请求参数json类型;如果是api日志 + * 参数json类型 */ - @Schema(title = "请求参数json类型", - description = "请求参数json类型。如果是api日志") - private Object requestBodyJson; + @Schema(title = "参数json类型", + description = "请求参数json类型") + private Object paramJson; /** - * 响应对象json类型;如果是api日志 + * 结果json类型 */ - @Schema(title = "响应对象json类型", - description = "响应对象json类型。如果是api日志") - private Object responseBodyJson; + @Schema(title = "结果json类型", + description = "响应对象json类型") + private Object resultJson; /** * 模块名称 @@ -113,6 +115,6 @@ public class LogMainAddParam implements Serializable { */ @Schema(title = "类型", description = "类型。枚举") - private String type; + private LogTypeEnum type; } \ No newline at end of file diff --git a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/param/LogMainEditParam.java b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/param/LogMainEditParam.java index 629a270..afed3ea 100644 --- a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/param/LogMainEditParam.java +++ b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/param/LogMainEditParam.java @@ -7,7 +7,9 @@ import lombok.NoArgsConstructor; import java.io.Serializable; import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.NotBlank; +import top.milkbox.common.enums.LogCategoryEnum; +import top.milkbox.common.enums.LogLevelEnum; +import top.milkbox.common.enums.LogTypeEnum; /** * 编辑参数对象 @@ -32,8 +34,8 @@ public class LogMainEditParam implements Serializable { * 日志分类;暂定为枚举类型,api日志还是其他方法的日志,取值api和method,具体还要考虑一下 */ @Schema(title = "日志分类", - description = "日志分类。暂定为枚举类型,api日志还是其他方法的日志,取值api和method,具体还要考虑一下") - private String category; + description = "日志分类。暂定为枚举类型,api日志还是其他方法的日志,取值api和method") + private LogCategoryEnum category; /** * 日志名称;对日志做一个简单的描述 @@ -48,8 +50,8 @@ public class LogMainEditParam implements Serializable { @Schema(title = "日志级别", description = "日志级别。枚举类型,INFO,DEBUG,ERROR等。默认值“'TRACE'”", example = "'TRACE'", defaultValue = "'TRACE'") - @NotBlank(message = "日志级别不能为空") - private String level; + @NotNull(message = "日志级别不能为空") + private LogLevelEnum level; /** * 执行状态;1表示成功,0表示失败 @@ -79,7 +81,7 @@ public class LogMainEditParam implements Serializable { */ @Schema(title = "操作的浏览器", description = "操作的浏览器") - private String operationBorwser; + private String operationBrowser; /** * 操作系统 @@ -96,18 +98,18 @@ public class LogMainEditParam implements Serializable { private String requestUrl; /** - * 请求参数json类型;如果是api日志 + * 参数json类型 */ - @Schema(title = "请求参数json类型", - description = "请求参数json类型。如果是api日志") - private Object requestBodyJson; + @Schema(title = "参数json类型", + description = "请求参数json类型") + private Object paramJson; /** - * 响应对象json类型;如果是api日志 + * 结果json类型 */ - @Schema(title = "响应对象json类型", - description = "响应对象json类型。如果是api日志") - private Object responseBodyJson; + @Schema(title = "结果json类型", + description = "响应对象json类型") + private Object resultJson; /** * 模块名称 @@ -121,6 +123,6 @@ public class LogMainEditParam implements Serializable { */ @Schema(title = "类型", description = "类型。枚举") - private String type; + private LogTypeEnum type; } \ No newline at end of file diff --git a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/param/LogMainPageParam.java b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/param/LogMainPageParam.java index 2f383f7..e48bbf2 100644 --- a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/param/LogMainPageParam.java +++ b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/param/LogMainPageParam.java @@ -5,6 +5,9 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import top.milkbox.common.enums.LogCategoryEnum; +import top.milkbox.common.enums.LogLevelEnum; +import top.milkbox.common.enums.LogTypeEnum; import top.milkbox.common.pojo.CommonPageParam; import java.io.Serializable; @@ -25,8 +28,8 @@ public class LogMainPageParam extends CommonPageParam implements Serializable { * 日志分类;暂定为枚举类型,api日志还是其他方法的日志,取值api和method,具体还要考虑一下 */ @Schema(title = "日志分类", - description = "日志分类。暂定为枚举类型,api日志还是其他方法的日志,取值api和method,具体还要考虑一下") - private String category; + description = "日志分类。暂定为枚举类型,api日志还是其他方法的日志,取值api和method") + private LogCategoryEnum category; /** * 日志名称;对日志做一个简单的描述 @@ -40,7 +43,7 @@ public class LogMainPageParam extends CommonPageParam implements Serializable { */ @Schema(title = "日志级别", description = "日志级别。枚举类型,INFO,DEBUG,ERROR等") - private String level; + private LogLevelEnum level; /** * 执行状态;1表示成功,0表示失败 @@ -68,7 +71,7 @@ public class LogMainPageParam extends CommonPageParam implements Serializable { */ @Schema(title = "操作的浏览器", description = "操作的浏览器") - private String operationBorwser; + private String operationBrowser; /** * 操作系统 @@ -85,18 +88,18 @@ public class LogMainPageParam extends CommonPageParam implements Serializable { private String requestUrl; /** - * 请求参数json类型;如果是api日志 + * 参数json类型 */ - @Schema(title = "请求参数json类型", - description = "请求参数json类型。如果是api日志") - private Object requestBodyJson; + @Schema(title = "参数json类型", + description = "请求参数json类型") + private Object paramJson; /** - * 响应对象json类型;如果是api日志 + * 结果json类型 */ - @Schema(title = "响应对象json类型", - description = "响应对象json类型。如果是api日志") - private Object responseBodyJson; + @Schema(title = "结果json类型", + description = "响应对象json类型") + private Object resultJson; /** * 模块名称 @@ -110,6 +113,6 @@ public class LogMainPageParam extends CommonPageParam implements Serializable { */ @Schema(title = "类型", description = "类型。枚举") - private String type; + private LogTypeEnum type; } \ No newline at end of file diff --git a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/service/LogMainService.java b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/service/LogMainService.java index 7763b47..5de9d65 100644 --- a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/service/LogMainService.java +++ b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/service/LogMainService.java @@ -2,6 +2,7 @@ package top.milkbox.log.modular.main.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import org.aspectj.lang.ProceedingJoinPoint; import top.milkbox.log.modular.main.entity.LogMainEntity; import top.milkbox.log.modular.main.param.LogMainAddParam; import top.milkbox.log.modular.main.param.LogMainEditParam; @@ -64,4 +65,20 @@ public interface LogMainService extends IService { */ Page page(LogMainPageParam pageParam); + /** + * 异步保存日志 + * + * @param joinPoint 切点 + * @param result 方法的返回值 + */ + void saveNormalLogAsync(ProceedingJoinPoint joinPoint, Object result); + + /** + * 异步保存报错日志 + * + * @param joinPoint 切点 + * @param throwable 报错信息 + */ + void saveThrowableLogAsync(ProceedingJoinPoint joinPoint, Throwable throwable); + } \ No newline at end of file diff --git a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/service/impl/LogMainServiceImpl.java b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/service/impl/LogMainServiceImpl.java index d7fef6f..1a1e87b 100644 --- a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/service/impl/LogMainServiceImpl.java +++ b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/service/impl/LogMainServiceImpl.java @@ -3,13 +3,24 @@ package top.milkbox.log.modular.main.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.extra.servlet.JakartaServletUtil; +import cn.hutool.http.useragent.UserAgent; +import cn.hutool.http.useragent.UserAgentInfo; +import cn.hutool.http.useragent.UserAgentUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import lombok.AllArgsConstructor; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.reflect.MethodSignature; import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import top.milkbox.common.annotation.CommonLog; import top.milkbox.common.enums.CommonSortTypeEnum; +import top.milkbox.common.enums.LogCategoryEnum; import top.milkbox.common.exceprion.CommonServiceException; import top.milkbox.log.modular.main.entity.LogMainEntity; import top.milkbox.log.modular.main.mapper.LogMainMapper; @@ -21,7 +32,9 @@ import top.milkbox.log.modular.main.service.LogMainService; import top.milkbox.log.modular.main.vo.LogMainVo; import top.milkbox.common.utils.CommonUtil; +import java.lang.reflect.Method; import java.util.List; +import java.util.concurrent.ExecutorService; /** * 日志_日志主表(log_main)服务层实现类 @@ -31,11 +44,17 @@ import java.util.List; */ @Slf4j @Service -@AllArgsConstructor public class LogMainServiceImpl extends ServiceImpl implements LogMainService { private LogMainMapper logMainMapper; + public LogMainServiceImpl(LogMainMapper logMainMapper) { + this.logMainMapper = logMainMapper; + } + + @Resource(name = "logExecutorService") + private ExecutorService logExecute; + @Override public void add(LogMainAddParam addParam) { LogMainEntity entity = BeanUtil.toBean(addParam, LogMainEntity.class); @@ -96,4 +115,91 @@ public class LogMainServiceImpl extends ServiceImpl { + LogMainAddParam addParam = + createLogMainAddParam(servletRequestAttributes, joinPoint, result, null); + add(addParam); + }); + } + + @Override + public void saveThrowableLogAsync(ProceedingJoinPoint joinPoint, Throwable throwable) { + ServletRequestAttributes servletRequestAttributes + = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + logExecute.execute(() -> { + LogMainAddParam addParam = + createLogMainAddParam(servletRequestAttributes, joinPoint, null, throwable); + add(addParam); + }); + } + + /** + * 构建日志addParam对象 + * + * @param servletRequestAttributes 请求对象 + * @param joinPoint 切点 + * @param result 方法的返回值 + * @param throwable 抛出的异常,如果为空则表示没有发生异常,可以通过这个值判断方法的运行状况 + * @return 返回AddParam对象 + */ + private LogMainAddParam createLogMainAddParam( + ServletRequestAttributes servletRequestAttributes, ProceedingJoinPoint joinPoint, + Object result, Throwable throwable) { + MethodSignature signature = (MethodSignature) joinPoint.getSignature(); + Method method = signature.getMethod(); + CommonLog commonLog = method.getAnnotation(CommonLog.class); + + LogMainAddParam addParam = new LogMainAddParam(); + + // 状态信息 + addParam.setStatus(throwable == null ? 1 : 0); + + // 注解上的信息 + addParam.setName(commonLog.value()); + addParam.setLevel(commonLog.level()); + if (throwable != null) { + if (ObjectUtil.isNotNull(commonLog.description())) { + addParam.setDescription(commonLog.description() + "\n错误信息:\n" + throwable); + } else { + addParam.setDescription("错误信息:\n" + throwable); + } + } else { + addParam.setDescription(commonLog.description()); + } + addParam.setModule(commonLog.module()); + addParam.setType(commonLog.type()); + + // 是否有http请求对象 + if (ObjectUtil.isNotNull(servletRequestAttributes)) { + addParam.setCategory(LogCategoryEnum.API); + + HttpServletRequest request = servletRequestAttributes.getRequest(); + addParam.setRequestUrl(request.getRequestURL().toString()); + // addParam.setOperationIp(NetUtil.getRealIp(request)); // 自己的获取ip方式 + addParam.setOperationIp(JakartaServletUtil.getClientIP(request)); // 糊涂工具的获取ip方式 + + String userAgentString = JakartaServletUtil.getHeaderIgnoreCase( + request, "User-Agent"); + UserAgent userAgent = UserAgentUtil.parse(userAgentString); + if (userAgent.getBrowser().getName().equals(UserAgentInfo.NameUnknown)) { + addParam.setOperationBrowser(userAgentString); + } else { + addParam.setOperationBrowser(userAgent.getBrowser().getName()); + addParam.setOperationSystem(userAgent.getPlatform().getName()); + } + } else { + addParam.setCategory(LogCategoryEnum.METHOD); + } + + // 切点方法的参数数组 + addParam.setParamJson(joinPoint.getArgs()); + addParam.setResultJson(result); + + return addParam; + } + } \ No newline at end of file diff --git a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/vo/LogMainVo.java b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/vo/LogMainVo.java index 948ee79..4a7b395 100644 --- a/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/vo/LogMainVo.java +++ b/milkbox-service/service-log/src/main/java/top/milkbox/log/modular/main/vo/LogMainVo.java @@ -5,6 +5,9 @@ import lombok.Data; import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import top.milkbox.common.enums.LogCategoryEnum; +import top.milkbox.common.enums.LogLevelEnum; +import top.milkbox.common.enums.LogTypeEnum; import top.milkbox.common.pojo.CommonVo; import java.io.Serializable; @@ -33,8 +36,8 @@ public class LogMainVo extends CommonVo implements Serializable { * 日志分类;暂定为枚举类型,api日志还是其他方法的日志,取值api和method,具体还要考虑一下 */ @Schema(title = "日志分类", - description = "日志分类。暂定为枚举类型,api日志还是其他方法的日志,取值api和method,具体还要考虑一下") - private String category; + description = "日志分类。暂定为枚举类型,api日志还是其他方法的日志,取值api和method") + private LogCategoryEnum category; /** * 日志名称;对日志做一个简单的描述 @@ -49,7 +52,7 @@ public class LogMainVo extends CommonVo implements Serializable { @Schema(title = "日志级别", description = "日志级别。枚举类型,INFO,DEBUG,ERROR等。默认值“'TRACE'”", example = "'TRACE'", defaultValue = "'TRACE'") - private String level; + private LogLevelEnum level; /** * 执行状态;1表示成功,0表示失败 @@ -78,7 +81,7 @@ public class LogMainVo extends CommonVo implements Serializable { */ @Schema(title = "操作的浏览器", description = "操作的浏览器") - private String operationBorwser; + private String operationBrowser; /** * 操作系统 @@ -95,18 +98,18 @@ public class LogMainVo extends CommonVo implements Serializable { private String requestUrl; /** - * 请求参数json类型;如果是api日志 + * 参数json类型 */ - @Schema(title = "请求参数json类型", - description = "请求参数json类型。如果是api日志") - private Object requestBodyJson; + @Schema(title = "参数json类型", + description = "请求参数json类型") + private Object paramJson; /** - * 响应对象json类型;如果是api日志 + * 结果json类型 */ - @Schema(title = "响应对象json类型", - description = "响应对象json类型。如果是api日志") - private Object responseBodyJson; + @Schema(title = "结果json类型", + description = "响应对象json类型") + private Object resultJson; /** * 模块名称 @@ -120,6 +123,6 @@ public class LogMainVo extends CommonVo implements Serializable { */ @Schema(title = "类型", description = "类型。枚举") - private String type; + private LogTypeEnum type; } \ No newline at end of file diff --git a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/core/config/SysConfiguration.java b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/core/config/SysConfiguration.java new file mode 100644 index 0000000..27b999e --- /dev/null +++ b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/core/config/SysConfiguration.java @@ -0,0 +1,13 @@ +package top.milkbox.sys.core.config; + +import org.springframework.context.annotation.Configuration; + +/** + * 创建时间: 2024-01-22 下午 3:43 + * + * @author milkbox + */ +@Configuration +public class SysConfiguration { + public static final String MODULE_NAME = "系统模块"; +} diff --git a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/controller/SysRoleController.java b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/controller/SysRoleController.java index 97b02d3..3dd34a8 100644 --- a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/controller/SysRoleController.java +++ b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/controller/SysRoleController.java @@ -8,6 +8,9 @@ import jakarta.validation.constraints.Size; import lombok.AllArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import top.milkbox.common.annotation.CommonLog; +import top.milkbox.common.enums.LogTypeEnum; +import top.milkbox.sys.core.config.SysConfiguration; import top.milkbox.sys.modular.role.param.SysRoleAddParam; import top.milkbox.sys.modular.role.param.SysRoleEditParam; import top.milkbox.sys.modular.role.param.SysRoleIdParam; @@ -22,7 +25,7 @@ import java.util.List; * 角色表(sys_role)控制器 * * @author milkbox - * @date 2024-1-18 + * @date 2024-1-23 */ @RestController @AllArgsConstructor @@ -32,8 +35,10 @@ public class SysRoleController { private SysRoleService sysRoleService; - @PutMapping("/add") + @PostMapping("/add") @Operation(summary = "添加", description = "添加一条数据") + @CommonLog(value = "添加", description = "添加一条数据", + module = SysConfiguration.MODULE_NAME, type = LogTypeEnum.INSERT) public CommonResult add(@Validated @RequestBody SysRoleAddParam addParam) { sysRoleService.add(addParam); return CommonResult.ok(); @@ -41,6 +46,7 @@ public class SysRoleController { @DeleteMapping("/delete") @Operation(summary = "批量删除") + @CommonLog(value = "批量删除", module = SysConfiguration.MODULE_NAME, type = LogTypeEnum.DELETE) public CommonResult delete( @Validated @RequestBody @@ -53,6 +59,8 @@ public class SysRoleController { @PutMapping("/edit") @Operation(summary = "修改", description = "修改一条数据") + @CommonLog(value = "修改", description = "修改一条数据", + module = SysConfiguration.MODULE_NAME, type = LogTypeEnum.UPDATE) public CommonResult edit(@Validated @RequestBody SysRoleEditParam editParam) { sysRoleService.edit(editParam); return CommonResult.ok(); @@ -60,12 +68,16 @@ public class SysRoleController { @GetMapping("/detail") @Operation(summary = "详情", description = "查询一条数据的详情") + @CommonLog(value = "详情", description = "查询一条数据的详情", + module = SysConfiguration.MODULE_NAME, type = LogTypeEnum.SELECT) public CommonResult detail(@Validated SysRoleIdParam idParam) { return CommonResult.ok(sysRoleService.detail(idParam)); } @GetMapping("/page") @Operation(summary = "分页查询", description = "查询条件分页查询") + @CommonLog(value = "分页查询", description = "查询条件分页查询", + module = SysConfiguration.MODULE_NAME, type = LogTypeEnum.SELECT) public CommonResult> page(@Validated SysRolePageParam pageParam) { return CommonResult.ok(sysRoleService.page(pageParam)); } diff --git a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/entity/SysRoleEntity.java b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/entity/SysRoleEntity.java index 8711ad5..7382f11 100644 --- a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/entity/SysRoleEntity.java +++ b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/entity/SysRoleEntity.java @@ -15,13 +15,13 @@ import java.io.Serializable; * 系统_角色表 * * @author milkbox - * @date 2024-1-18 + * @date 2024-1-23 */ @Data @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) -@TableName("sys_role") +@TableName(value = "sys_role") @Schema(description = "SysRoleEntity 系统_角色表。") public class SysRoleEntity extends CommonEntity implements Serializable { diff --git a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/mapper/SysRoleMapper.java b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/mapper/SysRoleMapper.java index e31a552..b53d1d4 100644 --- a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/mapper/SysRoleMapper.java +++ b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/mapper/SysRoleMapper.java @@ -8,7 +8,7 @@ import top.milkbox.sys.modular.role.entity.SysRoleEntity; * 系统_角色表(sys_role)表数据库访问层 * * @author milkbox - * @date 2024-1-18 + * @date 2024-1-23 */ @Mapper public interface SysRoleMapper extends BaseMapper { diff --git a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRoleAddParam.java b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRoleAddParam.java index abf79e1..1daf298 100644 --- a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRoleAddParam.java +++ b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRoleAddParam.java @@ -12,7 +12,7 @@ import jakarta.validation.constraints.NotBlank; * 添加参数对象 * * @author milkbox - * @date 2024-1-18 + * @date 2024-1-23 */ @Data @NoArgsConstructor diff --git a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRoleEditParam.java b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRoleEditParam.java index 8b17553..42d7df7 100644 --- a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRoleEditParam.java +++ b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRoleEditParam.java @@ -13,7 +13,7 @@ import jakarta.validation.constraints.NotBlank; * 编辑参数对象 * * @author milkbox - * @date 2024-1-18 + * @date 2024-1-23 */ @Data @NoArgsConstructor diff --git a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRoleIdParam.java b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRoleIdParam.java index c0e1fe1..4002086 100644 --- a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRoleIdParam.java +++ b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRoleIdParam.java @@ -12,7 +12,7 @@ import java.io.Serializable; * 主键参数对象 * * @author milkbox - * @date 2024-1-18 + * @date 2024-1-23 */ @Data @NoArgsConstructor diff --git a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRolePageParam.java b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRolePageParam.java index 0c8570a..473bf14 100644 --- a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRolePageParam.java +++ b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/param/SysRolePageParam.java @@ -13,7 +13,7 @@ import java.io.Serializable; * 分页参数对象 * * @author milkbox - * @date 2024-1-18 + * @date 2024-1-23 */ @Data @NoArgsConstructor diff --git a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/service/SysRoleService.java b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/service/SysRoleService.java index 223219f..d30b545 100644 --- a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/service/SysRoleService.java +++ b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/service/SysRoleService.java @@ -15,7 +15,7 @@ import java.util.List; * 系统_角色表(sys_role)服务层接口 * * @author milkbox - * @date 2024-1-18 + * @date 2024-1-23 */ public interface SysRoleService extends IService { diff --git a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/service/impl/SysRoleServiceImpl.java b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/service/impl/SysRoleServiceImpl.java index 703b519..f18cdcb 100644 --- a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/service/impl/SysRoleServiceImpl.java +++ b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/service/impl/SysRoleServiceImpl.java @@ -27,7 +27,7 @@ import java.util.List; * 系统_角色表(sys_role)服务层实现类 * * @author milkbox - * @date 2024-1-18 + * @date 2024-1-23 */ @Slf4j @Service diff --git a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/vo/SysRoleVo.java b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/vo/SysRoleVo.java index ce9e517..f43a6ea 100644 --- a/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/vo/SysRoleVo.java +++ b/milkbox-service/service-sys/src/main/java/top/milkbox/sys/modular/role/vo/SysRoleVo.java @@ -13,7 +13,7 @@ import java.io.Serializable; * 系统_角色表默认vo * * @author milkbox - * @date 2024-1-18 + * @date 2024-1-23 */ @Data @NoArgsConstructor diff --git a/pom.xml b/pom.xml index 2074c63..96173ef 100644 --- a/pom.xml +++ b/pom.xml @@ -95,6 +95,7 @@ + com.mysql @@ -102,7 +103,7 @@ ${mysql-connector.version} - + org.slf4j slf4j-api @@ -121,6 +122,25 @@ ${hutool.version} + + + junit + junit + test + + + + + + + + + + + + + + @@ -137,6 +157,7 @@ 3.5.5 2.2.0 8.2.0 + -- Gitee