From 7b6ad0f09bfc5cd45a1aacfdfe55e69a02b9ff26 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 19 Dec 2023 20:43:14 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java |   88 ++++++++++++++++++++++++++++++++------------
 1 files changed, 64 insertions(+), 24 deletions(-)

diff --git a/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java b/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
index 798ed95..530a69f 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
@@ -651,18 +651,26 @@
 		List<DistrictEntity> aoiList = new ArrayList<>();
 		// 将小区数据保存到小区表中
 		for (DoorplateAddressEntity addressEntity : list) {
-			DistrictEntity districtEntity = new DistrictEntity();
-			districtEntity.setCommunityCode(addressEntity.getNeiCode());
-			districtEntity.setAoiCode(addressEntity.getAoiCode());
-			districtEntity.setName(addressEntity.getAoiName());
-			districtEntity.setAddress(addressEntity.getAddressName());
-			districtEntity.setLng(addressEntity.getX());
-			districtEntity.setLat(addressEntity.getY());
-			// 加入集合
-			aoiList.add(districtEntity);
+			// 查询小区是否已存在,不存在则插入,否则不新增
+			QueryWrapper<DistrictEntity> wrapper = new QueryWrapper<>();
+			wrapper.eq("aoi_code",addressEntity.getAoiCode())
+			.eq("is_deleted",0);
+			DistrictEntity one = districtService.getOne(wrapper);
+			if (null==one) {
+				DistrictEntity districtEntity = new DistrictEntity();
+				districtEntity.setCommunityCode(addressEntity.getNeiCode());
+				districtEntity.setAoiCode(addressEntity.getAoiCode());
+				districtEntity.setName(addressEntity.getAoiName());
+				districtEntity.setAddress(addressEntity.getAddressName());
+				districtEntity.setLng(addressEntity.getX());
+				districtEntity.setLat(addressEntity.getY());
+				// 加入集合
+				districtService.save(districtEntity);
+//				aoiList.add(districtEntity);
+			}
 		}
 		// 批量插入
-		districtService.saveBatch(aoiList);
+//		districtService.saveBatch(aoiList);
 		// 返回
 		return null;
 	}
@@ -678,22 +686,54 @@
 		List<DoorplateAddressEntity> list = baseMapper.getPlaceList();
 		// 创建场所集合对象
 		List<PlaceEntity> placeList = new ArrayList<>();
-		// 将场所数据保存到场所表中
-		for (DoorplateAddressEntity addressEntity : list) {
-			PlaceEntity placeEntity = new PlaceEntity();
-			placeEntity.setHouseCode(addressEntity.getAddressCode());
-			placeEntity.setPlaceName(addressEntity.getPoi());
-			placeEntity.setLng(addressEntity.getX());
-			placeEntity.setLat(addressEntity.getY());
-			placeEntity.setLocaltion(addressEntity.getAddressName());
-			// 设置来源( 1:地址总表  2:国控采集)
-			placeEntity.setSource(1);
-			// 加入集合
-			placeList.add(placeEntity);
+		if (list.size()>0) {
+			// 将场所数据保存到场所表中
+			for (DoorplateAddressEntity addressEntity : list) {
+				PlaceEntity placeEntity = new PlaceEntity();
+				placeEntity.setHouseCode(addressEntity.getAddressCode());
+				placeEntity.setPlaceName(addressEntity.getPoi());
+				placeEntity.setLng(addressEntity.getX());
+				placeEntity.setLat(addressEntity.getY());
+				placeEntity.setLocaltion(addressEntity.getAddressName());
+				// 设置来源( 1:地址总表  2:国控采集)
+				placeEntity.setSource(1);
+				// 加入集合
+				placeList.add(placeEntity);
+			}
+			// 批量插入
+			placeService.saveBatch(placeList);
 		}
-		// 批量插入
-		placeService.saveBatch(placeList);
 		// 返回
 		return null;
 	}
+
+	/**
+	 * 门牌地址表(总台账数据) 自定义详情
+	 */
+	@Override
+	public Object getDetail(DoorplateAddressVO doorplateAddress) {
+		List<String> list = new ArrayList<>();
+		// 扫码时调用,需判断是否有权限查看
+		DoorplateAddressVO one = baseMapper.getDoorplateAddressVODetail(doorplateAddress);
+		if (null!=one){
+			if (!Strings.isBlank(doorplateAddress.getRoleName())) {
+				// 判断是否有权限
+				if (doorplateAddress.getRoleName().equals("网格员")) {
+					list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
+					boolean contains = list.contains(doorplateAddress.getAddressCode());
+					if (list.size()==0 || !contains){
+						// 无权限
+						one.setIsJur(2);
+					}else {
+						one.setIsJur(1);
+					}
+				}else {
+					// 不限制
+					one.setIsJur(1);
+				}
+			}
+			return one;
+		}
+		return null;
+	}
 }

--
Gitblit v1.9.3