linwei
2024-01-26 016e47ea961d84a186db0bbd45cd6d7eaaa57bc3
src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java
@@ -16,19 +16,33 @@
 */
package org.springblade.modules.district.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.common.node.TreeIntegerNode;
import org.springblade.common.cache.SysCache;
import org.springblade.common.node.TreeStringNode;
import org.springblade.common.utils.NodeTreeUtil;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.modules.district.entity.DistrictEntity;
import org.springblade.modules.district.vo.DistrictVO;
import org.springblade.modules.district.mapper.DistrictMapper;
import org.springblade.modules.district.service.IDistrictService;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.modules.district.vo.DistrictVO;
import org.springblade.modules.grid.service.IGridService;
import org.springblade.modules.grid.vo.GridVO;
import org.springblade.modules.property.entity.PropertyCompanyDistrictEntity;
import org.springblade.modules.property.entity.PropertyCompanyEntity;
import org.springblade.modules.property.service.IPropertyCompanyDistrictService;
import org.springblade.modules.property.service.IPropertyCompanyService;
import org.springblade.modules.property.service.IPropertyDistrictUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * 小区表 服务实现类
@@ -39,19 +53,42 @@
@Service
public class DistrictServiceImpl extends ServiceImpl<DistrictMapper, DistrictEntity> implements IDistrictService {
   @Autowired
   private IGridService gridService;
   @Override
   public IPage<DistrictVO> selectDistrictPage(IPage<DistrictVO> page, DistrictVO district) {
      return page.setRecords(baseMapper.selectDistrictPage(page, district));
      List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
      Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
      List<DistrictVO> districtVOS = baseMapper.selectDistrictPage(page, district, regionChildCodesList, isAdministrator);
      // 遍历
      for (DistrictVO districtVO : districtVOS) {
         // 设置对应的网格名称
         List<GridVO> gridVO = gridService.getGridListByAoiCode(districtVO.getAoiCode());
         if (gridVO.size() > 0) {
            StringBuilder builder = new StringBuilder();
            for (GridVO vo : gridVO) {
               builder.append(vo.getGridName()).append(",");
            }
            String bui = builder.toString();
            String substring = bui.substring(0, bui.length() - 1);
            districtVO.setGridName(substring);
         }
      }
      // 返回
      return page.setRecords(districtVOS);
   }
   /**
    * 获取小区树
    *
    * @param district
    * @return
    */
   @Override
   public Object getDistrictTree(DistrictVO district) {
      List<TreeStringNode> stringNodeTree = NodeTreeUtil.getStringNodeTree(baseMapper.getDistrictTree(district));
      Map<String, TreeStringNode> districtTree = baseMapper.getDistrictTree(district);
      List<TreeStringNode> stringNodeTree = NodeTreeUtil.getStringNodeTree(districtTree);
      stringNodeTree.forEach(node -> recursion(node));
      return stringNodeTree;
   }
@@ -59,6 +96,7 @@
   /**
    * 去除空的数据组
    *
    * @param node
    */
   private void recursion(TreeStringNode node) {
@@ -68,4 +106,16 @@
         node.setChildren(null);
      }
   }
   /**
    * 小区表 自定义获取详情
    *
    * @param district
    * @return
    */
   @Override
   public DistrictVO getDetail(DistrictVO district) {
      // 小区自定义获取详情查询并返回
      return baseMapper.getDetail(district);
   }
}