소스 검색

:zap: user list

shc 9 달 전
부모
커밋
1bbb1659aa

+ 19 - 19
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserController.java

@@ -1018,7 +1018,7 @@ public class SysUserController {
 
         HnqzUser user = SecurityUtils.getUser();
 
-        Page<UserVO> userVosPage = userService.selectUserList(new Page<>(userDTO.getCurrent(), userDTO.getSize()), userDTO, user);
+        Page<UserVO> userVosPage = userService.selectUserList1(new Page<>(userDTO.getCurrent(), userDTO.getSize()), userDTO, user);
 
         Set<Integer> userIds = userVosPage.getRecords().stream().map(UserVO::getUserId).collect(Collectors.toSet());
 
@@ -1050,24 +1050,24 @@ public class SysUserController {
             });
         }
 
-
-        Map<Integer, List<SysCsmUserRelation>> csmParentUserMap = new HashMap<>();
-        if (CollUtil.isNotEmpty(userIds)) {
-            // 上级csm
-            List<SysCsmUserRelation> csmUserRelations = sysCsmUserRelationMapper.selectList(Wrappers.<SysCsmUserRelation>lambdaQuery()
-                    .in(SysCsmUserRelation::getUserId, userIds));
-            if (CollUtil.isNotEmpty(csmUserRelations)) {
-                csmParentUserMap.putAll(csmUserRelations.stream().collect(Collectors.groupingBy(SysCsmUserRelation::getUserId)));
-            }
-        }
-
-        userVosPage.getRecords().forEach(userVO -> {
-            // 上级csm
-            List<SysCsmUserRelation> csmUserRelations = csmParentUserMap.get(userVO.getUserId());
-            if (CollUtil.isNotEmpty(csmUserRelations)) {
-                userVO.setParentIdList(csmUserRelations.stream().map(SysCsmUserRelation::getParentId).collect(Collectors.toList()));
-            }
-        });
+        //
+        // Map<Integer, List<SysCsmUserRelation>> csmParentUserMap = new HashMap<>();
+        // if (CollUtil.isNotEmpty(userIds)) {
+        //     // 上级csm
+        //     List<SysCsmUserRelation> csmUserRelations = sysCsmUserRelationMapper.selectList(Wrappers.<SysCsmUserRelation>lambdaQuery()
+        //             .in(SysCsmUserRelation::getUserId, userIds));
+        //     if (CollUtil.isNotEmpty(csmUserRelations)) {
+        //         csmParentUserMap.putAll(csmUserRelations.stream().collect(Collectors.groupingBy(SysCsmUserRelation::getUserId)));
+        //     }
+        // }
+        //
+        // userVosPage.getRecords().forEach(userVO -> {
+        //     // 上级csm
+        //     List<SysCsmUserRelation> csmUserRelations = csmParentUserMap.get(userVO.getUserId());
+        //     if (CollUtil.isNotEmpty(csmUserRelations)) {
+        //         userVO.setParentIdList(csmUserRelations.stream().map(SysCsmUserRelation::getParentId).collect(Collectors.toList()));
+        //     }
+        // });
 
         return R.ok(userVosPage);
     }

+ 9 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/SysUserMapper.java

@@ -41,6 +41,15 @@ public interface SysUserMapper extends DataScopeMapper<SysUser> {
      */
     Page<UserVO> getUserVosPage(Page<UserVO> page, @Param("query") UserDTO userDTO, DataScope dataScope);
 
+    /**
+     * 分页查询用户信息(含角色)
+     *
+     * @param page      分页
+     * @param userDTO   查询参数
+     * @return list
+     */
+    Page<UserVO> getUserVosPage1(Page<UserVO> page, @Param("query") UserDTO userDTO);
+
     Page<UserVO> getUserVosPageNoLock(Page<UserVO> page, @Param("query") UserDTO userDTO, DataScope dataScope);
 
     List<UserVO> getUserVoByPlatId(@Param("query") UserDTO userDTO);

+ 2 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/SysUserService.java

@@ -45,6 +45,8 @@ public interface SysUserService extends IService<SysUser> {
 
     Page<UserVO> selectUserList(Page<UserVO> page, UserDTO userDTO, HnqzUser user);
 
+    Page<UserVO> selectUserList1(Page<UserVO> page, UserDTO userDTO, HnqzUser user);
+
     /**
      * 删除用户
      *

+ 28 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysUserServiceImpl.java

@@ -76,10 +76,6 @@ import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-/**
- * @author hnqz
- * @date 2017/10/31
- */
 @Slf4j
 @Service
 @AllArgsConstructor
@@ -849,6 +845,34 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return page1;
     }
 
+    @Override
+    public Page<UserVO> selectUserList1(Page<UserVO> page, UserDTO userDTO, HnqzUser user) {
+
+
+        List<Long> areas;
+        if (CollUtil.isNotEmpty(userDTO.getAreaCodes())) {
+            areas = userDTO.getAreaCodes();
+        } else {
+            areas = userAreaService.listUserAreas(Long.valueOf(user.getId()));
+            if (CollUtil.isNotEmpty(areas)) {
+                areas = areaEntityService.list(Wrappers.<SysAreaEntity>lambdaQuery()
+                                .in(SysAreaEntity::getAreaId, areas)
+                                .eq(SysAreaEntity::getAreaStatus, Boolean.TRUE)
+                                .eq(SysAreaEntity::getAreaType, UpmsType.AreaType.DISTRICT))
+                        .stream()
+                        .mapToLong(SysAreaEntity::getAreaId).boxed().distinct().collect(Collectors.toList());
+            }
+
+        }
+
+        List<Integer> userid = userAreaService.listAreaUser(areas).stream().map(Long::intValue).collect(Collectors.toList());
+
+        userDTO.setUserIdList(userid);
+
+        return baseMapper.getUserVosPage1(page, userDTO);
+
+    }
+
     /**
      * 通过ID查询用户信息
      *

+ 66 - 0
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/SysUserMapper.xml

@@ -408,6 +408,72 @@
         ORDER BY u.create_time DESC
     </select>
 
+    <select id="getUserVosPage1" resultMap="baseResultMap">
+        SELECT
+        u.user_id,
+        u.username,
+        u.password,
+        u.id_card_number,
+        u.salt,
+        u.phone,
+        u.avatar,
+        u.wx_openid,
+        u.qq_openid,
+        u.dept_id,
+        u.create_time ucreate_time,
+        u.update_time uupdate_time,
+        u.del_flag,
+        u.lock_flag,
+        u.tenant_id,
+        d.name dept_name,
+        u.realname,
+        u.temp1,
+        u.temp2,
+        u.temp3,
+        u.temp4,
+        u.temp5,
+        u.w1,
+        u.plat_id,
+        u.drug_ent_id
+        FROM
+        sys_user u
+        LEFT JOIN sys_dept d ON d.dept_id = u.dept_id
+        LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
+        LEFT JOIN sys_role r ON r.role_id = ur.role_id
+        <where>
+            u.del_flag = '0'
+            <if test="query.username != null and query.username != ''">
+                AND u.username LIKE CONCAT('%',#{query.username},'%')
+            </if>
+            <if test="query.realname != null and query.realname != ''">
+                AND u.realname LIKE CONCAT('%',#{query.realname},'%')
+            </if>
+            <if test="query.deptId != null and query.deptId != ''">
+                AND u.dept_id = #{query.deptId}
+            </if>
+            <if test="query.role != null and query.role.size()>0">
+                AND r.role_id IN
+                <foreach collection="query.role" item="pid" index="index" separator="," open="(" close=")">
+                    #{pid}
+                </foreach>
+            </if>
+            <if test="query.platId != null and query.platId != ''">
+                AND u.plat_id =#{query.platId}
+            </if>
+            <if test="query.lockFlag != null and query.lockFlag != ''">
+                AND u.lock_flag =#{query.lockFlag}
+            </if>
+            <if test="query.userIdList != null and query.userIdList.size() > 0">
+                AND u.user_id IN
+                <foreach collection="query.userIdList" item="userId" index="index" separator="," open="(" close=")">
+                    #{userId}
+                </foreach>
+            </if>
+            AND <![CDATA[ u.username<>'admin']]>
+        </where>
+        ORDER BY u.create_time DESC
+    </select>
+
     <select id="getUserVosPageNoLock" resultMap="baseResultMap">
         SELECT
         distinct