Browse Source

pref: selectUserList 6

shc 8 tháng trước cách đây
mục cha
commit
f5eb483c8d

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

@@ -1180,7 +1180,7 @@ public class SysUserController {
         }
 
         // 如果实际三级区域于查询三级区域相等,也就是全国的时候,默认直接查询全国
-        query.setAreaCodes((areaEntities.size() == areas.size()) ? Collections.emptyList() : new LinkedList<>(CollUtil.intersectionDistinct(areaEntities, areas)));
+        query.setAreaCodes((areaEntities.size() == (CollUtil.isNotEmpty(areas) ? areas.size() : 0)) ? Collections.emptyList() : new LinkedList<>(CollUtil.intersectionDistinct(areaEntities, areas)));
         query.setRole(new LinkedList<>(targetRoleIds));
 
         Page<?> userVosPage = userService.pageUser(query, SecurityUtils.getUser());

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

@@ -25,6 +25,7 @@ import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDeptRelation;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysRole;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysUserArea;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUserRole;
 import com.qunzhixinxi.hnqz.admin.api.vo.MenuVO;
 import com.qunzhixinxi.hnqz.admin.api.vo.UserVO;
@@ -48,7 +49,6 @@ import com.qunzhixinxi.hnqz.admin.service.SysUserRoleService;
 import com.qunzhixinxi.hnqz.admin.service.SysUserService;
 import com.qunzhixinxi.hnqz.common.core.constant.CacheConstants;
 import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
-import com.qunzhixinxi.hnqz.common.core.exception.BizException;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.data.datascope.DataScope;
 import com.qunzhixinxi.hnqz.common.security.encoder.SM4PasswordEncoder;
@@ -58,7 +58,6 @@ import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.ListUtils;
-import org.apache.commons.collections4.SetUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.cache.annotation.CacheEvict;
@@ -251,16 +250,16 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         Set<Integer> areaUserIds = null;
         if (CollUtil.isNotEmpty(query.getAreaCodes())) {
 
-            List<List<Long>> partition = ListUtils.partition(query.getAreaCodes(), 300);
-            areaUserIds = new HashSet<>();
+            // List<List<Long>> partition = ListUtils.partition(query.getAreaCodes(), 30);
+            // areaUserIds = new HashSet<>();
+            //
+            // for (List<Long> areaIds : partition) {
+            //     userAreaService.list(Wrappers.<SysUserArea>)
+            //     Set<Integer> collect = userAreaService.listAreaUser(areaIds).stream().map(Long::intValue).collect(Collectors.toSet());
+            //     areaUserIds.addAll(collect);
+            // }
 
-            for (List<Long> areaIds : partition) {
-                Set<Integer> collect = userAreaService.listAreaUser(areaIds).stream().map(Long::intValue).collect(Collectors.toSet());
-                areaUserIds.addAll(collect);
-            }
-
-            // Set<Integer> collect = partition.parallelStream().flatMap(ac -> userAreaService.listAreaUser(ac).stream()).map(Long::intValue).collect(Collectors.toSet());
-            // areaUserIds = userAreaService.listAreaUser(query.getAreaCodes()).stream().map(Long::intValue).collect(Collectors.toSet());
+            areaUserIds = userAreaService.listAreaUser(query.getAreaCodes()).stream().map(Long::intValue).collect(Collectors.toSet());
         }
 
         List<SysUserRole> userRoles = sysUserRoleService.list(Wrappers.<SysUserRole>lambdaQuery()