From df2082cabc47f26f3aa884f49c63550b3fc1439b Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 11 Apr 2024 21:16:47 +0800
Subject: [PATCH] es 数据同步bug 修复,解决实体新增时异常问题

---
 src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java |   45 ++++++++++++++++++++++++++-------------------
 1 files changed, 26 insertions(+), 19 deletions(-)

diff --git a/src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java b/src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java
index ebdf3a7..8c5dd64 100644
--- a/src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java
+++ b/src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java
@@ -342,11 +342,8 @@
 	 * @param place
 	 */
 	@Async
-	public void addPlace(EsParam esParam, PlaceVO place) {
+	public void addPlace(EsParam esParam, PlaceEntity place) {
 		if (elasticsearchSync) {
-			if (!Strings.isBlank(place.getCommunityCode())) {
-				place.setCommunityCode(placeService.getCommunityCode(place.getId()));
-			}
 			try {
 				indexDocument(esParam.getIndexName(),
 					"tableId", place.getId().toString(),
@@ -356,7 +353,7 @@
 					"phone", place.getPrincipalPhone(),
 					"idCard", place.getPrincipalIdCard(),
 					"content", place.getLocation(),
-					"communityCode", place.getCommunityCode()
+					"communityCode", placeService.getCommunityCode(place.getId())
 				);
 			} catch (IOException e) {
 				e.printStackTrace();
@@ -371,11 +368,8 @@
 	 * @param house
 	 */
 	@Async
-	public void addHouse(EsParam esParam, HouseVO house) {
+	public void addHouse(EsParam esParam, HouseEntity house) {
 		if (elasticsearchSync) {
-			if (!Strings.isBlank(house.getCommunityCode())) {
-				house.setCommunityCode(houseService.getCommunityCode(house.getId()));
-			}
 			try {
 				indexDocument(esParam.getIndexName(),
 					"tableId", house.getId().toString(),
@@ -385,7 +379,7 @@
 					"phone", null,
 					"idCard", null,
 					"content", null,
-					"communityCode", house.getCommunityCode()
+					"communityCode", houseService.getCommunityCode(house.getId())
 				);
 			} catch (IOException e) {
 				e.printStackTrace();
@@ -400,11 +394,8 @@
 	 * @param household
 	 */
 	@Async
-	public void addHousehold(EsParam esParam, HouseholdVO household) {
+	public void addHousehold(EsParam esParam, HouseholdEntity household) {
 		if (elasticsearchSync) {
-			if (!Strings.isBlank(household.getCommunityCode())) {
-				household.setCommunityCode(householdService.getCommunityCode(household.getId()));
-			}
 			try {
 				indexDocument(esParam.getIndexName(),
 					"tableId", household.getId().toString(),
@@ -413,8 +404,8 @@
 					"name", household.getName(),
 					"phone", household.getPhoneNumber(),
 					"idCard", household.getIdCard(),
-					"content", household.getAddress(),
-					"communityCode", household.getCommunityCode()
+					"content", household.getCurrentAddress(),
+					"communityCode", householdService.getCommunityCode(household.getId())
 				);
 			} catch (IOException e) {
 				e.printStackTrace();
@@ -473,17 +464,33 @@
 			BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
 //			boolQueryBuilder.should(QueryBuilders.matchQuery("content", esParam.getSearchKey()));
 //			boolQueryBuilder.should(QueryBuilders.matchQuery("name", esParam.getSearchKey()));
-			boolQueryBuilder.should(QueryBuilders.matchQuery("title", esParam.getSearchKey()));
+			boolQueryBuilder.must(QueryBuilders.matchQuery("title", esParam.getSearchKey()));
 //			boolQueryBuilder.should(QueryBuilders.matchQuery("location", esParam.getSearchKey()));
 //			boolQueryBuilder.should(QueryBuilders.matchQuery("phone", esParam.getSearchKey()));
 //			boolQueryBuilder.should(QueryBuilders.matchQuery("idCard", esParam.getSearchKey()));
+			if (!Strings.isBlank(esParam.getTableName())) {
+				boolQueryBuilder.must(QueryBuilders.matchQuery("tableName", esParam.getTableName()));
+			}
 			String communityCode = SpringUtils.getRequestParam("communityCode");
 			if (!Strings.isBlank(communityCode)) {
 				boolQueryBuilder.must(QueryBuilders.matchQuery("communityCode", communityCode));
 			}
-			if (!Strings.isBlank(esParam.getTableName())) {
-				boolQueryBuilder.must(QueryBuilders.matchQuery("tableName", esParam.getTableName()));
+			String roleName = SpringUtils.getRequestParam("roleName");
+			if (!Strings.isBlank(roleName)){
+				if (roleName.equals("wgy") || roleName.equals("mj")){
+					// 不查公告
+					boolQueryBuilder.mustNot(QueryBuilders.matchQuery("tableName", "jczz_article"));
+				}
+				if (roleName.equals("inhabitant")){
+					// 只查公告
+					boolQueryBuilder.must(QueryBuilders.matchQuery("tableName", "jczz_article"));
+				}
+				if (roleName.equals("wzcj")){
+					// 只查场所
+					boolQueryBuilder.must(QueryBuilders.matchQuery("tableName", "jczz_place"));
+				}
 			}
+
 			boolQueryBuilder.minimumShouldMatch(1);
 			searchSourceBuilder.query(boolQueryBuilder);
 

--
Gitblit v1.9.3