From c10d6358b9f014375a13821465bc978d0c0da22e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Wed, 29 May 2024 17:17:08 +0800
Subject: [PATCH] 通过E呼即办数据统计

---
 src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java |   67 +++++++++++++++++++++++++++------
 1 files changed, 55 insertions(+), 12 deletions(-)

diff --git a/src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java b/src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java
index 97c24f7..41eb0ad 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;
@@ -72,6 +75,9 @@
 	@Autowired
 	private IGridRangeService gridRangeService;
 
+	@Autowired
+	private IDoorplateAddressService doorplateAddressService;
+
 	@Value("${elasticsearch.sync}")
 	private boolean elasticsearchSync;
 
@@ -102,14 +108,24 @@
 	 * @return
 	 */
 	public boolean init(EsParam esParam) {
-		// 场所
-		initPlace(esParam);
-		// 通知文章
-		initArticle(esParam);
-		// 房屋
-		initHouse(esParam);
-		// 住户
-		initHousehold(esParam);
+		if (!Strings.isBlank(esParam.getTableName())) {
+			if (esParam.getTableName().equals("jczz_place")) {
+				// 场所
+				initPlace(esParam);
+			}
+			if (esParam.getTableName().equals("jczz_article")) {
+				// 通知文章
+				initArticle(esParam);
+			}
+			if (esParam.getTableName().equals("jczz_house")) {
+				// 房屋
+				initHouse(esParam);
+			}
+			if (esParam.getTableName().equals("jczz_household")) {
+				// 住户
+				initHousehold(esParam);
+			}
+		}
 		// 返回
 		return true;
 	}
@@ -245,6 +261,7 @@
 						"tableId", household.getId().toString(),
 						"tableName", "jczz_household",
 						"title", household.getName(),
+						"relationship", household.getRelationship(),
 						"name", household.getName(),
 						"phone", household.getPhoneNumber(),
 						"idCard", household.getIdCard(),
@@ -420,13 +437,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;
 	}
 
 	/**
@@ -632,7 +674,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);
@@ -699,14 +741,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