From 76d431070dbe0647c0470632b1b70becb357debd Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 21 Nov 2023 12:01:29 +0800
Subject: [PATCH] 新增商超展示,逻辑调整
---
src/main/java/org/springblade/common/node/TreeNode.java | 2
src/main/java/org/springblade/modules/place/service/IPlaceRelService.java | 8 +
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java | 41 ++++--
src/main/java/org/springblade/modules/place/controller/PlaceController.java | 2
src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.xml | 16 ++
src/main/java/org/springblade/modules/grid/mapper/GridMapper.java | 9 +
src/main/java/org/springblade/modules/house/vo/HouseParam.java | 15 ++
src/main/java/org/springblade/modules/place/service/impl/PlaceRelServiceImpl.java | 12 +
src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml | 49 ++++++++
src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java | 11 +
src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java | 14 ++
src/main/java/org/springblade/modules/place/service/IPlaceService.java | 2
src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml | 12 ++
src/main/java/org/springblade/modules/doorplateAddress/vo/FuncNode.java | 2
src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.java | 11 +
src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java | 107 +++++++++++++----
src/main/java/org/springblade/modules/place/vo/PlaceVO.java | 4
src/main/java/org/springblade/modules/grid/service/IGridService.java | 8 +
18 files changed, 274 insertions(+), 51 deletions(-)
diff --git a/src/main/java/org/springblade/common/node/TreeNode.java b/src/main/java/org/springblade/common/node/TreeNode.java
index 4297f25..8d96d04 100644
--- a/src/main/java/org/springblade/common/node/TreeNode.java
+++ b/src/main/java/org/springblade/common/node/TreeNode.java
@@ -50,7 +50,7 @@
/**
- * 地址类型 1:小区 2:非小区 3:街路巷
+ * 地址类型 1:小区 2:非小区 3:街路巷 4:商超
*/
private Integer addressType;
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 079f930..1a29119 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
@@ -164,4 +164,18 @@
* @return
*/
List<DoorplateAddressEntity> getHouseList();
+
+ /**
+ * 查询商超
+ * @param houseParam
+ * @return
+ */
+ List<TreeNode> getPlaceRelList(@Param("houseParam") HouseParam houseParam);
+
+ /**
+ * 查询商超详情集合
+ * @param houseParam
+ * @return
+ */
+ List<FuncNode> getPlaceRelDetailList(@Param("houseParam") HouseParam houseParam);
}
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 a29c098..6a11449 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
@@ -98,6 +98,19 @@
<include refid="filterHouseGrid"/>
group by nei_code
)
+ union all
+ (
+ select '商超' as id,'商超' as name,4 as addressType from jczz_place_rel jpl
+ join jczz_place jp on jpl.place_id = jp.id and jp.is_deleted = 0
+ where jpl.is_deleted = 0
+ <if test="houseParam.communityName!=null and houseParam.communityName!=''">
+ and community_name like concat('%',#{houseParam.communityName},'%')
+ </if>
+ <if test="houseParam.gridName!=null and houseParam.gridName!=''">
+ and grid_name like concat('%',#{houseParam.gridName},'%')
+ </if>
+ limit 1
+ )
</select>
<!--根据小区名称查询楼栋/商铺集合-->
@@ -215,7 +228,8 @@
<!--根据街路巷编号查询街路巷门牌名称集合-->
<select id="getDoorplateNameList" resultType="org.springblade.modules.doorplateAddress.vo.FuncNode">
select address_code as addressCode,
- IFNULL(CONCAT(doorplate_num,sub_door_plate_no), IF(doorplate_num IS NULL, sub_door_plate_no, doorplate_num)) as floor
+ IFNULL(CONCAT(doorplate_num,sub_door_plate_no), IF(doorplate_num IS NULL, sub_door_plate_no, doorplate_num)) as floor,
+ 3 as addressType
from jczz_doorplate_address
where 1=1
and street_ru_code = #{houseParam.code}
@@ -325,4 +339,37 @@
)
</select>
+ <!--查询商超-->
+ <select id="getPlaceRelList" resultType="org.springblade.common.node.TreeNode">
+ select building_name as id,building_name as name,4 as addressType from jczz_place_rel jpl
+ join jczz_place jp on jpl.place_id = jp.id and jp.is_deleted = 0
+ where jpl.is_deleted = 0
+ <if test="houseParam.communityName!=null and houseParam.communityName!=''">
+ and community_name like concat('%',#{houseParam.communityName},'%')
+ </if>
+ <if test="houseParam.gridName!=null and houseParam.gridName!=''">
+ and grid_name like concat('%',#{houseParam.gridName},'%')
+ </if>
+ group by building_name
+ </select>
+
+ <!--查询商超详情集合-->
+ <select id="getPlaceRelDetailList" resultType="org.springblade.modules.doorplateAddress.vo.FuncNode">
+ select jp.id as addressCode,
+ doorplate_num as floor,
+ 4 as addressType
+ from jczz_place_rel jpl
+ join jczz_place jp on jpl.place_id = jp.id and jp.is_deleted = 0
+ where jpl.is_deleted = 0
+ <if test="houseParam.communityName!=null and houseParam.communityName!=''">
+ and community_name like concat('%',#{houseParam.communityName},'%')
+ </if>
+ <if test="houseParam.gridName!=null and houseParam.gridName!=''">
+ and grid_name like concat('%',#{houseParam.gridName},'%')
+ </if>
+ <if test="houseParam.buildingName!=null and houseParam.buildingName!=''">
+ and building_name = #{houseParam.buildingName}
+ </if>
+ </select>
+
</mapper>
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 2f0a741..86ef42f 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
@@ -21,6 +21,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import liquibase.repackaged.org.apache.commons.lang3.StringUtils;
+import org.apache.logging.log4j.util.Strings;
import org.springblade.common.constant.DictConstant;
import org.springblade.common.node.TreeNode;
import org.springblade.common.utils.NodeTreeUtil;
@@ -31,6 +32,7 @@
import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO;
import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree;
import org.springblade.modules.doorplateAddress.vo.FuncNode;
+import org.springblade.modules.grid.entity.GridEntity;
import org.springblade.modules.grid.service.IGridService;
import org.springblade.modules.house.entity.HouseEntity;
import org.springblade.modules.house.service.IHouseRentalService;
@@ -190,7 +192,10 @@
public Object getHousesList(HouseParam houseParam) {
List<TreeNode> list = new ArrayList<>();
Map<String, Object> map = new HashMap<>(2);
+ // 获取网格员对应的地址编号集合
List<String> stringList = getHouseCodeList(houseParam);
+ // 获取网格员对应的网格信息
+ getGridInfoByGridman(houseParam);
// 查小区,场所
if (houseParam.getType()==1){
// 根据社区名称查询小区集合
@@ -205,6 +210,28 @@
return getHouseLevelData(houseParam, map);
}
return list;
+ }
+
+ /**
+ * 获取网格员对应的网格信息
+ * @param houseParam
+ */
+ private void getGridInfoByGridman(HouseParam houseParam) {
+ if (houseParam.getRoleName().equals("网格员")) {
+ QueryWrapper<GridEntity> wrapper = new QueryWrapper<>();
+ wrapper.eq("is_deleted", 0)
+ .eq("user_id", AuthUtil.getUserId());
+ List<GridEntity> list = gridService.list(wrapper);
+ if (list.size() > 0) {
+ GridEntity gridEntity = list.get(0);
+ if (!Strings.isBlank(gridEntity.getCommunityName())) {
+ houseParam.setCommunityName(gridEntity.getCommunityName().split("居民委员会")[0]);
+ }
+ if (!Strings.isBlank(gridEntity.getGridName())) {
+ houseParam.setGridName(gridEntity.getGridName());
+ }
+ }
+ }
}
/**
@@ -236,7 +263,8 @@
map.put("shopList",shopList);
// 返回
return map;
- }else{
+ }
+ if(houseParam.getAddressType()==3){
// 根据街路巷编号查询街路巷门牌名称集合
List<FuncNode> doorplateNameList = baseMapper.getDoorplateNameList(houseParam,stringList);
map.put("aoiList",new ArrayList<>());
@@ -244,6 +272,16 @@
// 返回
return map;
}
+ if(houseParam.getAddressType()==4){
+ getGridInfoByGridman(houseParam);
+ // 查询商超
+ List<FuncNode> doorplateNameList = baseMapper.getPlaceRelDetailList(houseParam);
+ map.put("aoiList",new ArrayList<>());
+ map.put("shopList",doorplateNameList);
+ // 返回
+ return map;
+ }
+ return map;
}
/**
@@ -253,37 +291,48 @@
* @return
*/
private Object getBuildLevelData(HouseParam houseParam,Map<String, Object> map) {
- List<String> stringList = getHouseCodeList(houseParam);
- // 判断 code 长度,如果 code 长度大于 12 则为小区查楼栋/商铺,否则则按社区查街路巷
- if (houseParam.getCode().length()>12){
- List<TreeNode> aoiList = new ArrayList<>();
- List<TreeNode> shopList = new ArrayList<>();
- // 根据社区名称查询楼栋或者商铺的集合
-
- List<TreeNode> list = baseMapper.getBuildingList(houseParam,stringList);
- // 排序 StringUtils.getDigits(X.getName()) 取出数字排序
- List<TreeNode> sortList = list.stream().sorted(Comparator.comparing(X -> StringUtils.getDigits(X.getName()))).collect(Collectors.toList());
- if (list.size()>0){
- for (TreeNode treeNode : sortList) {
- if (treeNode.getAddressType()==1){
- aoiList.add(treeNode);
- }
- if (treeNode.getAddressType()==2){
- shopList.add(treeNode);
- }
- }
- }
- map.put("aoiList",aoiList);
- map.put("shopList",shopList);
+ if (houseParam.getAddressType()==4){
+ // 获取网格员对应的网格信息
+ getGridInfoByGridman(houseParam);
+ // 查询商超
+ List<TreeNode> list = baseMapper.getPlaceRelList(houseParam);
+ map.put("aoiList", new ArrayList<>());
+ map.put("shopList", list);
// 返回
return map;
}else {
- // 查询街路巷
- List<TreeNode> list = baseMapper.getStreetRuList(houseParam,stringList);
- map.put("aoiList",new ArrayList<>());
- map.put("shopList",list);
- // 返回
- return map;
+ List<String> stringList = getHouseCodeList(houseParam);
+ // 判断 code 长度,如果 code 长度大于 12 则为小区查楼栋/商铺,否则则按社区查街路巷
+ if (houseParam.getCode().length() > 12) {
+ List<TreeNode> aoiList = new ArrayList<>();
+ List<TreeNode> shopList = new ArrayList<>();
+ // 根据社区名称查询楼栋或者商铺的集合
+
+ List<TreeNode> list = baseMapper.getBuildingList(houseParam, stringList);
+ // 排序 StringUtils.getDigits(X.getName()) 取出数字排序
+ List<TreeNode> sortList = list.stream().sorted(Comparator.comparing(X -> StringUtils.getDigits(X.getName()))).collect(Collectors.toList());
+ if (list.size() > 0) {
+ for (TreeNode treeNode : sortList) {
+ if (treeNode.getAddressType() == 1) {
+ aoiList.add(treeNode);
+ }
+ if (treeNode.getAddressType() == 2) {
+ shopList.add(treeNode);
+ }
+ }
+ }
+ map.put("aoiList", aoiList);
+ map.put("shopList", shopList);
+ // 返回
+ return map;
+ } else {
+ // 查询街路巷
+ List<TreeNode> list = baseMapper.getStreetRuList(houseParam, stringList);
+ map.put("aoiList", new ArrayList<>());
+ map.put("shopList", list);
+ // 返回
+ return map;
+ }
}
}
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/vo/FuncNode.java b/src/main/java/org/springblade/modules/doorplateAddress/vo/FuncNode.java
index 38b0b48..362b8d1 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/vo/FuncNode.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/vo/FuncNode.java
@@ -49,7 +49,7 @@
private String residentialStatus;
/**
- * 地址类型 1:小区 2:非小区
+ * 地址类型 1:小区 2:非小区 3:商超
*/
private Integer addressType;
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
index 7f2178e..18446bb 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
@@ -21,6 +21,8 @@
import org.springblade.modules.grid.vo.GridVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.place.vo.PlaceVO;
+
import java.util.List;
/**
@@ -58,4 +60,11 @@
* 空间分析 mysql 5.7 点落面
*/
GridEntity spatialAnalysis(@Param("point")String point);
+
+ /**
+ * 根据参数查询网格数据
+ * @param place
+ * @return
+ */
+ GridVO getGridDetailByParam(@Param("place") PlaceVO place);
}
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
index 3f07461..52d3ba7 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
@@ -31,5 +31,17 @@
SELECT * FROM jczz_grid WHERE ST_Intersects(geom, ST_GeomFromText(${point},0))
</select>
+ <!--根据地址编号查询网格数据-->
+ <select id="getGridDetailByParam" resultType="org.springblade.modules.grid.vo.GridVO">
+ select jg.id,jg.grid_name,jg.community_name,
+ bu.real_name as realName,bu.phone as gridPhone
+ from jczz_grid jg
+ left join jczz_grid_range jgr on jg.id = jgr.grid_id
+ left join jczz_place_rel jpr on locate(jpr.community_name,jg.community_name)>0 and locate(jpr.grid_name,jg.grid_name)>0 and jpr.is_deleted = 0
+ left join blade_user bu on bu.id = jg.user_id and bu.is_deleted = 0
+ where jg.is_deleted = 0
+ and jpr.place_id = #{place.id}
+ limit 1
+ </select>
</mapper>
diff --git a/src/main/java/org/springblade/modules/grid/service/IGridService.java b/src/main/java/org/springblade/modules/grid/service/IGridService.java
index a9bc28c..fdc1974 100644
--- a/src/main/java/org/springblade/modules/grid/service/IGridService.java
+++ b/src/main/java/org/springblade/modules/grid/service/IGridService.java
@@ -22,6 +22,7 @@
import org.springblade.modules.grid.vo.GridVO;
import org.springblade.core.mp.base.BaseService;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.place.vo.PlaceVO;
import java.util.List;
@@ -67,4 +68,11 @@
* 空间分析
*/
Object spatialAnalysis();
+
+ /**
+ * 根据参数查询网格数据
+ * @param place
+ * @return
+ */
+ GridVO getGridDetailByParam(PlaceVO place);
}
diff --git a/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java b/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
index b633976..acbe123 100644
--- a/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
+++ b/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
@@ -30,6 +30,7 @@
import org.springblade.modules.grid.mapper.GridMapper;
import org.springblade.modules.grid.service.IGridService;
import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.place.vo.PlaceVO;
import org.springblade.modules.system.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -141,4 +142,14 @@
}
return null;
}
+
+ /**
+ * 根据参数查询网格数据
+ * @param place
+ * @return
+ */
+ @Override
+ public GridVO getGridDetailByParam(PlaceVO place) {
+ return baseMapper.getGridDetailByParam(place);
+ }
}
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseParam.java b/src/main/java/org/springblade/modules/house/vo/HouseParam.java
index 6482744..a1d9ddb 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseParam.java
+++ b/src/main/java/org/springblade/modules/house/vo/HouseParam.java
@@ -31,4 +31,19 @@
* 角色名称
*/
private String roleName;
+
+ /**
+ * 网格名称
+ */
+ private String gridName;
+
+ /**
+ * 社区名称
+ */
+ private String communityName;
+
+ /**
+ * 商超写字楼名称
+ */
+ private String buildingName;
}
diff --git a/src/main/java/org/springblade/modules/place/controller/PlaceController.java b/src/main/java/org/springblade/modules/place/controller/PlaceController.java
index c30d9a6..fe3d131 100644
--- a/src/main/java/org/springblade/modules/place/controller/PlaceController.java
+++ b/src/main/java/org/springblade/modules/place/controller/PlaceController.java
@@ -162,7 +162,7 @@
* @return
*/
@GetMapping("/getDetail")
- public R<PlaceVO> getDetail(PlaceEntity place) {
+ public R<PlaceVO> getDetail(PlaceVO place) {
return R.data(placeService.getDetail(place));
}
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.java b/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.java
index 8011ea4..4346372 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.java
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.java
@@ -16,10 +16,14 @@
*/
package org.springblade.modules.place.mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
import org.springblade.modules.place.entity.PlaceRelEntity;
import org.springblade.modules.place.vo.PlaceRelVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.place.vo.PlaceVO;
+
import java.util.List;
/**
@@ -39,5 +43,10 @@
*/
List<PlaceRelVO> selectPlaceRelPage(IPage page, PlaceRelVO placeRel);
-
+ /**
+ * 查询地址编码信息(社区派出所相关信息)
+ * @param place
+ * @return
+ */
+ DoorplateAddressEntity getDoorplateAddressEntity(@Param("place") PlaceVO place);
}
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.xml
index 5903b7c..fb30a3c 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.xml
@@ -25,5 +25,21 @@
select * from jczz_place_rel where is_deleted = 0
</select>
+ <!--查询地址编码信息(社区派出所相关信息)-->
+ <select id="getDoorplateAddressEntity" resultType="org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity">
+ select
+ street_name as townStreetName,
+ community_name as neiName,
+ jda.branch_name,
+ jda.local_police_station_name,
+ jda.policeman,
+ jda.policeman_phone
+ from jczz_place_rel jpr
+ left join jczz_doorplate_address jda on locate(jpr.community_name,jda.nei_name)>0
+ where is_deleted = 0
+ and place_id = #{place.id}
+ limit 1
+ </select>
+
</mapper>
diff --git a/src/main/java/org/springblade/modules/place/service/IPlaceRelService.java b/src/main/java/org/springblade/modules/place/service/IPlaceRelService.java
index a3aae8b..5aa43bb 100644
--- a/src/main/java/org/springblade/modules/place/service/IPlaceRelService.java
+++ b/src/main/java/org/springblade/modules/place/service/IPlaceRelService.java
@@ -17,9 +17,11 @@
package org.springblade.modules.place.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
import org.springblade.modules.place.entity.PlaceRelEntity;
import org.springblade.modules.place.vo.PlaceRelVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.place.vo.PlaceVO;
/**
* 场所区域关联信息表(商超) 服务类
@@ -39,4 +41,10 @@
IPage<PlaceRelVO> selectPlaceRelPage(IPage<PlaceRelVO> page, PlaceRelVO placeRel);
+ /**
+ * 查询地址编码信息(社区派出所相关信息)
+ * @param place
+ * @return
+ */
+ DoorplateAddressEntity getDoorplateAddressEntity(PlaceVO place);
}
diff --git a/src/main/java/org/springblade/modules/place/service/IPlaceService.java b/src/main/java/org/springblade/modules/place/service/IPlaceService.java
index 9db4a3f..e58114d 100644
--- a/src/main/java/org/springblade/modules/place/service/IPlaceService.java
+++ b/src/main/java/org/springblade/modules/place/service/IPlaceService.java
@@ -77,7 +77,7 @@
* @param place
* @return
*/
- PlaceVO getDetail(PlaceEntity place);
+ PlaceVO getDetail(PlaceVO place);
/**
* 场所数据到导入
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceRelServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceRelServiceImpl.java
index f8363d6..3a98856 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceRelServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceRelServiceImpl.java
@@ -17,11 +17,13 @@
package org.springblade.modules.place.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
import org.springblade.modules.place.entity.PlaceRelEntity;
import org.springblade.modules.place.vo.PlaceRelVO;
import org.springblade.modules.place.mapper.PlaceRelMapper;
import org.springblade.modules.place.service.IPlaceRelService;
import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.place.vo.PlaceVO;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -39,5 +41,13 @@
return page.setRecords(baseMapper.selectPlaceRelPage(page, placeRel));
}
-
+ /**
+ * 查询地址编码信息(社区派出所相关信息)
+ * @param place
+ * @return
+ */
+ @Override
+ public DoorplateAddressEntity getDoorplateAddressEntity(PlaceVO place) {
+ return baseMapper.getDoorplateAddressEntity(place);
+ }
}
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 6a3cf71..d340b03 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
@@ -255,25 +255,36 @@
* @return
*/
@Override
- public PlaceVO getDetail(PlaceEntity place) {
+ public PlaceVO getDetail(PlaceVO place) {
// 查询场所信息
PlaceVO placeVO = baseMapper.getDetail(place);
- if (null!= placeVO) {
- if (null != placeVO.getHouseCode() && !placeVO.getHouseCode().equals("")){
- place.setHouseCode(placeVO.getHouseCode());
+ if (null!= place.getAddressType() && place.getAddressType()==4){
+ if (null != placeVO) {
+ // 查询地址编码信息(社区派出所相关信息)
+ DoorplateAddressEntity addressEntity = placeRelService.getDoorplateAddressEntity(placeVO);
+ placeVO.setDoorplateAddressEntity(addressEntity);
+ // 查询网格信息
+ placeVO.setGrid(gridService.getGridDetailByParam(placeVO));
}
- // 查询门牌地址信息
- if (null != place.getHouseCode() && !place.getHouseCode().equals("")) {
- QueryWrapper<DoorplateAddressEntity> wrapper = new QueryWrapper<>();
- wrapper.eq("address_code", place.getHouseCode());
- List<DoorplateAddressEntity> list = doorplateAddressService.list(wrapper);
- if (list.size() > 0) {
- placeVO.setDoorplateAddressEntity(list.get(0));
+ }else {
+ if (null != placeVO) {
+ if (null != placeVO.getHouseCode() && !placeVO.getHouseCode().equals("")) {
+ place.setHouseCode(placeVO.getHouseCode());
}
- // 查询网格数据
- placeVO.setGrid(gridService.getGridDetailByHouseCode(place.getHouseCode()));
- }else {
- // 通过定位点落面分析网格位置,反向推出社区派出所相关数据
+ // 查询门牌地址信息
+ if (null != place.getHouseCode() && !place.getHouseCode().equals("")) {
+ QueryWrapper<DoorplateAddressEntity> wrapper = new QueryWrapper<>();
+ wrapper.eq("address_code", place.getHouseCode());
+ List<DoorplateAddressEntity> list = doorplateAddressService.list(wrapper);
+ if (list.size() > 0) {
+ placeVO.setDoorplateAddressEntity(list.get(0));
+ }
+ // 查询网格数据
+ placeVO.setGrid(gridService.getGridDetailByHouseCode(place.getHouseCode()));
+ } else {
+ // 通过定位点落面分析网格位置,反向推出社区派出所相关数据
+
+ }
}
}
// 返回
diff --git a/src/main/java/org/springblade/modules/place/vo/PlaceVO.java b/src/main/java/org/springblade/modules/place/vo/PlaceVO.java
index 8c9519b..2038ab3 100644
--- a/src/main/java/org/springblade/modules/place/vo/PlaceVO.java
+++ b/src/main/java/org/springblade/modules/place/vo/PlaceVO.java
@@ -50,6 +50,10 @@
* 角色名称
*/
private String roleName;
+ /**
+ * 类型 2:非小区(能关联地址表) 3:商超
+ */
+ private Integer addressType;
/**
* 采集人姓名
--
Gitblit v1.9.3