From f37e7e5c00cb8196ff978f8eac2aab3fe9465b0d Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 03 Nov 2023 10:04:48 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml | 71 +++++++++----
src/main/java/org/springblade/modules/place/entity/PlaceEntity.java | 6 +
src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java | 7
src/main/java/org/springblade/common/node/TreeNode.java | 2
src/main/java/org/springblade/modules/house/entity/HouseRentalEntity.java | 5 +
src/main/java/org/springblade/modules/doorplateAddress/vo/FuncNode.java | 5 +
src/main/resources/application-prod.yml | 4
src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java | 130 ++++++++++++++++++++-----
src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java | 17 ++-
pom.xml | 2
src/main/java/org/springblade/modules/house/vo/HouseParam.java | 29 +++++
11 files changed, 213 insertions(+), 65 deletions(-)
diff --git a/pom.xml b/pom.xml
index dc99a61..e74cf1b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
<version>3.0.1.RELEASE</version>
<properties>
- <bladex.project.id>blade-api</bladex.project.id>
+ <bladex.project.id>jczz</bladex.project.id>
<bladex.project.version>3.0.1.RELEASE</bladex.project.version>
<java.version>1.8</java.version>
diff --git a/src/main/java/org/springblade/common/node/TreeNode.java b/src/main/java/org/springblade/common/node/TreeNode.java
index 7f24824..9e5c8f2 100644
--- a/src/main/java/org/springblade/common/node/TreeNode.java
+++ b/src/main/java/org/springblade/common/node/TreeNode.java
@@ -32,7 +32,7 @@
private String name;
/**
- * 地址类型
+ * 地址类型 1:小区 2:非小区
*/
private Integer addressType;
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 6fc23bd..4743f59 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
@@ -32,6 +32,7 @@
import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree;
import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO;
import org.springblade.modules.doorplateAddress.wrapper.DoorplateAddressWrapper;
+import org.springblade.modules.house.vo.HouseParam;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -137,14 +138,12 @@
/**
* 获取楼盘相关集合数据
- * @param name 名称
- * @param code 编号
- * @param type 类型 1:社区 2:小区 3:楼栋 4:户室
+ * @param houseParam
* @return
*/
@GetMapping("/getHousesList")
- public R getHousesList(String name,String code,Integer type,Integer addressType) {
- return R.data(doorplateAddressService.getHousesList(name,code,type,addressType));
+ public R getHousesList(HouseParam houseParam) {
+ return R.data(doorplateAddressService.getHousesList(houseParam));
}
/**
@@ -157,12 +156,16 @@
return R.data(doorplateAddressService.getHouseRentInfo(code));
}
+ /**
+ * 获取门牌地址树集合信息
+ * @param code
+ * @param type
+ * @return
+ */
@GetMapping("/getDoorplateAddressList")
public R<List<DoorplateAddressVOTree>> getDoorplateAddressList(String code, String type){
List<DoorplateAddressVOTree> list = doorplateAddressService.getDoorplateAddressList(code,type);
return R.data(list);
}
-
-
}
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 f5a81fd..71bf634 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
@@ -20,7 +20,7 @@
<!--根据社区名称查询小区集合-->
<select id="getDistrictList" resultType="org.springblade.common.node.TreeNode" >
- select aoi_code as id,aoi_name as name from jczz_doorplate_address
+ select aoi_code as id,aoi_name as name,1 as addressType from jczz_doorplate_address
where 1=1
and aoi_name !=''
and aoi_code !=''
@@ -33,7 +33,7 @@
group by aoi_code,aoi_name
union all
(
- select aoi_code as id,sub_aoi as name from jczz_doorplate_address
+ select aoi_code as id,sub_aoi as name,1 as addressType from jczz_doorplate_address
where 1=1
and aoi_code !=''
and sub_aoi != ''
@@ -47,7 +47,7 @@
)
union all
(
- select nei_code as id,'自建房/商铺' as name from jczz_doorplate_address
+ select nei_code as id,'自建房/商铺' as name,2 as addressType from jczz_doorplate_address
where 1=1
and aoi_code is null
<if test="name != null and name!=''">
@@ -60,36 +60,60 @@
)
</select>
- <!--根据小区名称查询楼栋集合-->
+ <!--根据小区名称查询楼栋/商铺集合-->
<select id="getBuildingList" resultType="org.springblade.common.node.TreeNode" >
- select building_code as id,building_name as name,1 as addressType from jczz_doorplate_address
- where 1=1
- and aoi_code = #{code}
- and building_code !=''
- and building_name !=''
- group by building_code,building_name
- order by building_name
+ (
+ select building_code as id,building_name as name,1 as addressType from jczz_doorplate_address
+ where 1=1
+ and aoi_code = #{code}
+ and building_code !=''
+ and building_name !=''
+ and doorplate_type = '户室牌'
+ group by building_code,building_name
+ order by building_name
+ )
+ union all
+ (
+ select address_code as id,doorplate_name as name,2 as addressType from jczz_doorplate_address
+ where 1=1
+ and aoi_code = #{code}
+ and building_name is null
+ and (doorplate_type = '小门牌' or (doorplate_type = '中门牌' and address_level = 1))
+ )
</select>
<!--查询户室及住户相关信息,单元中包含住户-->
<select id="getUnitHouseholdList" resultType="org.springblade.modules.doorplateAddress.vo.FuncNode" >
- select
- jda.unit_code unitCode,jda.floor,jda.house_name as houseNo,jda.address_code addressCode,
- jh.name as realName,jh.role_type as roleType
- from jczz_doorplate_address jda
- left join
- (select house_code,name,role_type from jczz_household where role_type = '业主') jh
- on jda.address_code = jh.house_code
- where 1=1 and floor != '' and house_name != ''
- and building_code = #{code}
+ (
+ select
+ jda.unit_code unitCode,jda.floor,jda.house_name as houseNo,jda.address_code addressCode,
+ jh.name as realName,jh.role_type as roleType,1 as addressType
+ from jczz_doorplate_address jda
+ left join
+ (select house_code,name,role_type from jczz_household where role_type = '业主') jh
+ on jda.address_code = jh.house_code
+ where 1=1
+ and floor != ''
+ and house_name != ''
+ and doorplate_type = '户室牌'
+ and building_code = #{code}
+ )
+ union all
+ (
+ select address_code as unitCode,doorplate_name as floor,'' as houseNo,address_code as addressCode,
+ '' as realName,'' as roleType,2 as addressType
+ from jczz_doorplate_address
+ where 1=1
+ and building_code = #{code}
+ and building_name != ''
+ and (doorplate_type = '小门牌' or (doorplate_type = '中门牌' and address_level = 1))
+ )
</select>
<!--先查询门牌信息-->
<select id="getDoorplateAddressDetailByCode" resultType="org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO">
select * from jczz_doorplate_address where address_code = #{code}
</select>
-
-
<select id="getTownStreetVOTreeList"
resultType="org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree">
@@ -107,8 +131,8 @@
and street_ru_code is not null and street_ru_code !=''
and street_ru_name is not null and street_ru_name !=''
GROUP BY street_ru_code,street_ru_name
-
</select>
+
<select id="getDistrictVOTreeList"
resultType="org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree">
SELECT aoi_code as code,aoi_name as name
@@ -118,6 +142,7 @@
and aoi_name is not null and aoi_name !=''
GROUP BY aoi_code,aoi_name
</select>
+
<select id="getBuildingVOTreeList"
resultType="org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree">
SELECT building_code as code,building_name as name
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 a846902..7a28aa9 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
@@ -21,6 +21,7 @@
import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree;
import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO;
+import org.springblade.modules.house.vo.HouseParam;
import java.util.List;
@@ -51,12 +52,10 @@
/**
* 获取楼盘相关集合数据
- * @param name 名称
- * @param code 编号
- * @param type 类型 1:社区 2:小区 3:楼栋 4:户室
+ * @param houseParam
* @return
*/
- Object getHousesList(String name, String code, Integer type,Integer addressType);
+ Object getHousesList(HouseParam houseParam);
/**
* 查询房屋及出租详情信息
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 4f2e462..7c2927b 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
@@ -20,6 +20,8 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.poi.hssf.record.DVALRecord;
+import org.jetbrains.annotations.NotNull;
import org.springblade.common.node.TreeNode;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.utils.AuthUtil;
@@ -33,6 +35,7 @@
import org.springblade.modules.house.service.IHouseRentalService;
import org.springblade.modules.house.service.IHouseholdLabelService;
import org.springblade.modules.house.service.IHouseholdService;
+import org.springblade.modules.house.vo.HouseParam;
import org.springblade.modules.house.vo.HouseRentalVO;
import org.springblade.modules.house.vo.HouseholdVO;
import org.springblade.modules.place.service.IPlaceService;
@@ -116,43 +119,102 @@
/**
* 获取楼盘相关集合数据
- * @param name 名称
- * @param code 编号
- * @param type 类型 1:社区 2:小区 3:楼栋 4:户室
+ * @param houseParam
* @return
*/
@Override
- public Object getHousesList(String name, String code, Integer type,Integer addressType) {
+ public Object getHousesList(HouseParam houseParam) {
List<TreeNode> list = new ArrayList<>();
+ Map<String, Object> map = new HashMap<>(2);
// 查小区,场所
- if (type==1){
+ if (houseParam.getType()==1){
// 根据社区名称查询小区集合
- list = baseMapper.getDistrictList(name,code);
+ list = baseMapper.getDistrictList(houseParam.getName(),houseParam.getCode());
}
// 查楼栋,街路巷
- if (type==2){
- // 判断 code 长度,如果 code 长度大于 12 则为小区查楼栋,否则则按社区查街路巷
- if (code.length()>12){
- // 根据社区名称查询楼栋集合
- list = baseMapper.getBuildingList(name, code);
- }else {
- // 查询街路巷
- list = baseMapper.getStreetRuList(name, code);
- }
+ if (houseParam.getType()==2){
+ return getBuildLevelData(houseParam,map);
}
// 查户室
- if (type==3){
- // 判断地址类型
- if (addressType==1) {
- // 查询户室及住户相关信息,单元中包含住户
- return getUnitHouseholdList(name, code);
- }
- if (addressType==2) {
- // 根据街路巷编号查询街路巷门牌名称集合
- return baseMapper.getDoorplateNameList(name,code);
- }
+ if (houseParam.getType()==3){
+ return getHouseLevelData(houseParam, map);
}
return list;
+ }
+
+ /**
+ * 查询户室级别数据
+ * @param houseParam
+ * @param map
+ * @return
+ */
+ private Map<String, Object> getHouseLevelData(HouseParam houseParam, Map<String, Object> map) {
+ // 判断地址类型
+ if (houseParam.getAddressType()==1) {
+ List<FuncNode> aoiList = new ArrayList<>();
+ List<FuncNode> shopList = new ArrayList<>();
+ // 查询户室及住户相关信息,单元中包含住户,或者和单元平级的 商铺
+ List<FuncNode> householdList = getUnitHouseholdList(houseParam.getName(), houseParam.getCode());
+ // 遍历
+ if (householdList.size()>0){
+ for (FuncNode funcNode : householdList) {
+ if (funcNode.getAddressType()==1){
+ aoiList.add(funcNode);
+ }
+ if (funcNode.getAddressType()==2){
+ shopList.add(funcNode);
+ }
+ }
+ }
+ map.put("aoiList",aoiList);
+ map.put("shopList",shopList);
+ // 返回
+ return map;
+ }else{
+ // 根据街路巷编号查询街路巷门牌名称集合
+ List<FuncNode> doorplateNameList = baseMapper.getDoorplateNameList(houseParam.getName(), houseParam.getCode());
+ map.put("aoiList",new ArrayList<>());
+ map.put("shopList",doorplateNameList);
+ // 返回
+ return map;
+ }
+ }
+
+ /**
+ * 获取楼栋层级数据
+ * @param houseParam
+ * @param map
+ * @return
+ */
+ private Object getBuildLevelData(HouseParam houseParam,Map<String, Object> map) {
+ // 判断 code 长度,如果 code 长度大于 12 则为小区查楼栋/商铺,否则则按社区查街路巷
+ if (houseParam.getCode().length()>12){
+ List<TreeNode> aoiList = new ArrayList<>();
+ List<TreeNode> shopList = new ArrayList<>();
+ // 根据社区名称查询楼栋或者商铺的集合
+ List<TreeNode> list = baseMapper.getBuildingList(houseParam.getName(),houseParam.getCode());
+ if (list.size()>0){
+ for (TreeNode treeNode : list) {
+ 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.getName(),houseParam.getCode());
+ map.put("aoiList",new ArrayList<>());
+ map.put("shopList",list);
+ // 返回
+ return map;
+ }
}
/**
@@ -165,21 +227,35 @@
List<FuncNode> list = new ArrayList<>();
// 查询户室及住户相关信息,单元中包含住户
List<FuncNode> funcNodes = baseMapper.getUnitHouseholdList(name,code);
+ // 遍历
+ List<FuncNode> aoiNodes = new ArrayList<>();
+ List<FuncNode> shopNodes = new ArrayList<>();
+ for (FuncNode funcNode : funcNodes) {
+ if (funcNode.getAddressType()==1){
+ aoiNodes.add(funcNode);
+ }
+ if (funcNode.getAddressType()==2){
+ shopNodes.add(funcNode);
+ }
+ }
// 处理,先按单元分组,再按楼层分组
- if (funcNodes.size()>0){
- Map<String, List<FuncNode>> listMap = funcNodes.stream().collect(Collectors.groupingBy(FuncNode::getFloor));
+ if (aoiNodes.size()>0){
+ Map<String, List<FuncNode>> listMap = aoiNodes.stream().collect(Collectors.groupingBy(FuncNode::getFloor));
List<FuncNode> funcNodeList = new ArrayList<>();
listMap.forEach((s, temps) -> {
FuncNode funcNode = new FuncNode();
funcNode.setFloor(s);
funcNode.setChildren(temps);
+ funcNode.setAddressType(1);
funcNodeList.add(funcNode);
});
FuncNode funcNode = new FuncNode();
funcNode.setUnitName("一单元");
funcNode.setChildren(funcNodeList);
+ funcNode.setAddressType(1);
list.add(funcNode);
}
+ list.addAll(shopNodes);
// 返回
return list;
}
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 6d961f1..38b0b48 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/vo/FuncNode.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/vo/FuncNode.java
@@ -49,6 +49,11 @@
private String residentialStatus;
/**
+ * 地址类型 1:小区 2:非小区
+ */
+ private Integer addressType;
+
+ /**
* 子孙节点
*/
private List<FuncNode> children = new ArrayList<>();
diff --git a/src/main/java/org/springblade/modules/house/entity/HouseRentalEntity.java b/src/main/java/org/springblade/modules/house/entity/HouseRentalEntity.java
index 078fa15..d588352 100644
--- a/src/main/java/org/springblade/modules/house/entity/HouseRentalEntity.java
+++ b/src/main/java/org/springblade/modules/house/entity/HouseRentalEntity.java
@@ -97,6 +97,11 @@
@ApiModelProperty(value = "租房用途 1:仓库 2:办公 3:商用 4:居住")
private Integer rentalUse;
/**
+ * 审核状态 0: 待审核 1: 审核通过 2: 审核不通过
+ */
+ @ApiModelProperty(value = "审核状态 0: 待审核 1: 审核通过 2: 审核不通过")
+ private Integer auditStatus;
+ /**
* 合同附件URL
*/
@ApiModelProperty(value = "合同附件URL")
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseParam.java b/src/main/java/org/springblade/modules/house/vo/HouseParam.java
new file mode 100644
index 0000000..6067aed
--- /dev/null
+++ b/src/main/java/org/springblade/modules/house/vo/HouseParam.java
@@ -0,0 +1,29 @@
+package org.springblade.modules.house.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class HouseParam implements Serializable {
+
+ /**
+ * 分类
+ */
+ private Integer type;
+
+ /**
+ * 名称
+ */
+ private String name;
+
+ /**
+ * 编号
+ */
+ private String code;
+
+ /**
+ * 地址类型 1:小区 2:非小区
+ */
+ private Integer addressType;
+}
diff --git a/src/main/java/org/springblade/modules/place/entity/PlaceEntity.java b/src/main/java/org/springblade/modules/place/entity/PlaceEntity.java
index a1e723a..af18982 100644
--- a/src/main/java/org/springblade/modules/place/entity/PlaceEntity.java
+++ b/src/main/java/org/springblade/modules/place/entity/PlaceEntity.java
@@ -58,6 +58,12 @@
* 门牌地址编码
*/
@ApiModelProperty(value = "门牌地址编码")
+ private String houseCode;
+
+ /**
+ * 楼栋编码
+ */
+ @ApiModelProperty(value = "楼栋编码")
private String buildingCode;
/**
* 场所负责人(关联用户表信息)
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index fab7885..de331c1 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -14,9 +14,9 @@
# nodes: 127.0.0.1:7001,127.0.0.1:7002,127.0.0.1:7003
# commandTimeout: 5000
datasource:
- url: jdbc:mysql://localhost:3306/bladex_boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
+ url: jdbc:mysql://172.16.50.240:3306/jczz?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
username: root
- password: root
+ password: 1qaz@WSX3edc
#第三方登陆
social:
--
Gitblit v1.9.3