From 24611ed866c208ec9780b99fbdeaaec2aa84865e Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 27 Jun 2023 15:03:09 +0800
Subject: [PATCH] 添加查询所有用户接口

---
 skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/mapper/UserMapper.xml             |   43 +++++++++++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/service/IUserService.java         |    4 ++
 skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/service/impl/UserServiceImpl.java |   11 +++++
 skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/controller/UserController.java    |   17 ++++++++
 skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/mapper/UserMapper.java            |    4 ++
 5 files changed, 79 insertions(+), 0 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/controller/UserController.java b/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/controller/UserController.java
index c289ae7..2cb6550 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/controller/UserController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/controller/UserController.java
@@ -163,6 +163,23 @@
 	}
 
 	/**
+	 * 用户数据导出
+	 */
+	@GetMapping("/getAllUser")
+	@ApiImplicitParams({
+		@ApiImplicitParam(name = "account", value = "账号名", paramType = "query", dataType = "string"),
+		@ApiImplicitParam(name = "realName", value = "姓名", paramType = "query", dataType = "string")
+	})
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "列表", notes = "传入account和realName")
+//	@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
+	public R<List<UserVO>> getAllUser(@ApiIgnore UserVO user, Long deptId, BladeUser bladeUser) {
+		List<UserVO> list = userService.getAllUser(user, deptId, (bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : bladeUser.getTenantId()));
+		return R.data(UserVOWrapper.build().listVO(list));
+	}
+
+
+	/**
 	 * 新增或修改
 	 */
 	@PostMapping("/submit")
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/mapper/UserMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/mapper/UserMapper.java
index dae9123..e9baf3c 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/mapper/UserMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/mapper/UserMapper.java
@@ -44,6 +44,9 @@
 	 */
 	List<UserVO> selectUserPage(IPage<UserVO> page, @Param("user") UserVO user, @Param("deptIdList") List<Long> deptIdList, @Param("tenantId") String tenantId);
 
+	List<UserVO> getAllUser(@Param("user")UserVO user,@Param("deptIdList") List<Long> deptIdList, @Param("tenantId")  String tenantId);
+
+
 	/**
 	 * 获取用户
 	 *
@@ -72,4 +75,5 @@
     List<User> selectUserByPhoneOrAccount(@Param("tenantId")String tenantId, @Param("key")String key);
 
     List<User> getUserByPhoneIds(@Param("phoneIds") String phoneIds);
+
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/mapper/UserMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/mapper/UserMapper.xml
index 0ec8435..a73ce31 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/mapper/UserMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/mapper/UserMapper.xml
@@ -69,6 +69,48 @@
         ORDER BY bu.id
     </select>
 
+    <select id="getAllUser" resultType="cn.gistack.system.user.vo.UserVO">
+        select bu.*,armp.jobName from blade_user bu
+        left join (
+        select "user_phone" as userPhone,CONCAT_WS('-',"user_unit","position") jobName from SJZT_MD."att_res_manage_person" where "guid" in (
+        select max("guid") as guid from SJZT_MD."att_res_manage_person" group by "user_phone"
+        )
+        ) armp on bu.phone = armp.userPhone
+        where bu.is_deleted = 0
+        <if test="tenantId!=null and tenantId != ''">
+            and bu.tenant_id = #{tenantId}
+        </if>
+        <if test="user.tenantId!=null and user.tenantId != ''">
+            and bu.tenant_id = #{user.tenantId}
+        </if>
+        <if test="user.account!=null and user.account != ''">
+            and bu.account = #{user.account}
+        </if>
+        <if test="user.realName!=null and user.realName != ''">
+            and bu.real_name like concat(concat('%',#{user.realName}),'%')
+        </if>
+        <if test="user.userType!=null and user.userType != ''">
+            and bu.user_type = #{user.userType}
+        </if>
+        <if test="user.roleId!=null and user.roleId != ''">
+            and bu.role_id like concat('%',#{user.roleId},'%')
+        </if>
+        <if test="deptIdList!=null and deptIdList.size()>0">
+            and id in (
+            SELECT
+            user_id
+            FROM
+            blade_user_dept
+            WHERE
+            dept_id IN
+            <foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            )
+        </if>
+        ORDER BY bu.id
+    </select>
+
     <select id="getUser" resultMap="userResultMap">
         SELECT
             *
@@ -98,4 +140,5 @@
         WHERE IS_DELETED = 0 AND PHONE LIKE CONCAT('%',#{phoneIds},'%')
     </select>
 
+
 </mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/service/IUserService.java b/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/service/IUserService.java
index 266ceef..8dbced0 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/service/IUserService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/service/IUserService.java
@@ -72,6 +72,9 @@
 	 */
 	IPage<UserVO> selectUserPage(IPage<UserVO> page, UserVO user, Long deptId, String tenantId);
 
+	List<UserVO> getAllUser(UserVO user, Long deptId, String tenantId);
+
+
 	/**
 	 * 自定义分页
 	 *
@@ -225,4 +228,5 @@
 	List<User> userInfoByPhoneOrAccount(String tenantId, String key);
 
     List<User> getUserByPhoneIds(String phoneIds);
+
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/service/impl/UserServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/service/impl/UserServiceImpl.java
index 7a60151..f6607be 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/service/impl/UserServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/service/impl/UserServiceImpl.java
@@ -161,6 +161,17 @@
 	}
 
 	@Override
+	public List<UserVO> getAllUser(UserVO user, Long deptId, String tenantId) {
+		List<Long> deptIdList = new ArrayList<>();
+		if (null!=user.getIsDept()) {
+			deptIdList.add(deptId);
+		}else {
+			deptIdList = SysCache.getDeptChildIds(deptId);
+		}
+		return baseMapper.getAllUser(user, deptIdList, tenantId);
+	}
+
+	@Override
 	public IPage<UserVO> selectUserSearch(UserVO user, Query query) {
 		LambdaQueryWrapper<User> queryWrapper = Wrappers.<User>query().lambda();
 		String tenantId = AuthUtil.getTenantId();

--
Gitblit v1.9.3