Selaa lähdekoodia

feat:调整可见服务商范围

shc 4 kuukautta sitten
vanhempi
commit
b792a5246c

+ 17 - 7
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/TaskManager.java

@@ -47,6 +47,7 @@ import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 import javax.annotation.Resource;
@@ -104,6 +105,7 @@ public class TaskManager {
   }
 
   private Page<ToDirectCheck> getCheckPage(OnPage query, HnqzUser user) {
+
     // 获取vendor
     List<Integer> vendorList = getVendorList(query.getVendorId(), user);
 
@@ -333,11 +335,6 @@ public class TaskManager {
   // 获取可见vendor
   private List<Integer> getVendorList(Integer vendorId, HnqzUser user) {
 
-    // 指定查询企业
-    if (vendorId != null) {
-      return Collections.singletonList(vendorId);
-    }
-
     if (user == null) {
       return Collections.emptyList();
     }
@@ -345,9 +342,22 @@ public class TaskManager {
     Integer userId = user.getId();
     //    int userId = 1;
 
-    return userAreaService.listUserDept((long) userId, AreaType.DISTRICT.getType()).stream()
+    Set<Integer> collect = userAreaService.listUserDept((long) userId, AreaType.DISTRICT.getType())
+        .stream()
         .map(Long::intValue)
-        .collect(Collectors.toList());
+        .collect(Collectors.toSet());
+
+    // 指定查询企业
+    if (vendorId != null) {
+
+      if (!collect.contains(vendorId)) {
+        throw new BizException("无权查询非分管区域外的服务供应商信息");
+      }
+
+      return Collections.singletonList(vendorId);
+    }
+
+    return collect.stream().sorted().collect(Collectors.toList());
   }
 
   // 获取当前节点