From c0e32b4907e8ac9cae56b77e4f83fefdc8cc5ad3 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 24 Jan 2024 17:27:40 +0800
Subject: [PATCH] 机构查询优化

---
 src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java b/src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java
index 928fbdf..0e9fa04 100644
--- a/src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java
+++ b/src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java
@@ -16,22 +16,23 @@
  */
 package org.springblade.modules.district.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 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.core.secure.utils.AuthUtil;
 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.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 小区表 服务实现类
@@ -47,12 +48,14 @@
 
 	@Override
 	public IPage<DistrictVO> selectDistrictPage(IPage<DistrictVO> page, DistrictVO district) {
-		List<DistrictVO> districtVOS = 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) {
+			if (gridVO.size() > 0) {
 				StringBuilder builder = new StringBuilder();
 				for (GridVO vo : gridVO) {
 					builder.append(vo.getGridName()).append(",");
@@ -68,12 +71,14 @@
 
 	/**
 	 * 获取小区树
+	 *
 	 * @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;
 	}
@@ -81,6 +86,7 @@
 
 	/**
 	 * 去除空的数据组
+	 *
 	 * @param node
 	 */
 	private void recursion(TreeStringNode node) {
@@ -93,6 +99,7 @@
 
 	/**
 	 * 小区表 自定义获取详情
+	 *
 	 * @param district
 	 * @return
 	 */

--
Gitblit v1.9.3