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/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java | 107 +++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 78 insertions(+), 29 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 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;
+ }
}
}
--
Gitblit v1.9.3