From e7ca94bab1ef85efe4786a38669e2cca97ac406d Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期六, 06 一月 2024 20:48:20 +0800 Subject: [PATCH] update 优化 使用翻译注解简化用户查询 调整用户查询逻辑 --- ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java | 3 + ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserExportVo.java | 3 - ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 18 ++------- ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java | 2 - ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java | 5 +- ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java | 8 +-- ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java | 12 ++++- ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java | 5 +- ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java | 1 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java | 6 +-- 10 files changed, 26 insertions(+), 37 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java index a269d38..f9b7f2c 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java @@ -57,7 +57,7 @@ private final ISysPermissionService permissionService; private final ISysSocialService sysSocialService; private final ISysRoleService roleService; - private final SysDeptMapper deptMapper; + private final ISysDeptService deptService; private final SysUserMapper userMapper; @@ -145,11 +145,9 @@ loginUser.setUserType(user.getUserType()); loginUser.setMenuPermission(permissionService.getMenuPermission(user.getUserId())); loginUser.setRolePermission(permissionService.getRolePermission(user.getUserId())); - SysDeptVo dept = deptMapper.selectVoById(user.getDeptId()); + SysDeptVo dept = deptService.selectDeptById(user.getDeptId()); loginUser.setDeptName(ObjectUtil.isNull(dept) ? "" : dept.getDeptName()); - List<SysRoleVo> roles = DataPermissionHelper.ignore(() -> { - return roleService.selectRolesByUserId(user.getUserId()); - }); + List<SysRoleVo> roles = roleService.selectRolesByUserId(user.getUserId()); loginUser.setRoles(BeanUtil.copyToList(roles, RoleDTO.class)); return loginUser; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java index ccba0cf..0cdb675 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java @@ -41,7 +41,6 @@ public class SysProfileController extends BaseController { private final ISysUserService userService; - private final ISysRoleService roleService; private final ISysOssService ossService; /** @@ -50,7 +49,6 @@ @GetMapping public R<ProfileVo> profile() { SysUserVo user = userService.selectUserById(LoginHelper.getUserId()); - user.setRoles(roleService.selectRolesByUserId(user.getUserId())); ProfileVo profileVo = new ProfileVo(); profileVo.setUser(user); profileVo.setRoleGroup(userService.selectUserRoleGroup(user.getUserId())); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java index 41319c1..9ab25e7 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java @@ -72,9 +72,8 @@ @SaCheckPermission("system:user:export") @PostMapping("/export") public void export(SysUserBo user, HttpServletResponse response) { - List<SysUserVo> list = userService.selectUserList(user); - List<SysUserExportVo> listVo = MapstructUtils.convert(list, SysUserExportVo.class); - ExcelUtil.exportExcel(listVo, "鐢ㄦ埛鏁版嵁", SysUserExportVo.class, response); + List<SysUserExportVo> list = userService.selectUserExportList(user); + ExcelUtil.exportExcel(list, "鐢ㄦ埛鏁版嵁", SysUserExportVo.class, response); } /** @@ -116,7 +115,6 @@ if (ObjectUtil.isNull(user)) { return R.fail("娌℃湁鏉冮檺璁块棶鐢ㄦ埛鏁版嵁!"); } - user.setRoles(roleService.selectRolesByUserId(user.getUserId())); userInfoVo.setUser(user); userInfoVo.setPermissions(loginUser.getMenuPermission()); userInfoVo.setRoles(loginUser.getRolePermission()); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserExportVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserExportVo.java index 3cc5186..37ec6b7 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserExportVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserExportVo.java @@ -20,7 +20,6 @@ @Data @NoArgsConstructor -@AutoMapper(target = SysUserVo.class, convertGenerate = false) public class SysUserExportVo implements Serializable { @Serial @@ -85,14 +84,12 @@ /** * 閮ㄩ棬鍚嶇О */ - @ReverseAutoMapping(target = "deptName", source = "dept.deptName") @ExcelProperty(value = "閮ㄩ棬鍚嶇О") private String deptName; /** * 璐熻矗浜� */ - @ReverseAutoMapping(target = "leaderName", source = "dept.leaderName") @ExcelProperty(value = "閮ㄩ棬璐熻矗浜�") private String leaderName; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java index 7db91d1..d1f4059 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java @@ -114,9 +114,10 @@ private Date createTime; /** - * 閮ㄩ棬瀵硅薄 + * 閮ㄩ棬鍚� */ - private SysDeptVo dept; + @Translation(type = TransConstant.DEPT_ID_TO_NAME, mapper = "deptId") + private String deptName; /** * 瑙掕壊瀵硅薄 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java index d349832..d226d99 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java @@ -8,6 +8,7 @@ import org.dromara.common.mybatis.annotation.DataPermission; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.system.domain.SysUser; +import org.dromara.system.domain.vo.SysUserExportVo; import org.dromara.system.domain.vo.SysUserVo; import java.util.List; @@ -20,7 +21,7 @@ public interface SysUserMapper extends BaseMapperPlus<SysUser, SysUserVo> { @DataPermission({ - @DataColumn(key = "deptName", value = "d.dept_id"), + @DataColumn(key = "deptName", value = "u.dept_id"), @DataColumn(key = "userName", value = "u.user_id") }) Page<SysUserVo> selectPageUserList(@Param("page") Page<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper); @@ -35,7 +36,7 @@ @DataColumn(key = "deptName", value = "d.dept_id"), @DataColumn(key = "userName", value = "u.user_id") }) - List<SysUserVo> selectUserList(@Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper); + List<SysUserExportVo> selectUserExportList(@Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper); /** * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ宸查厤鐢ㄦ埛瑙掕壊鍒楄〃 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java index 6c7323c..a5a28cb 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java @@ -3,6 +3,7 @@ import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.system.domain.bo.SysUserBo; +import org.dromara.system.domain.vo.SysUserExportVo; import org.dromara.system.domain.vo.SysUserVo; import java.util.List; @@ -23,7 +24,7 @@ * @param user 鐢ㄦ埛淇℃伅 * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅 */ - List<SysUserVo> selectUserList(SysUserBo user); + List<SysUserExportVo> selectUserExportList(SysUserBo user); /** * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ宸插垎閰嶇敤鎴疯鑹插垪琛� diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java index a831f7e..191dc98 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java @@ -80,7 +80,6 @@ .between(params.get("beginTime") != null && params.get("endTime") != null, "r.create_time", params.get("beginTime"), params.get("endTime")) .orderByAsc("r.role_sort").orderByAsc("r.create_time"); - ; return wrapper; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java index bde6244..5dcd683 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java @@ -29,6 +29,7 @@ import org.dromara.system.domain.bo.SysUserBo; import org.dromara.system.domain.vo.SysPostVo; import org.dromara.system.domain.vo.SysRoleVo; +import org.dromara.system.domain.vo.SysUserExportVo; import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.mapper.*; import org.dromara.system.service.ISysUserService; @@ -69,8 +70,8 @@ * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅 */ @Override - public List<SysUserVo> selectUserList(SysUserBo user) { - return baseMapper.selectUserList(this.buildQueryWrapper(user)); + public List<SysUserExportVo> selectUserExportList(SysUserBo user) { + return baseMapper.selectUserExportList(this.buildQueryWrapper(user)); } private Wrapper<SysUser> buildQueryWrapper(SysUserBo user) { @@ -163,7 +164,12 @@ */ @Override public SysUserVo selectUserById(Long userId) { - return baseMapper.selectVoById(userId); + SysUserVo user = baseMapper.selectVoById(userId); + if (ObjectUtil.isNull(user)) { + return user; + } + user.setRoles(roleMapper.selectRolesByUserId(user.getUserId())); + return user; } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index ce1c0d6..8f94866 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -4,31 +4,21 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.dromara.system.mapper.SysUserMapper"> - <!-- 澶氱粨鏋勫祵濂楄嚜鍔ㄦ槧灏勯渶甯︿笂姣忎釜瀹炰綋鐨勪富閿甶d 鍚﹀垯鏄犲皠浼氬け璐� --> <resultMap type="org.dromara.system.domain.vo.SysUserVo" id="SysUserResult"> <id property="userId" column="user_id"/> - <result property="deptId" column="dept_id"/> - <association property="dept" column="dept_id" resultMap="deptResult"/> </resultMap> - - <resultMap id="deptResult" type="org.dromara.system.domain.vo.SysDeptVo"> - <id property="deptId" column="dept_id"/> - <result property="email" column="dept_email"/> - <result property="status" column="dept_status"/> - <result property="createTime" column="dept_create_time"/> + <resultMap type="org.dromara.system.domain.vo.SysUserExportVo" id="SysUserExportResult"> + <id property="userId" column="user_id"/> </resultMap> <select id="selectPageUserList" resultMap="SysUserResult"> select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, - u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, - d.dept_name, d.leader, u1.user_name as leaderName + u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark from sys_user u - left join sys_dept d on u.dept_id = d.dept_id - left join sys_user u1 on u1.user_id = d.leader ${ew.getCustomSqlSegment} </select> - <select id="selectUserList" resultMap="SysUserResult"> + <select id="selectUserExportList" resultMap="SysUserExportResult"> select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader, u1.user_name as leaderName -- Gitblit v1.9.3