Browse Source

:zap: user list

shc 9 months ago
parent
commit
55d22c9a1d

+ 11 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/SysUserAreaMapper.java

@@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
+import java.util.Collection;
 import java.util.List;
 
 /**
@@ -19,10 +20,17 @@ import java.util.List;
 public interface SysUserAreaMapper extends BaseMapper<SysUserArea> {
 
 
-    // @Select("SELECT * FROM sys_user_area ua LEFT JOIN ${tableName} t ON ua.area_id =t.id")
-    @Select("SELECT * FROM ${tableName} t LEFT JOIN sys_user_area ua ON ua.area_id =t.id")
-    List<SysUserArea> listFromTempTable(@Param("tableName") String tableName);
+    // // @Select("SELECT * FROM sys_user_area ua LEFT JOIN ${tableName} t ON ua.area_id =t.id")
+    // @Select("SELECT * FROM ${tablename} t LEFT JOIN sys_user_area ua ON ua.area_id =t.id")
+    // List<SysUserArea> listFromTempTable(@Param("tableName") String tableName);
 
+    @Select("<script>"
+            + "SELECT DISTINCT user_id FROM sys_user_area WHERE area_id IN "
+            + "<foreach item='areaId' INDEX='index' collection='areaIds' OPEN='(' SEPARATOR=',' CLOSE=')'>"
+            + "#{areaId}"
+            + "</foreach>"
+            + "</script>")
+    List<Long> listAreaUser(@Param(value = "areaIds") Collection<Long> areaIds);
 }
 
 

+ 8 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/SysUserAreaService.java

@@ -39,6 +39,14 @@ public interface SysUserAreaService extends IService<SysUserArea> {
      */
     List<Long> listAreaUser(Collection<Long> areaIds);
 
+    /**
+     * 获取区域的人员
+     *
+     * @param areaIds 区域列表
+     * @return 人员列表
+     */
+    List<Long> listAreaUser1(Collection<Long> areaIds);
+
 
     /**
      * 删除用户的区域

+ 11 - 15
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysUserAreaServiceImpl.java

@@ -1,13 +1,10 @@
 package com.qunzhixinxi.hnqz.admin.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.util.IdUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.google.common.collect.Lists;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUserArea;
 import com.qunzhixinxi.hnqz.admin.mapper.SysUserAreaMapper;
-import com.qunzhixinxi.hnqz.admin.mapper.SysUserAreaTempMapper;
 import com.qunzhixinxi.hnqz.admin.service.SysUserAreaService;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -15,9 +12,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
-import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -33,7 +28,6 @@ import java.util.stream.Collectors;
 @AllArgsConstructor
 public class SysUserAreaServiceImpl extends ServiceImpl<SysUserAreaMapper, SysUserArea> implements SysUserAreaService {
 
-    private final SysUserAreaTempMapper userAreaTempMapper;
 
     /**
      * 保存关系
@@ -85,16 +79,18 @@ public class SysUserAreaServiceImpl extends ServiceImpl<SysUserAreaMapper, SysUs
      */
     @Override
     public List<Long> listAreaUser(Collection<Long> areaIds) {
+        return this.list(Wrappers.<SysUserArea>lambdaQuery().in(SysUserArea::getAreaId, areaIds)).stream().map(SysUserArea::getUserId).distinct().collect(Collectors.toList());
+    }
 
-        String tableName = "sys_user_area_" + IdUtil.fastSimpleUUID();
-        userAreaTempMapper.createTempTable(tableName);
-        userAreaTempMapper.batchInsertTempData(tableName, areaIds);
-
-        List<SysUserArea> sysUserAreas = this.baseMapper.listFromTempTable(tableName);
-        userAreaTempMapper.dropTempTable(tableName);
-
-        // return this.list(Wrappers.<SysUserArea>lambdaQuery().in(SysUserArea::getAreaId, areaIds)).stream().map(SysUserArea::getUserId).distinct().collect(Collectors.toList());
-        return sysUserAreas.stream().map(SysUserArea::getUserId).distinct().collect(Collectors.toList());
+    /**
+     * 获取区域的人员
+     *
+     * @param areaIds 区域列表
+     * @return 人员列表
+     */
+    @Override
+    public List<Long> listAreaUser1(Collection<Long> areaIds) {
+        return this.baseMapper.listAreaUser(areaIds);
     }
 
     /**