From 35a6e9cedc2f44bebc9e4ec81a429eddc8b631ea Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 22 Sep 2021 11:41:42 +0800
Subject: [PATCH] 用户查询接口修改,部门名称需拼接父部门名称

---
 src/main/java/org/springblade/modules/system/mapper/UserMapper.xml             |    8 ++++++--
 src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java |   23 +++++++++++++++++++++--
 src/main/java/org/springblade/modules/system/mapper/UserMapper.java            |    3 ++-
 3 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
index dee14cf..afcf10c 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
@@ -190,5 +190,6 @@
 	 * @param deptId 部门名称
 	 * @return
 	 */
-	List<Map<String, Object>> getDeptName(String deptId);
+	@SqlParser(filter = true)
+	List<String> getDeptName(@Param("deptId") String deptId);
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
index 0173c42..c0dc0cb 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -491,7 +491,11 @@
     </select>
 
     <!--查询当前部门名称及父级部门名称-->
-    <select id="getDeptName" resultType="java.util.Map">
-
+    <select id="getDeptName" resultType="java.lang.String">
+        (select dept_name from blade_dept where id = #{deptId} and 1=1)
+        union
+        (
+            select dept_name from blade_dept where id =  (select parent_id from blade_dept where id= #{deptId} and 1=1)
+        )
     </select>
 </mapper>
diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
index 2e186a2..c1fa1d7 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -186,9 +186,28 @@
 		//遍历获取部门名称,角色名称
 		users.forEach(userVO -> {
 			//查询当前部门名称及父级部门名称
-			List<Map<String,Object>> map = baseMapper.getDeptName(userVO.getDeptId());
+			List<String> list = baseMapper.getDeptName(userVO.getDeptId());
+			if (list.size()>1){
+				if (null!=list.get(1) && list.get(1)!=""){
+					userVO.setDeptName(list.get(1)+","+list.get(0));
+				}else {
+					userVO.setDeptName(list.get(0));
+				}
+			}
+			if (list.size()==1){
+				userVO.setDeptName(list.get(0));
+			}
 			//查询角色名称
-
+			List<String> asList = Arrays.asList(userVO.getRoleId().split(","));
+			StringBuilder builder = new StringBuilder();
+			asList.forEach(roleIs ->{
+				Role role = roleService.getById(roleIs);
+				if (null!=role){
+					builder.append(role.getRoleName()+",");
+				}
+			});
+			String substringRoleName = builder.toString().substring(0, builder.toString().length() - 1);
+			userVO.setRoleName(substringRoleName);
 		});
 		return page.setRecords(users);
 	}

--
Gitblit v1.9.3