智慧保安后台管理-外网
zengh
2021-08-19 8b464ee379c5b35ac8b22b4e5dde25c4f6fb75cf
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -28,11 +28,14 @@
import org.springblade.core.tool.utils.StringPool;
import org.springblade.modules.system.entity.Dept;
import org.springblade.modules.system.mapper.DeptMapper;
import org.springblade.modules.system.node.TreeNode;
import org.springblade.modules.system.node.TreeNodes;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.vo.DeptVO;
import org.springblade.modules.system.wrapper.DeptWrapper;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -188,15 +191,67 @@
    * 懒加载获取部门树形结构,不包含顶级管理员公安局
    */
   @Override
   public List<DeptVO> securityLazyTree(String tenantId, Long parentId) {
      if (AuthUtil.isAdministrator()) {
         tenantId = StringPool.EMPTY;
      }
      return ForestNodeMerger.merge(baseMapper.securityLazyTree(tenantId, parentId));
   public List<DeptVO> securityLazyTree(String jurisdiction, Long parentId) {
      return ForestNodeMerger.merge(baseMapper.securityLazyTree(jurisdiction, parentId));
   }
   @Override
   public List<String> selectIn() {
      return baseMapper.selectIn();
   }
   /**
    * 懒加载获取部门树形结构(包含用户数据)
    * @return
    */
   @Override
   public List<DeptVO> lazyTreeUser(String tenantId, Long parentId) {
      if (AuthUtil.isAdministrator()) {
         tenantId = StringPool.EMPTY;
      }
      return ForestNodeMerger.merge(baseMapper.lazyTreeUser(tenantId, parentId));
   }
   @Override
   public Long add(Dept dept) {
      return baseMapper.add(dept);
   }
   /**
    * 懒加载获取部门树形结构(按分类查询)
    */
   @Override
   public List<DeptVO> lazyTreeType(String deptCategory, Long parentId) {
      return ForestNodeMerger.merge(baseMapper.lazyTreeType("000000",deptCategory,parentId));
   }
   /**
    * 懒加载获取部门树形结构(包含用户数据)app
    * @param type 1:保安对保安  2:保安向民警   3:民警向民警
    * @param jurisdiction 辖区id
    * @return
    */
   @Override
   public List<DeptVO> lazyTreeUserApp(Integer type,String jurisdiction) {
      return ForestNodeMerger.merge(baseMapper.lazyTreeUserApp(type,jurisdiction));
   }
   /**
    * 懒加载获取部门树形结构(包含用户数据),只查下一级的数据
    * @return
    */
   @Override
   public List<TreeNodes> lazyTreeUsers(String tenantId, Long parentId) {
      Map<Long,TreeNodes> map = baseMapper.lazyTreeUsers(parentId);
      System.out.println("map = " + map.size());
      List<TreeNodes> tree = new ArrayList<>();
      map.forEach((id,treeNodes) ->{
         if (map.containsKey(treeNodes.getParentId())){
            map.get(treeNodes.getParentId()).getChildren().add(treeNodes);
         }else {
            tree.add(treeNodes);
         }
      });
      return tree;
   }
}