From 9ba12dad011e2afa278833f37aba895a632ccb9c Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Mon, 06 May 2024 14:45:16 +0800
Subject: [PATCH] 校园安全检查

---
 src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java |   78 +++++++++++++++++++++++----------------
 1 files changed, 46 insertions(+), 32 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 6e58274..35dff0c 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
@@ -22,6 +22,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.logging.log4j.util.Strings;
 import org.springblade.common.cache.SysCache;
+import org.springblade.common.constant.CommonConstant;
 import org.springblade.common.constant.DictConstant;
 import org.springblade.common.node.TreeStringNode;
 import org.springblade.common.param.CommonParamSet;
@@ -29,6 +30,7 @@
 import org.springblade.common.utils.NodeTreeUtil;
 import org.springblade.common.utils.SpringUtils;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.modules.backblast.entity.BackblastPubRecordEntity;
 import org.springblade.modules.category.dto.CategoryDTO;
 import org.springblade.modules.category.service.ICategoryService;
@@ -60,7 +62,9 @@
 import org.springblade.modules.house.vo.HouseholdVO;
 import org.springblade.modules.place.entity.PlaceEntity;
 import org.springblade.modules.place.entity.PlaceExtEntity;
+import org.springblade.modules.place.entity.PlacePoiLabel;
 import org.springblade.modules.place.service.IPlaceExtService;
+import org.springblade.modules.place.service.IPlacePoiLabelService;
 import org.springblade.modules.place.service.IPlaceService;
 import org.springblade.modules.place.vo.PlaceVO;
 import org.springblade.modules.police.entity.PoliceAffairsGridEntity;
@@ -130,7 +134,7 @@
 	/**
 	 * 根据角色获取功能集合数据
 	 *
-	 * @param type     1:查社区  2:查房屋和场所(居民角色)--2024/04/10  弃用
+	 * @param type      1:查社区  2:查房屋和场所(居民角色)--2024/04/10  弃用
 	 * @param roleNames --2024/04/10  弃用
 	 * @return
 	 */
@@ -179,7 +183,7 @@
 				return townList;
 			}
 			// 如果是居民
-			if (roleName.equals("inhabitant")) {
+			if (roleName.equals("inhabitant") || roleName.equals("xyzt") || roleName.equals("xyty")) {
 				return getInhabitantInfo(list);
 			}
 		}
@@ -270,7 +274,7 @@
 		List<TreeStringNode> list = new ArrayList<>();
 		Map<String, Object> map = new HashMap<>(2);
 		String roleName = SpringUtils.getRequestParam("roleName");
-		if (!Strings.isBlank(roleName)){
+		if (!Strings.isBlank(roleName)) {
 			houseParam.setRoleName(roleName);
 		}
 		// 获取网格员对应的地址编号集合
@@ -285,11 +289,11 @@
 		}
 		// 查楼栋,街路巷
 		if (houseParam.getType() == 2) {
-			return getBuildLevelData(houseParam,addressCodeList, map);
+			return getBuildLevelData(houseParam, addressCodeList, map);
 		}
 		// 查户室
 		if (houseParam.getType() == 3) {
-			return getHouseLevelData(houseParam,addressCodeList, map);
+			return getHouseLevelData(houseParam, addressCodeList, map);
 		}
 		return list;
 	}
@@ -301,15 +305,15 @@
 	 */
 	private void getGridInfoByGridman(HouseParam houseParam) {
 		if (houseParam.getRoleName().equals("wgy")) {
-			if (Strings.isBlank(houseParam.getRoleName())){
+			if (Strings.isBlank(houseParam.getRoleName())) {
 				houseParam.setRoleName(SpringUtils.getRequestParam("roleName"));
 			}
 			// 查询网格员的网格编号集合
 			List<String> gridCodeList
 				= SysCache.getGridRegionChildCodesByDeptId(AuthUtil.getDeptId(), null, houseParam.getRoleName());
 			String communityCode = SpringUtils.getRequestParam("communityCode");
-			List<GridVO> list = gridService.getGridListByComAndList(communityCode,gridCodeList);
-			if (list.size()>0){
+			List<GridVO> list = gridService.getGridListByComAndList(communityCode, gridCodeList);
+			if (list.size() > 0) {
 				GridVO grid = list.get(0);
 				houseParam.setCommunityName(grid.getCommunityName());
 				houseParam.setGridName(grid.getGridName());
@@ -324,7 +328,7 @@
 	 * @param map
 	 * @return
 	 */
-	private Map<String, Object> getHouseLevelData(HouseParam houseParam, List<String> stringList,Map<String, Object> map) {
+	private Map<String, Object> getHouseLevelData(HouseParam houseParam, List<String> stringList, Map<String, Object> map) {
 		// 判断地址类型
 		if (houseParam.getAddressType() == 1) {
 			List<FuncNode> aoiList = new ArrayList<>();
@@ -397,7 +401,7 @@
 	 * @param map
 	 * @return
 	 */
-	private Object getBuildLevelData(HouseParam houseParam,List<String> stringList, Map<String, Object> map) {
+	private Object getBuildLevelData(HouseParam houseParam, List<String> stringList, Map<String, Object> map) {
 		if (houseParam.getAddressType() == 4) {
 			// 获取网格员对应的网格信息
 			getGridInfoByGridman(houseParam);
@@ -626,12 +630,12 @@
 	 * @return
 	 */
 	@Override
-	public Object getHouseRentInfo(String code,Long houseId) {
+	public Object getHouseRentInfo(String code, Long houseId) {
 		DoorplateAddressVO doorplateAddressDetailVO = new DoorplateAddressVO();
-		if (Strings.isBlank(code) && null!=houseId) {
+		if (Strings.isBlank(code) && null != houseId) {
 			// 先查询门牌信息
 			doorplateAddressDetailVO = baseMapper.getDoorplateAddressDetailByHouseId(houseId);
-		}else {
+		} else {
 			// 先查询门牌信息
 			doorplateAddressDetailVO = baseMapper.getDoorplateAddressDetailByCode(code);
 		}
@@ -716,7 +720,7 @@
 	@Override
 	public List<DoorplateAddressVOTree> getHouseTree(HouseParam houseParam) {
 		String roleName = SpringUtils.getRequestParam("roleName");
-		if (!Strings.isBlank(roleName)){
+		if (!Strings.isBlank(roleName)) {
 			houseParam.setRoleName(roleName);
 		}
 		List<String> stringList = getHouseCodeList(houseParam);
@@ -743,7 +747,7 @@
 				// 查询对应的房屋地址code
 //				addressCodeList = gridService.getAddressCodeListByUserId(AuthUtil.getUserId(),null);
 				addressCodeList =
-					gridService.getAddressCodeListByGridCodeList(SpringUtils.getRequestParam("communityCode"),gridCodeList);
+					gridService.getAddressCodeListByGridCodeList(SpringUtils.getRequestParam("communityCode"), gridCodeList);
 			}
 		}
 		return addressCodeList;
@@ -762,7 +766,7 @@
 		if (null != houseParam.getRoleName() && !houseParam.getRoleName().equals("")) {
 			if (houseParam.getRoleName().equals("mj") && !userId.equals("1726859808689696770")) {
 				// 查询对应社区编号集合
-				stringList = SysCache.getGridRegionChildCodesByDeptId(AuthUtil.getDeptId(),null,houseParam.getRoleName());
+				stringList = SysCache.getGridRegionChildCodesByDeptId(AuthUtil.getDeptId(), null, houseParam.getRoleName());
 			}
 		}
 		return stringList;
@@ -825,14 +829,14 @@
 						String point = "'POINT(" + doorplateAddressEntity.getX() + " " + doorplateAddressEntity.getY() + ")'";
 						//点坐标解析网格
 						List<GridEntity> gridEntityList = gridService.spatialAnalysis(point);
-						if (gridEntityList.size()>0){
+						if (gridEntityList.size() > 0) {
 							GridEntity gridEntity = gridEntityList.get(0);
 							houseEntity.setGridId(gridEntity.getId());
 							houseEntity.setGridCode(gridEntity.getGridCode());
 						}
 						//点坐标解析警格
 						List<PoliceAffairsGridEntity> policeAffairsGridEntityList = policeAffairsGridService.spatialAnalysis(point);
-						if (policeAffairsGridEntityList.size()>0){
+						if (policeAffairsGridEntityList.size() > 0) {
 							PoliceAffairsGridEntity policeAffairsGridEntity = policeAffairsGridEntityList.get(0);
 							houseEntity.setJwGridCode(policeAffairsGridEntity.getJwGridCode());
 						}
@@ -931,14 +935,14 @@
 				String point = "'POINT(" + addressEntity.getX() + " " + addressEntity.getY() + ")'";
 				//点坐标解析网格
 				List<GridEntity> gridEntityList = gridService.spatialAnalysis(point);
-				if (gridEntityList.size()>0){
+				if (gridEntityList.size() > 0) {
 					GridEntity gridEntity = gridEntityList.get(0);
 					placeEntity.setGridId(gridEntity.getId());
 					placeEntity.setGridCode(gridEntity.getGridCode());
 				}
 				//点坐标解析警格
 				List<PoliceAffairsGridEntity> policeAffairsGridEntityList = policeAffairsGridService.spatialAnalysis(point);
-				if (policeAffairsGridEntityList.size()>0){
+				if (policeAffairsGridEntityList.size() > 0) {
 					PoliceAffairsGridEntity policeAffairsGridEntity = policeAffairsGridEntityList.get(0);
 					placeEntity.setJwGridCode(policeAffairsGridEntity.getJwGridCode());
 				}
@@ -1001,13 +1005,13 @@
 					// 无权限
 					doorplateAddressVO.setIsJur(2);
 //					list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId(),doorplateAddress.getAddressCode());
-					list = SysCache.getGridRegionChildCodesByDeptId(AuthUtil.getDeptId(),null,roleName);
+					list = SysCache.getGridRegionChildCodesByDeptId(AuthUtil.getDeptId(), null, roleName);
 					if (null != list && list.size() > 0) {
 						List<String> arrayList = new ArrayList<>();
 						for (String gridCode : list) {
-							if (gridCode.length()>12) {
+							if (gridCode.length() > 12) {
 								arrayList.add(gridCode.substring(0, gridCode.length() - 2));
-							}else {
+							} else {
 								arrayList.add(gridCode);
 							}
 						}
@@ -1016,11 +1020,11 @@
 							doorplateAddressVO.setIsJur(1);
 						}
 					}
-				}else if (roleName.equals("mj")) {
+				} else if (roleName.equals("mj")) {
 					// 无权限
 					doorplateAddressVO.setIsJur(2);
 					// 查询对应的社区code
-					list = SysCache.getGridRegionChildCodesByDeptId(AuthUtil.getDeptId(),null,roleName);
+					list = SysCache.getGridRegionChildCodesByDeptId(AuthUtil.getDeptId(), null, roleName);
 					if (null != list && list.size() > 0) {
 						boolean contains = list.contains(doorplateAddressVO.getNeiCode());
 						if (contains) {
@@ -1032,13 +1036,21 @@
 					doorplateAddressVO.setIsJur(1);
 				}
 			}
-			if(doorplateAddressVO != null ){
+			if (doorplateAddressVO != null) {
 				//  获取房屋标签
 				IUserHouseLabelService userHouseLabelService = SpringUtils.getBean(IUserHouseLabelService.class);
 				List<UserHouseLabelEntity> houseLabelEntityList = userHouseLabelService.list(Wrappers.<UserHouseLabelEntity>lambdaQuery()
 					.eq(UserHouseLabelEntity::getHouseCode, doorplateAddressVO.getAddressCode())
 					.eq(UserHouseLabelEntity::getLableType, 2));
 				doorplateAddressVO.setUserHouseLabelVOList(houseLabelEntityList);
+				// 查询房屋类别
+				IPlacePoiLabelService poiLabelService = SpringUtils.getBean(IPlacePoiLabelService.class);
+				PlacePoiLabel placePoiLabel = poiLabelService.getOne(Wrappers.<PlacePoiLabel>lambdaQuery()
+					.eq(PlacePoiLabel::getPlaceId, doorplateAddressVO.getPid())
+					.eq(PlacePoiLabel::getType, CommonConstant.NUMBER_THREE));
+				if(ObjectUtil.isNotEmpty(placePoiLabel)){
+					doorplateAddressVO.setLableCode(placePoiLabel.getPoiCode());
+				}
 			}
 			return doorplateAddressVO;
 		}
@@ -1106,19 +1118,20 @@
 
 	/**
 	 * 网格范围数据处理
+	 *
 	 * @return
 	 */
 	@Override
-	public boolean gridRangeDataHandle(String townName,String communityName) {
+	public boolean gridRangeDataHandle(String townName, String communityName) {
 		// 查询未匹配的网格范围地址信息
 		// 查询总数
-		Integer count = baseMapper.getNotBindGridRangeDoorListCount(townName,communityName);
+		Integer count = baseMapper.getNotBindGridRangeDoorListCount(townName, communityName);
 		if (count > 0) {
 			IGridRangeService gridRangeService = SpringUtils.getBean(IGridRangeService.class);
 			int num = count / 1000;
 			for (int i = 0; i <= num + 1; i++) {
 				// 查询所有未匹配的网格范围地址数据
-				List<DoorplateAddressEntity> list = baseMapper.getNotBindGridRangeDoorList(townName,communityName);
+				List<DoorplateAddressEntity> list = baseMapper.getNotBindGridRangeDoorList(townName, communityName);
 				// 需要新增的网格范围 list
 				List<GridRangeEntity> gridRangeEntityList = new ArrayList<>();
 				// 处理户室数据
@@ -1132,7 +1145,7 @@
 						String point = "'POINT(" + doorplateAddressEntity.getX() + " " + doorplateAddressEntity.getY() + ")'";
 						//点坐标解析网格
 						List<GridEntity> gridEntityList = gridService.spatialAnalysis(point);
-						if (gridEntityList.size()>0){
+						if (gridEntityList.size() > 0) {
 							GridRangeEntity gridRangeEntity = new GridRangeEntity();
 							gridRangeEntity.setHouseCode(doorplateAddressEntity.getAddressCode());
 							gridRangeEntity.setDistrictCode(doorplateAddressEntity.getAoiCode());
@@ -1154,15 +1167,16 @@
 
 	/**
 	 * 设置警格网格信息
+	 *
 	 * @param doorplateAddressEntity
 	 */
-	public void setGridInfo(DoorplateAddressEntity doorplateAddressEntity,GridRangeEntity gridRangeEntity) {
+	public void setGridInfo(DoorplateAddressEntity doorplateAddressEntity, GridRangeEntity gridRangeEntity) {
 		// 根据位置设置网格,警格编号
 //		IPoliceAffairsGridService policeAffairsGridService = SpringUtils.getBean(IPoliceAffairsGridService.class);
 		String point = "'POINT(" + doorplateAddressEntity.getX() + " " + doorplateAddressEntity.getY() + ")'";
 		//点坐标解析网格
 		List<GridEntity> gridEntityList = gridService.spatialAnalysis(point);
-		if (gridEntityList.size()>0){
+		if (gridEntityList.size() > 0) {
 			GridEntity gridEntity = gridEntityList.get(0);
 			gridRangeEntity.setGridId(gridEntity.getId());
 			gridRangeEntity.setGridCode(gridEntity.getGridCode());

--
Gitblit v1.9.3