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