From c7ae0385a05c78d67d1c83864a8bac3c09889ee2 Mon Sep 17 00:00:00 2001 From: zhuangtianxiang <2913129173@qq.com> Date: Fri, 24 Jan 2025 18:29:33 +0800 Subject: [PATCH] =?UTF-8?q?refactor(system):=20=E4=BC=98=E5=8C=96=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD=E5=B9=B6=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E9=83=A8=E9=97=A8=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除了Dept实体中的members字段 - 删除了DeptMapper.xml中的members相关映射 - 移除了DeptTree类 - 更新了gateway.sql和sys_user.sql以添加用户数据 - 优化了UserController中的用户查询方法,支持按部门ID查询 - 更新了UserMapper.xml以适应新的查询逻辑 - 调整了UserQuery类,使用部门ID列表替代单个部门ID --- .../system/controller/UserController.java | 18 +++++++------ .../gateway/modules/system/entity/Dept.java | 3 --- .../modules/system/query/UserQuery.java | 8 ++++-- .../gateway/modules/system/vo/DeptTree.java | 25 ------------------- src/main/resources/db/gateway.sql | 12 +++++++++ .../resources/db/gateway/public/sys_user.sql | 19 +++++++------- .../resources/mappers/system/DeptMapper.xml | 20 ++------------- .../resources/mappers/system/UserMapper.xml | 5 ++-- 8 files changed, 43 insertions(+), 67 deletions(-) delete mode 100644 src/main/java/com/zsc/edu/gateway/modules/system/vo/DeptTree.java diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/controller/UserController.java b/src/main/java/com/zsc/edu/gateway/modules/system/controller/UserController.java index a099c8f..de55e38 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/controller/UserController.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/controller/UserController.java @@ -3,28 +3,28 @@ package com.zsc.edu.gateway.modules.system.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.sun.source.tree.Tree; import com.zsc.edu.gateway.framework.mybatisplus.DataPermission; import com.zsc.edu.gateway.framework.security.UserDetailsImpl; import com.zsc.edu.gateway.modules.system.dto.UserCreateDto; import com.zsc.edu.gateway.modules.system.dto.UserSelfUpdateDto; import com.zsc.edu.gateway.modules.system.dto.UserSelfUpdatePasswordDto; import com.zsc.edu.gateway.modules.system.dto.UserUpdateDto; -import com.zsc.edu.gateway.modules.system.entity.Authority; -import com.zsc.edu.gateway.modules.system.entity.Menu; -import com.zsc.edu.gateway.modules.system.entity.Role; -import com.zsc.edu.gateway.modules.system.entity.User; +import com.zsc.edu.gateway.modules.system.entity.*; import com.zsc.edu.gateway.modules.system.query.UserQuery; import com.zsc.edu.gateway.modules.system.service.*; import com.zsc.edu.gateway.modules.system.utils.TreeUtil; import com.zsc.edu.gateway.modules.system.vo.MenuVo; import com.zsc.edu.gateway.modules.system.vo.UserDetail; import lombok.AllArgsConstructor; +import lombok.Data; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.security.web.csrf.CsrfToken; import org.springframework.web.bind.annotation.*; import java.util.*; +import java.util.stream.Collectors; /** * 用户Controller @@ -119,10 +119,14 @@ public class UserController { * @param page 分页 * @return 分页用户信息 */ - @DataPermission - @GetMapping + @GetMapping() @PreAuthorize("hasAuthority('system:user:query')") - public Page query(UserQuery query, Page page) { + public Page query(Long deptId, UserQuery query, Page page) { + if (deptId != null) { + List deptList = TreeUtil.flat(deptService.listTree(deptId), Dept::getChildren, d -> d.setChildren(null)); + List deptIds = deptList.stream().map(Dept::getId).collect(Collectors.toList()); + query.setDeptIds(deptIds); + } return service.page(page, query.wrapper()); } diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/entity/Dept.java b/src/main/java/com/zsc/edu/gateway/modules/system/entity/Dept.java index 4a746e8..5dfca83 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/entity/Dept.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/entity/Dept.java @@ -48,7 +48,4 @@ public class Dept extends BaseEntity { @TableField(exist = false) public List children = null; - @TableField(exist = false) - public List members = null; - } diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/query/UserQuery.java b/src/main/java/com/zsc/edu/gateway/modules/system/query/UserQuery.java index c0edff2..ea8b77f 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/query/UserQuery.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/query/UserQuery.java @@ -1,12 +1,14 @@ package com.zsc.edu.gateway.modules.system.query; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.zsc.edu.gateway.modules.system.entity.User; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.util.StringUtils; +import java.util.List; import java.util.Objects; /** @@ -48,7 +50,9 @@ public class UserQuery { /** * 部门集合 */ - public Long deptId; + public List deptIds; + + public LambdaQueryWrapper wrapper() { @@ -57,7 +61,7 @@ public class UserQuery { queryWrapper.eq(StringUtils.hasText(this.phone), User::getPhone, this.phone); queryWrapper.eq(StringUtils.hasText(this.email), User::getEmail, this.email); queryWrapper.eq(Objects.nonNull(this.enableState), User::getEnableState, this.enableState); - queryWrapper.eq(Objects.nonNull(this.deptId),User::getDeptId,this.deptId); + queryWrapper.in(CollectionUtils.isNotEmpty(this.deptIds), User::getDeptId, this.deptIds); queryWrapper.eq(Objects.nonNull(this.roleId),User::getRoleId,this.roleId); return queryWrapper; } diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/vo/DeptTree.java b/src/main/java/com/zsc/edu/gateway/modules/system/vo/DeptTree.java deleted file mode 100644 index ec9d861..0000000 --- a/src/main/java/com/zsc/edu/gateway/modules/system/vo/DeptTree.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.zsc.edu.gateway.modules.system.vo; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.zsc.edu.gateway.modules.system.entity.User; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author zhuang - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -public class DeptTree { - - private Long id; - private Long pid; - private String name; - List children = new ArrayList<>(); - List members = new ArrayList<>(); -} diff --git a/src/main/resources/db/gateway.sql b/src/main/resources/db/gateway.sql index 2373925..937fbac 100644 --- a/src/main/resources/db/gateway.sql +++ b/src/main/resources/db/gateway.sql @@ -754,3 +754,15 @@ comment on column sys_user.enable_state is '状态'; alter table sys_user owner to gitea; +INSERT INTO sys_user (dept_id, role_id, username, password, phone, email, name, avatar, address, create_by, update_by, + create_time, update_time, remark, enable_state, create_id) +VALUES (1, 1, 'user1', 'password1', '13800138000', 'user1@example.com', '张三', 'avatar1.jpg', '北京市', 'admin', + 'admin', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, '备注1', '启用', 1), + (2, 2, 'user2', 'password2', '13800138001', 'user2@example.com', '李四', 'avatar2.jpg', '上海市', 'admin', + 'admin', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, '备注2', '启用', 2), + (3, 3, 'user3', 'password3', '13800138002', 'user3@example.com', '王五', 'avatar3.jpg', '广州市', 'admin', + 'admin', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, '备注3', '禁用', 3), + (4, 4, 'user4', 'password4', '13800138003', 'user4@example.com', '赵六', 'avatar4.jpg', '深圳市', 'admin', + 'admin', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, '备注4', '启用', 4), + (5, 5, 'user5', 'password5', '13800138004', 'user5@example.com', '孙七', 'avatar5.jpg', '杭州市', 'admin', + 'admin', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, '备注5', '启用', 5); diff --git a/src/main/resources/db/gateway/public/sys_user.sql b/src/main/resources/db/gateway/public/sys_user.sql index 78550f3..40b05df 100644 --- a/src/main/resources/db/gateway/public/sys_user.sql +++ b/src/main/resources/db/gateway/public/sys_user.sql @@ -1,5 +1,8 @@ create table sys_user ( + id bigserial + constraint _copy_3 + primary key, dept_id bigint, role_id bigint, username varchar(20) not null, @@ -15,8 +18,7 @@ create table sys_user update_time timestamp(6), remark varchar(255), enable_state varchar(5), - id bigint not null - primary key + create_id bigint ); comment @@ -55,14 +57,13 @@ on column sys_user.update_by is '更新者'; comment on column sys_user.enable_state is '状态'; -alter table sys_user - owner to gitea; - -_user -. -enable_state -is '状态'; +comment +on column sys_user.create_id is '创建者ID'; alter table sys_user owner to gitea; +lter +table sys_user + owner to gitea; + diff --git a/src/main/resources/mappers/system/DeptMapper.xml b/src/main/resources/mappers/system/DeptMapper.xml index a9c3899..d0163fc 100644 --- a/src/main/resources/mappers/system/DeptMapper.xml +++ b/src/main/resources/mappers/system/DeptMapper.xml @@ -9,26 +9,10 @@ - - - - - - diff --git a/src/main/resources/mappers/system/UserMapper.xml b/src/main/resources/mappers/system/UserMapper.xml index 546ffe3..eac8dab 100644 --- a/src/main/resources/mappers/system/UserMapper.xml +++ b/src/main/resources/mappers/system/UserMapper.xml @@ -49,9 +49,8 @@