From b3b566ebdfed4005aaa513da3d5d2fd3924903cc Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 31 Jan 2024 16:17:54 +0800
Subject: [PATCH] 拿不到地址总表数据,不设置网格信息

---
 src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 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 7ba011d..989afd9 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
@@ -87,6 +87,33 @@
 	 */
 	@Override
 	public Object getDistrictTree(DistrictVO district) {
+		// 判断角色,物业角色只能查询当前小区的
+		String userRole = AuthUtil.getUserRole();
+		if (userRole.contains("wygly") || userRole.contains("wyxmjl")) {
+			if (district.getFilterFlag().equals(1)) {
+				// 查询小区id
+				IPropertyDistrictUserService propertyDistrictUserService = SpringUtils.getBean(IPropertyDistrictUserService.class);
+				List<String> districtIds = propertyDistrictUserService.selectPropertyDistrictByUserId(AuthUtil.getUserId());
+				// 通过用户机构查询用户的物业公司
+				// 通过用户机构查询用户的物业公司
+				IPropertyCompanyService bean = SpringUtil.getBean(IPropertyCompanyService.class);
+				PropertyCompanyEntity one = bean.getOne(Wrappers.<PropertyCompanyEntity>lambdaQuery().eq(PropertyCompanyEntity::getDeptId, AuthUtil.getDeptId()));
+				if (one != null) {
+					IPropertyCompanyDistrictService bean2 = SpringUtils.getBean(IPropertyCompanyDistrictService.class);
+					// 通过物业公司,查询小区
+					List<PropertyCompanyDistrictEntity> list = bean2.list(Wrappers.<PropertyCompanyDistrictEntity>lambdaQuery()
+						.eq(PropertyCompanyDistrictEntity::getPropertyCompanyId, one.getId()));
+					if (list.size() > 0) {
+						List<String> collect = list.stream().map(i -> i.getDistrictId()).collect(Collectors.toList());
+						districtIds.addAll(collect);
+					}
+				}
+				district.setDistrictIdList(districtIds);
+				if (districtIds.size() == 0) {
+					return new ArrayList<>();
+				}
+			}
+		}
 		Map<String, TreeStringNode> districtTree = baseMapper.getDistrictTree(district);
 		List<TreeStringNode> stringNodeTree = NodeTreeUtil.getStringNodeTree(districtTree);
 		stringNodeTree.forEach(node -> recursion(node));

--
Gitblit v1.9.3