From 1fc5eb0f49503520ee7dc3bd717c965011625b27 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 19 Dec 2023 15:11:41 +0800
Subject: [PATCH] 新增地址查询详情接口(判断是否有权限查看),场所信息查询新增条件

---
 src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml             |    5 ++
 src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java            |    7 +++
 src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java         |    5 ++
 src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java                       |    5 ++
 src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java |   30 +++++++++++++++
 src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java    |    8 ++++
 src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVO.java                    |   10 +++++
 src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml                                   |    8 +++
 8 files changed, 76 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java b/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
index 737af5f..aef1f56 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
@@ -64,6 +64,14 @@
 	}
 
 	/**
+	 * 门牌地址表(总台账数据) 自定义详情
+	 */
+	@GetMapping("/getDetail")
+	public R getDetail(DoorplateAddressVO doorplateAddress) {
+		return R.data(doorplateAddressService.getDetail(doorplateAddress));
+	}
+
+	/**
 	 * 门牌地址表(总台账数据) 分页
 	 */
 	@GetMapping("/list")
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
index 47c4f02..017bc4b 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
@@ -196,4 +196,11 @@
 	 * @return
 	 */
 	List<DoorplateAddressEntity> getPlaceList();
+
+	/**
+	 * 查询详情
+	 * @param doorplateAddress
+	 * @return
+	 */
+	DoorplateAddressVO getDoorplateAddressVODetail(@Param("doorplateAddress") DoorplateAddressVO doorplateAddress);
 }
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
index 641c412..235dcfa 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
@@ -454,4 +454,9 @@
             )
         ) a on jda.id = a.id
     </select>
+
+    <!--查询所有的地址表和场所表差集集合(小区和非小区的)-->
+    <select id="getDoorplateAddressVODetail" resultType="org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO">
+        select jda.* from jczz_doorplate_address jda where address_code = #{doorplateAddress.addressCode}
+    </select>
 </mapper>
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java b/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
index 07577f6..038dba5 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
@@ -110,4 +110,9 @@
 	 * @return
 	 */
     Object placeDataHandle();
+
+	/**
+	 * 门牌地址表(总台账数据) 自定义详情
+	 */
+    Object getDetail(DoorplateAddressVO doorplateAddress);
 }
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 ec84d7a..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
@@ -706,4 +706,34 @@
 		// 返回
 		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;
+	}
 }
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVO.java b/src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVO.java
index 663bf19..1430d3e 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVO.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVO.java
@@ -31,5 +31,15 @@
 	//对应address_code
 	private String stdId;
 
+	/**
+	 * roleName
+	 */
+	private String roleName;
+
+	/**
+	 * 是否有权限 1:是   2:否
+	 */
+	private Integer isJur;
+
 
 }
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
index 5eb0894..2f8844e 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -29,7 +29,7 @@
         ) b on a.id = b.id
         ) jppl on jppl.place_id = jp.id
         where jp.is_deleted = 0
-        <if test="place.roleName!=null and place.roleName!=''">
+        <if test="place.roleName!=null and place.roleName!='' and place.createUser!=null">
             <choose>
                 <when test="place.roleName=='网格员'">
                     and
@@ -57,6 +57,12 @@
         <if test="place.principalPhone!=null and place.principalPhone!=''">
             and jp.principal_phone like concat('%',#{place.principalPhone},'%')
         </if>
+        <if test="place.houseCode!=null and place.houseCode!=''">
+            and jp.house_code = #{place.houseCode}
+        </if>
+        <if test="place.id!=null">
+            and jp.id = #{place.id}
+        </if>
         <if test="place.isPerfect==1">
             and
             (
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
index 004b686..119b81b 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -84,9 +84,12 @@
 			if (place.getRoleName().equals("网格员")){
 				// 查询对应的房屋地址code
 				list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
+				place.setCreateUser(AuthUtil.getUserId());
+			}
+			if (!place.getRoleName().equals("系统管理员")){
+				place.setCreateUser(AuthUtil.getUserId());
 			}
 		}
-		place.setCreateUser(AuthUtil.getUserId());
 		return page.setRecords(baseMapper.selectPlacePage(page, place,list));
 	}
 

--
Gitblit v1.9.3