From 943ae581b888a2d74b81f46a2f28d71113c165e6 Mon Sep 17 00:00:00 2001 From: haoxr <1490493387@qq.com> Date: Tue, 19 Nov 2024 00:02:02 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E6=B3=A8=E8=A7=A3=E4=BB=8Ecommon?= =?UTF-8?q?=E7=A7=BB=E8=87=B3core=E5=8C=85=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../boot/common/base/BasePageQuery.java | 3 ++- .../annotation/DataPermission.java | 2 +- .../boot/{common => core}/annotation/Log.java | 2 +- .../annotation/RepeatSubmit.java | 2 +- .../youlai/boot/core/aspect/LogAspect.java | 4 ++-- .../boot/core/aspect/RepeatSubmitAspect.java | 2 +- .../core/handler/MyDataPermissionHandler.java | 2 +- .../auth/controller/AuthController.java | 2 +- .../codegen/controller/CodegenController.java | 2 +- .../system/controller/DeptController.java | 4 ++-- .../system/controller/DictController.java | 5 ++--- .../system/controller/DictDataController.java | 4 ++-- .../system/controller/MenuController.java | 4 ++-- .../system/controller/RoleController.java | 4 ++-- .../system/controller/UserController.java | 6 ++--- .../youlai/boot/system/mapper/DeptMapper.java | 2 +- .../youlai/boot/system/mapper/UserMapper.java | 2 +- .../system/model/query/UserPageQuery.java | 22 ++++++++++++++----- .../system/service/impl/DictServiceImpl.java | 5 +---- .../resources/mapper/system/UserMapper.xml | 10 +++++++++ 20 files changed, 53 insertions(+), 36 deletions(-) rename src/main/java/com/youlai/boot/{common => core}/annotation/DataPermission.java (92%) rename src/main/java/com/youlai/boot/{common => core}/annotation/Log.java (87%) rename src/main/java/com/youlai/boot/{common => core}/annotation/RepeatSubmit.java (91%) diff --git a/src/main/java/com/youlai/boot/common/base/BasePageQuery.java b/src/main/java/com/youlai/boot/common/base/BasePageQuery.java index edb32fd3..0f2d1188 100644 --- a/src/main/java/com/youlai/boot/common/base/BasePageQuery.java +++ b/src/main/java/com/youlai/boot/common/base/BasePageQuery.java @@ -19,10 +19,11 @@ public class BasePageQuery implements Serializable { @Serial private static final long serialVersionUID = 1L; - @Schema(description = "页码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") private int pageNum = 1; @Schema(description = "每页记录数", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") private int pageSize = 10; + + } diff --git a/src/main/java/com/youlai/boot/common/annotation/DataPermission.java b/src/main/java/com/youlai/boot/core/annotation/DataPermission.java similarity index 92% rename from src/main/java/com/youlai/boot/common/annotation/DataPermission.java rename to src/main/java/com/youlai/boot/core/annotation/DataPermission.java index 10f0d00a..54ade2bd 100644 --- a/src/main/java/com/youlai/boot/common/annotation/DataPermission.java +++ b/src/main/java/com/youlai/boot/core/annotation/DataPermission.java @@ -1,4 +1,4 @@ -package com.youlai.boot.common.annotation; +package com.youlai.boot.core.annotation; import java.lang.annotation.*; diff --git a/src/main/java/com/youlai/boot/common/annotation/Log.java b/src/main/java/com/youlai/boot/core/annotation/Log.java similarity index 87% rename from src/main/java/com/youlai/boot/common/annotation/Log.java rename to src/main/java/com/youlai/boot/core/annotation/Log.java index 05f267fc..61a3b60c 100644 --- a/src/main/java/com/youlai/boot/common/annotation/Log.java +++ b/src/main/java/com/youlai/boot/core/annotation/Log.java @@ -1,4 +1,4 @@ -package com.youlai.boot.common.annotation; +package com.youlai.boot.core.annotation; import com.youlai.boot.common.enums.LogModuleEnum; diff --git a/src/main/java/com/youlai/boot/common/annotation/RepeatSubmit.java b/src/main/java/com/youlai/boot/core/annotation/RepeatSubmit.java similarity index 91% rename from src/main/java/com/youlai/boot/common/annotation/RepeatSubmit.java rename to src/main/java/com/youlai/boot/core/annotation/RepeatSubmit.java index 39c71044..8f4b13fc 100644 --- a/src/main/java/com/youlai/boot/common/annotation/RepeatSubmit.java +++ b/src/main/java/com/youlai/boot/core/annotation/RepeatSubmit.java @@ -1,4 +1,4 @@ -package com.youlai.boot.common.annotation; +package com.youlai.boot.core.annotation; import java.lang.annotation.*; diff --git a/src/main/java/com/youlai/boot/core/aspect/LogAspect.java b/src/main/java/com/youlai/boot/core/aspect/LogAspect.java index 077e68f9..c4cc50cf 100644 --- a/src/main/java/com/youlai/boot/core/aspect/LogAspect.java +++ b/src/main/java/com/youlai/boot/core/aspect/LogAspect.java @@ -34,12 +34,12 @@ public class LogAspect { private final LogService logService; private final HttpServletRequest request; - @Pointcut("@annotation(com.youlai.boot.common.annotation.Log)") + @Pointcut("@annotation(com.youlai.boot.core.annotation.Log)") public void logPointcut() { } @Around("logPointcut() && @annotation(logAnnotation)") - public Object logExecutionTime(ProceedingJoinPoint joinPoint, com.youlai.boot.common.annotation.Log logAnnotation) throws Throwable { + public Object logExecutionTime(ProceedingJoinPoint joinPoint, com.youlai.boot.core.annotation.Log logAnnotation) throws Throwable { String requestURI = request.getRequestURI(); Long userId = null; diff --git a/src/main/java/com/youlai/boot/core/aspect/RepeatSubmitAspect.java b/src/main/java/com/youlai/boot/core/aspect/RepeatSubmitAspect.java index dbf783a2..12adc341 100644 --- a/src/main/java/com/youlai/boot/core/aspect/RepeatSubmitAspect.java +++ b/src/main/java/com/youlai/boot/core/aspect/RepeatSubmitAspect.java @@ -7,7 +7,7 @@ import com.youlai.boot.common.constant.RedisConstants; import com.youlai.boot.common.constant.SecurityConstants; import com.youlai.boot.common.result.ResultCode; import com.youlai.boot.common.exception.BusinessException; -import com.youlai.boot.common.annotation.RepeatSubmit; +import com.youlai.boot.core.annotation.RepeatSubmit; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/com/youlai/boot/core/handler/MyDataPermissionHandler.java b/src/main/java/com/youlai/boot/core/handler/MyDataPermissionHandler.java index 6995b0c0..7afefbf1 100644 --- a/src/main/java/com/youlai/boot/core/handler/MyDataPermissionHandler.java +++ b/src/main/java/com/youlai/boot/core/handler/MyDataPermissionHandler.java @@ -3,7 +3,7 @@ package com.youlai.boot.core.handler; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.toolkit.StringPool; import com.baomidou.mybatisplus.extension.plugins.handler.DataPermissionHandler; -import com.youlai.boot.common.annotation.DataPermission; +import com.youlai.boot.core.annotation.DataPermission; import com.youlai.boot.common.base.IBaseEnum; import com.youlai.boot.common.enums.DataScopeEnum; import com.youlai.boot.core.security.util.SecurityUtils; diff --git a/src/main/java/com/youlai/boot/shared/auth/controller/AuthController.java b/src/main/java/com/youlai/boot/shared/auth/controller/AuthController.java index 15713583..6defa625 100644 --- a/src/main/java/com/youlai/boot/shared/auth/controller/AuthController.java +++ b/src/main/java/com/youlai/boot/shared/auth/controller/AuthController.java @@ -6,7 +6,7 @@ import com.youlai.boot.shared.auth.model.RefreshTokenRequest; import com.youlai.boot.shared.auth.service.AuthService; import com.youlai.boot.shared.auth.model.CaptchaResponse; import com.youlai.boot.shared.auth.model.AuthTokenResponse; -import com.youlai.boot.common.annotation.Log; +import com.youlai.boot.core.annotation.Log; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/src/main/java/com/youlai/boot/shared/codegen/controller/CodegenController.java b/src/main/java/com/youlai/boot/shared/codegen/controller/CodegenController.java index 50119908..91276831 100644 --- a/src/main/java/com/youlai/boot/shared/codegen/controller/CodegenController.java +++ b/src/main/java/com/youlai/boot/shared/codegen/controller/CodegenController.java @@ -10,7 +10,7 @@ import com.youlai.boot.shared.codegen.model.form.GenConfigForm; import com.youlai.boot.shared.codegen.model.query.TablePageQuery; import com.youlai.boot.shared.codegen.model.vo.CodegenPreviewVO; import com.youlai.boot.shared.codegen.model.vo.TablePageVO; -import com.youlai.boot.common.annotation.Log; +import com.youlai.boot.core.annotation.Log; import com.youlai.boot.shared.codegen.service.GenConfigService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; diff --git a/src/main/java/com/youlai/boot/system/controller/DeptController.java b/src/main/java/com/youlai/boot/system/controller/DeptController.java index 68b62ecf..350b6ef0 100644 --- a/src/main/java/com/youlai/boot/system/controller/DeptController.java +++ b/src/main/java/com/youlai/boot/system/controller/DeptController.java @@ -1,13 +1,13 @@ package com.youlai.boot.system.controller; import com.youlai.boot.common.enums.LogModuleEnum; -import com.youlai.boot.common.annotation.RepeatSubmit; +import com.youlai.boot.core.annotation.RepeatSubmit; import com.youlai.boot.common.model.Option; import com.youlai.boot.common.result.Result; import com.youlai.boot.system.model.form.DeptForm; import com.youlai.boot.system.model.query.DeptQuery; import com.youlai.boot.system.model.vo.DeptVO; -import com.youlai.boot.common.annotation.Log; +import com.youlai.boot.core.annotation.Log; import com.youlai.boot.system.service.DeptService; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/src/main/java/com/youlai/boot/system/controller/DictController.java b/src/main/java/com/youlai/boot/system/controller/DictController.java index 654ac72c..090ed155 100644 --- a/src/main/java/com/youlai/boot/system/controller/DictController.java +++ b/src/main/java/com/youlai/boot/system/controller/DictController.java @@ -1,15 +1,14 @@ package com.youlai.boot.system.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.youlai.boot.common.model.Option; import com.youlai.boot.common.result.PageResult; import com.youlai.boot.common.result.Result; import com.youlai.boot.common.enums.LogModuleEnum; import com.youlai.boot.system.model.query.DictPageQuery; import com.youlai.boot.system.model.vo.DictPageVO; -import com.youlai.boot.common.annotation.RepeatSubmit; +import com.youlai.boot.core.annotation.RepeatSubmit; import com.youlai.boot.system.model.form.DictForm; -import com.youlai.boot.common.annotation.Log; +import com.youlai.boot.core.annotation.Log; import com.youlai.boot.system.model.vo.DictVO; import com.youlai.boot.system.service.DictService; import io.swagger.v3.oas.annotations.Parameter; diff --git a/src/main/java/com/youlai/boot/system/controller/DictDataController.java b/src/main/java/com/youlai/boot/system/controller/DictDataController.java index f99c8256..df04e3f3 100644 --- a/src/main/java/com/youlai/boot/system/controller/DictDataController.java +++ b/src/main/java/com/youlai/boot/system/controller/DictDataController.java @@ -1,8 +1,8 @@ package com.youlai.boot.system.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.youlai.boot.common.annotation.Log; -import com.youlai.boot.common.annotation.RepeatSubmit; +import com.youlai.boot.core.annotation.Log; +import com.youlai.boot.core.annotation.RepeatSubmit; import com.youlai.boot.common.enums.LogModuleEnum; import com.youlai.boot.common.model.Option; import com.youlai.boot.common.result.PageResult; diff --git a/src/main/java/com/youlai/boot/system/controller/MenuController.java b/src/main/java/com/youlai/boot/system/controller/MenuController.java index 22537cb7..8fc5ee5a 100644 --- a/src/main/java/com/youlai/boot/system/controller/MenuController.java +++ b/src/main/java/com/youlai/boot/system/controller/MenuController.java @@ -2,13 +2,13 @@ package com.youlai.boot.system.controller; import com.youlai.boot.common.result.Result; import com.youlai.boot.common.enums.LogModuleEnum; -import com.youlai.boot.common.annotation.RepeatSubmit; +import com.youlai.boot.core.annotation.RepeatSubmit; import com.youlai.boot.system.model.form.MenuForm; import com.youlai.boot.system.model.query.MenuQuery; import com.youlai.boot.system.model.vo.MenuVO; import com.youlai.boot.common.model.Option; import com.youlai.boot.system.model.vo.RouteVO; -import com.youlai.boot.common.annotation.Log; +import com.youlai.boot.core.annotation.Log; import com.youlai.boot.core.security.util.SecurityUtils; import com.youlai.boot.system.service.MenuService; import io.swagger.v3.oas.annotations.Operation; diff --git a/src/main/java/com/youlai/boot/system/controller/RoleController.java b/src/main/java/com/youlai/boot/system/controller/RoleController.java index 54cdcf33..8aef5cb3 100644 --- a/src/main/java/com/youlai/boot/system/controller/RoleController.java +++ b/src/main/java/com/youlai/boot/system/controller/RoleController.java @@ -2,14 +2,14 @@ package com.youlai.boot.system.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.youlai.boot.common.enums.LogModuleEnum; -import com.youlai.boot.common.annotation.RepeatSubmit; +import com.youlai.boot.core.annotation.RepeatSubmit; import com.youlai.boot.common.model.Option; import com.youlai.boot.common.result.PageResult; import com.youlai.boot.common.result.Result; import com.youlai.boot.system.model.form.RoleForm; import com.youlai.boot.system.model.query.RolePageQuery; import com.youlai.boot.system.model.vo.RolePageVO; -import com.youlai.boot.common.annotation.Log; +import com.youlai.boot.core.annotation.Log; import com.youlai.boot.system.service.RoleService; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/src/main/java/com/youlai/boot/system/controller/UserController.java b/src/main/java/com/youlai/boot/system/controller/UserController.java index 49041d39..8be58dc7 100644 --- a/src/main/java/com/youlai/boot/system/controller/UserController.java +++ b/src/main/java/com/youlai/boot/system/controller/UserController.java @@ -4,8 +4,8 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.youlai.boot.common.annotation.Log; -import com.youlai.boot.common.annotation.RepeatSubmit; +import com.youlai.boot.core.annotation.Log; +import com.youlai.boot.core.annotation.RepeatSubmit; import com.youlai.boot.system.enums.ContactType; import com.youlai.boot.common.enums.LogModuleEnum; import com.youlai.boot.common.model.Option; @@ -60,7 +60,7 @@ public class UserController { @GetMapping("/page") @Log(value = "用户分页列表", module = LogModuleEnum.USER) public PageResult getUserPage( - UserPageQuery queryParams + @Valid UserPageQuery queryParams ) { IPage result = userService.getUserPage(queryParams); return PageResult.success(result); diff --git a/src/main/java/com/youlai/boot/system/mapper/DeptMapper.java b/src/main/java/com/youlai/boot/system/mapper/DeptMapper.java index e00f27bf..2906244e 100644 --- a/src/main/java/com/youlai/boot/system/mapper/DeptMapper.java +++ b/src/main/java/com/youlai/boot/system/mapper/DeptMapper.java @@ -3,7 +3,7 @@ package com.youlai.boot.system.mapper; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.Constants; -import com.youlai.boot.common.annotation.DataPermission; +import com.youlai.boot.core.annotation.DataPermission; import com.youlai.boot.system.model.entity.Dept; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; diff --git a/src/main/java/com/youlai/boot/system/mapper/UserMapper.java b/src/main/java/com/youlai/boot/system/mapper/UserMapper.java index ac96a464..a1534127 100644 --- a/src/main/java/com/youlai/boot/system/mapper/UserMapper.java +++ b/src/main/java/com/youlai/boot/system/mapper/UserMapper.java @@ -6,7 +6,7 @@ import com.youlai.boot.system.model.bo.UserBO; import com.youlai.boot.system.model.entity.User; import com.youlai.boot.system.model.query.UserPageQuery; import com.youlai.boot.system.model.form.UserForm; -import com.youlai.boot.common.annotation.DataPermission; +import com.youlai.boot.core.annotation.DataPermission; import com.youlai.boot.system.model.dto.UserAuthInfo; import com.youlai.boot.system.model.dto.UserExportDTO; import org.apache.ibatis.annotations.Mapper; diff --git a/src/main/java/com/youlai/boot/system/model/query/UserPageQuery.java b/src/main/java/com/youlai/boot/system/model/query/UserPageQuery.java index 1d9b9fbc..6405339b 100644 --- a/src/main/java/com/youlai/boot/system/model/query/UserPageQuery.java +++ b/src/main/java/com/youlai/boot/system/model/query/UserPageQuery.java @@ -1,6 +1,8 @@ package com.youlai.boot.system.model.query; +import cn.hutool.db.sql.Direction; import com.youlai.boot.common.base.BasePageQuery; +import com.youlai.boot.core.annotation.ValidField; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -15,22 +17,30 @@ import java.util.List; */ @Data @EqualsAndHashCode(callSuper = false) -@Schema(description ="用户分页查询对象") +@Schema(description = "用户分页查询对象") public class UserPageQuery extends BasePageQuery { - @Schema(description="关键字(用户名/昵称/手机号)") + @Schema(description = "关键字(用户名/昵称/手机号)") private String keywords; - @Schema(description="用户状态") + @Schema(description = "用户状态") private Integer status; - @Schema(description="部门ID") + @Schema(description = "部门ID") private Long deptId; - @Schema(description="角色ID") + @Schema(description = "角色ID") private List roleIds; - @Schema(description="创建时间范围") + @Schema(description = "创建时间范围") private List createTime; + @Schema(description = "排序的字段") + @ValidField(allowedValues = {"create_time","update_time"}) + private String field; + + @Schema(description = "排序方式(正序:ASC;反序:DESC)") + private Direction direction; + + } diff --git a/src/main/java/com/youlai/boot/system/service/impl/DictServiceImpl.java b/src/main/java/com/youlai/boot/system/service/impl/DictServiceImpl.java index 5e647be7..84348af2 100644 --- a/src/main/java/com/youlai/boot/system/service/impl/DictServiceImpl.java +++ b/src/main/java/com/youlai/boot/system/service/impl/DictServiceImpl.java @@ -1,8 +1,6 @@ package com.youlai.boot.system.service.impl; -import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; -import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -15,7 +13,6 @@ import com.youlai.boot.system.model.entity.DictData; import com.youlai.boot.system.model.form.DictForm; import com.youlai.boot.system.model.query.DictPageQuery; import com.youlai.boot.system.model.vo.DictPageVO; -import com.youlai.boot.common.model.Option; import com.youlai.boot.system.model.vo.DictVO; import com.youlai.boot.system.service.DictDataService; import com.youlai.boot.system.service.DictService; @@ -23,7 +20,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.*; +import java.util.List; /** * 数据字典业务实现类 diff --git a/src/main/resources/mapper/system/UserMapper.xml b/src/main/resources/mapper/system/UserMapper.xml index 1ad91b7c..d508315a 100644 --- a/src/main/resources/mapper/system/UserMapper.xml +++ b/src/main/resources/mapper/system/UserMapper.xml @@ -62,6 +62,16 @@ GROUP BY u.id + + + + ORDER BY u.${queryParams.field} ${queryParams.direction} + + + + ORDER BY u.update_time DESC, u.create_time DESC + +