shc 4 months ago
parent
commit
6512620cc4

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

@@ -1,7 +1,6 @@
 package com.qunzhixinxi.hnqz.admin.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUserArea;
 
 import java.util.Collection;
@@ -50,6 +49,7 @@ public interface SysUserAreaService extends IService<SysUserArea> {
     List<Long> listUserDept(Long userId, String type);
 
 
+
     /**
      * 获取区域的人员
      *

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

@@ -3,11 +3,19 @@ package com.qunzhixinxi.hnqz.admin.service.impl;
 import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUserArea;
+import com.qunzhixinxi.hnqz.admin.mapper.SysDeptMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.SysUserAreaMapper;
+import com.qunzhixinxi.hnqz.admin.mapper.SysUserMapper;
 import com.qunzhixinxi.hnqz.admin.service.SysUserAreaService;
 import com.qunzhixinxi.hnqz.common.core.constant.CacheConstants;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
 import lombok.AllArgsConstructor;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.cache.annotation.Cacheable;
@@ -32,6 +40,9 @@ import java.util.stream.Collectors;
 public class SysUserAreaServiceImpl extends ServiceImpl<SysUserAreaMapper, SysUserArea>
     implements SysUserAreaService {
 
+  private final SysUserMapper userMapper;
+  private final SysDeptMapper deptMapper;
+
   /**
    * 保存关系
    *
@@ -114,7 +125,29 @@ public class SysUserAreaServiceImpl extends ServiceImpl<SysUserAreaMapper, SysUs
       unless = "#result.isEmpty()")
   @Override
   public List<Long> listUserDept(Long userId, String type) {
-    return this.baseMapper.listEntIdByUserIdAndType(userId, type);
+
+    // 获取用户信息
+    SysUser sysUser = userMapper.selectById(userId.intValue());
+
+    // 获取用户的所属企业
+    Integer deptId = sysUser.getDeptId();
+
+    // 获取当前企业下游
+    SysDept queryDept = new SysDept();
+    queryDept.setDeptId(deptId);
+    List<Map<String, Object>> childDept = deptMapper.getChildDept(queryDept);
+    // 获取企业ID
+    List<Long> cdIds =
+        childDept.stream()
+            .mapToLong(cd -> Long.parseLong(cd.get("id").toString()))
+            .boxed()
+            .collect(Collectors.toList());
+
+    List<Long> allIds = this.baseMapper.listEntIdByUserIdAndType(userId, type);
+
+    return CollUtil.intersectionDistinct(cdIds, allIds).stream()
+        .sorted()
+        .collect(Collectors.toList());
   }
 
   /**