From 55d677758efadb6d42e6d4e595cecc2c50c20d5a Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Sat, 23 Dec 2023 17:19:12 +0800
Subject: [PATCH] bug修复

---
 src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java |   74 ++++++++++++++++++++++++++++++++++++
 1 files changed, 73 insertions(+), 1 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 24d2178..c972fb9 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
@@ -17,13 +17,25 @@
 package org.springblade.modules.district.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.node.TreeIntegerNode;
+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.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.grid.service.IGridService;
+import org.springblade.modules.grid.vo.GridVO;
+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.List;
+import java.util.Map;
 
 /**
  * 小区表 服务实现类
@@ -34,10 +46,70 @@
 @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<DistrictVO> districtVOS = baseMapper.selectDistrictPage(page, district);
+		// 遍历
+		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) {
+		// String userRole = AuthUtil.getUserRole();
+		// if (userRole.equals("wygly")) {
+		// 	IPropertyDistrictUserService bean = SpringUtils.getBean(IPropertyDistrictUserService.class);
+		// 	List<String> strings = bean.selectPropertyDistrictByUserId(AuthUtil.getUserId());
+		// 	district.setDistrictIdList(strings);
+		// }
+		Map<String, TreeStringNode> districtTree = baseMapper.getDistrictTree(district);
+		List<TreeStringNode> stringNodeTree = NodeTreeUtil.getStringNodeTree(districtTree);
+		stringNodeTree.forEach(node -> recursion(node));
+		return stringNodeTree;
 	}
 
 
+	/**
+	 * 去除空的数据组
+	 * @param node
+	 */
+	private void recursion(TreeStringNode node) {
+		if (node.getChildren() != null && node.getChildren().size() > 0) {
+			node.getChildren().forEach(node2 -> recursion(node2));
+		} else {
+			node.setChildren(null);
+		}
+	}
+
+	/**
+	 * 小区表 自定义获取详情
+	 * @param district
+	 * @return
+	 */
+	@Override
+	public DistrictVO getDetail(DistrictVO district) {
+		// 小区自定义获取详情查询并返回
+		return baseMapper.getDetail(district);
+	}
 }

--
Gitblit v1.9.3