From f2353404a3ec98b14cbc33b188e95af20de3ddda Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 21 May 2024 17:11:55 +0800
Subject: [PATCH] es住户数据(地址)处理修改

---
 src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java |   40 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java b/src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java
index 3298b5a..919324f 100644
--- a/src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java
+++ b/src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java
@@ -1,6 +1,7 @@
 package org.springblade.es.service;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.logging.log4j.util.Strings;
 import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest;
@@ -29,6 +30,8 @@
 import org.springblade.es.vo.EsParam;
 import org.springblade.modules.article.entity.Article;
 import org.springblade.modules.article.service.ArticleService;
+import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
+import org.springblade.modules.doorplateAddress.service.IDoorplateAddressService;
 import org.springblade.modules.grid.service.IGridRangeService;
 import org.springblade.modules.house.entity.HouseEntity;
 import org.springblade.modules.house.entity.HouseholdEntity;
@@ -71,6 +74,9 @@
 
 	@Autowired
 	private IGridRangeService gridRangeService;
+
+	@Autowired
+	private IDoorplateAddressService doorplateAddressService;
 
 	@Value("${elasticsearch.sync}")
 	private boolean elasticsearchSync;
@@ -430,13 +436,38 @@
 					"name", household.getName(),
 					"phone", household.getPhoneNumber(),
 					"idCard", household.getIdCard(),
-					"content", household.getCurrentAddress(),
+					"relationship", household.getRelationship().toString(),
+					"content", getAddress(household),
 					"communityCode", householdService.getCommunityCode(household.getId())
 				);
 			} catch (IOException e) {
 				e.printStackTrace();
 			}
 		}
+	}
+
+	/**
+	 * 获取房屋地址
+	 * @param household
+	 * @return
+	 */
+	public String getAddress(HouseholdEntity household) {
+		if (!Strings.isBlank(household.getHouseCode())){
+			// 查询对应的房屋地址
+			QueryWrapper<DoorplateAddressEntity> queryWrapper = new QueryWrapper<>();
+			queryWrapper.eq("address_code",household.getHouseCode());
+			List<DoorplateAddressEntity> list = doorplateAddressService.list(queryWrapper);
+			if (list.size()>0){
+				return list.get(0).getAddressName();
+			}
+			// 房屋查不到的情况
+			if (!Strings.isBlank(household.getCurrentAddress())){
+				return household.getCurrentAddress();
+			}
+		}else {
+			return household.getCurrentAddress();
+		}
+		return null;
 	}
 
 	/**
@@ -642,7 +673,7 @@
 				setHouseMap((HouseEntity) item, data);
 			}
 			if (esParam.getTableName().equals("jczz_household")) {
-				setHousehouldMap((HouseholdEntity) item, data);
+				setHouseholdMap((HouseholdEntity) item, data);
 			}
 			Map<String, Object> param = new HashMap<String, Object>();
 			param.put("data", data);
@@ -709,14 +740,15 @@
 	 * @param item
 	 * @param data
 	 */
-	private void setHousehouldMap(HouseholdEntity item, Map<String, Object> data) {
+	private void setHouseholdMap(HouseholdEntity item, Map<String, Object> data) {
 		data.put("communityCode",householdService.getCommunityCode(item.getId()));
 		data.put("tableId",item.getId());
 		data.put("title",item.getName());
+		data.put("relationship",item.getRelationship());
 		data.put("name",item.getName());
 		data.put("phone",item.getPhoneNumber());
 		data.put("idCard",item.getIdCard());
-		data.put("content",item.getCurrentAddress());
+		data.put("content",getAddress(item));
 	}
 
 	/**

--
Gitblit v1.9.3