浏览代码

查询用户列表接口

chenshudong 1 月之前
父节点
当前提交
be8e441009

+ 10 - 0
airport-admin/src/main/java/com/sundot/airport/web/controller/system/SysUserController.java

@@ -20,6 +20,7 @@ import com.sundot.airport.check.domain.CheckLargeScreenCorrectionQueryParamDto;
20 20
 import com.sundot.airport.common.core.domain.ResetUserPostDto;
21 21
 import com.sundot.airport.common.core.domain.ResetUserRoleDto;
22 22
 import com.sundot.airport.common.core.domain.SysLargeScreenWorkingPortraitDto;
23
+import com.sundot.airport.common.dto.SysUserConditionDto;
23 24
 import com.sundot.airport.common.enums.RoleTypeEnum;
24 25
 import com.sundot.airport.exam.domain.DailyTask;
25 26
 import com.sundot.airport.attendance.portrait.AttendanceModuleIndicatorResult;
@@ -150,6 +151,15 @@ public class SysUserController extends BaseController {
150 151
     }
151 152
 
152 153
     /**
154
+     * 查询用户列表
155
+     */
156
+    @PostMapping("/selectUserListByCondition")
157
+    public AjaxResult selectUserListByCondition(@RequestBody SysUserConditionDto dto) {
158
+        List<SysUser> result = userService.selectUserListByDeptIdAndRoleKeyListAndUserName(dto);
159
+        return success(result);
160
+    }
161
+
162
+    /**
153 163
      * 能力画像-协同配合
154 164
      */
155 165
     @Cacheable(

+ 31 - 0
airport-common/src/main/java/com/sundot/airport/common/dto/SysUserConditionDto.java

@@ -0,0 +1,31 @@
1
+package com.sundot.airport.common.dto;
2
+
3
+import lombok.Data;
4
+
5
+import java.util.List;
6
+
7
+/**
8
+ * 查询用户列表参数
9
+ *
10
+ * @Author: wangchong
11
+ * @Date: 2025/7/15 16:12
12
+ **/
13
+@Data
14
+public class SysUserConditionDto {
15
+
16
+    /**
17
+     * 部门id
18
+     */
19
+    private Long deptId;
20
+
21
+    /**
22
+     * 角色编码列表
23
+     */
24
+    private List<String> roleKeyList;
25
+
26
+    /**
27
+     * 用户昵称
28
+     */
29
+    private String nickName;
30
+
31
+}

+ 10 - 0
airport-system/src/main/java/com/sundot/airport/system/mapper/SysUserMapper.java

@@ -220,4 +220,14 @@ public interface SysUserMapper {
220 220
      * @return 首页-用户信息
221 221
      */
222 222
     public List<LargeScreenHomePageUserInfoSqlDto> homePageUserInfo();
223
+
224
+    /**
225
+     * 根据组织ID和角色编码列表和用户昵称查询用户列表
226
+     *
227
+     * @param deptId   组织ID
228
+     * @param list     角色编码列表
229
+     * @param nickName 用户昵称
230
+     * @return 用户信息集合
231
+     */
232
+    public List<SysUser> selectUserListByDeptIdAndRoleKeyListAndUserName(@Param("deptId") Long deptId, @Param("list") List<String> list, @Param("nickName") String nickName);
223 233
 }

+ 9 - 0
airport-system/src/main/java/com/sundot/airport/system/service/ISysUserService.java

@@ -7,6 +7,7 @@ import com.sundot.airport.common.core.domain.LargeScreenHomePageUserInfoSqlDto;
7 7
 import com.sundot.airport.common.core.domain.ResetUserPostDto;
8 8
 import com.sundot.airport.common.core.domain.ResetUserRoleDto;
9 9
 import com.sundot.airport.common.core.domain.entity.SysUser;
10
+import com.sundot.airport.common.dto.SysUserConditionDto;
10 11
 import com.sundot.airport.system.domain.SysLargeScreenCooperationDto;
11 12
 import com.sundot.airport.system.domain.SysLargeScreenCooperationQueryParamDto;
12 13
 
@@ -311,4 +312,12 @@ public interface ISysUserService {
311 312
      * @return 结果
312 313
      */
313 314
     public int resetUserPostByDept(ResetUserPostDto resetUserPostDto);
315
+
316
+    /**
317
+     * 查询用户列表
318
+     *
319
+     * @param dto 查询用户列表参数
320
+     * @return 用户信息集合
321
+     */
322
+    public List<SysUser> selectUserListByDeptIdAndRoleKeyListAndUserName(SysUserConditionDto dto);
314 323
 }

+ 12 - 0
airport-system/src/main/java/com/sundot/airport/system/service/impl/SysUserServiceImpl.java

@@ -23,6 +23,7 @@ import com.sundot.airport.common.core.domain.ResetUserPostDto;
23 23
 import com.sundot.airport.common.core.domain.ResetUserRoleDto;
24 24
 import com.sundot.airport.common.core.domain.entity.SysDept;
25 25
 import com.sundot.airport.common.core.domain.entity.SysDictData;
26
+import com.sundot.airport.common.dto.SysUserConditionDto;
26 27
 import com.sundot.airport.common.dto.UserInfo;
27 28
 import com.sundot.airport.common.enums.DeptType;
28 29
 import com.sundot.airport.common.enums.RoleTypeEnum;
@@ -1174,4 +1175,15 @@ public class SysUserServiceImpl implements ISysUserService {
1174 1175
         }
1175 1176
         return 1;
1176 1177
     }
1178
+
1179
+    /**
1180
+     * 查询用户列表
1181
+     *
1182
+     * @param dto 查询用户列表参数
1183
+     * @return 用户信息集合
1184
+     */
1185
+    @Override
1186
+    public List<SysUser> selectUserListByDeptIdAndRoleKeyListAndUserName(SysUserConditionDto dto) {
1187
+        return userMapper.selectUserListByDeptIdAndRoleKeyListAndUserName(dto.getDeptId(), dto.getRoleKeyList(), dto.getNickName());
1188
+    }
1177 1189
 }

+ 14 - 0
airport-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -988,6 +988,20 @@
988 988
         </foreach>
989 989
     </select>
990 990
 
991
+    <select id="selectUserListByDeptIdAndRoleKeyListAndUserName" resultMap="SysUserResult">
992
+        <include refid="selectUserVo"/>
993
+        where (u.dept_id = #{deptId} OR u.dept_id IN (
994
+        SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors)))
995
+        and u.del_flag = '0'
996
+        and r.role_key in
997
+        <foreach collection="list" item="item" open="(" separator="," close=")">
998
+            #{item}
999
+        </foreach>
1000
+        <if test="nickName != null and nickName != ''">
1001
+            and u.nick_name like concat('%', #{nickName}, '%')
1002
+        </if>
1003
+    </select>
1004
+
991 1005
     <select id="homePageUserInfo" resultType="com.sundot.airport.common.core.domain.LargeScreenHomePageUserInfoSqlDto">
992 1006
         select su.user_id      userId,
993 1007
                su.user_name    userName,