From 47712cc6cd4d52fcd1dde44e2a400ccbb9c6ae7a Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 12 Apr 2024 15:20:49 +0800
Subject: [PATCH] 民警网格区域查询合并,网格员区域树查询修改,解决不显示网格问题

---
 src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java |   85 ++++++++++++++++++++++++------------------
 1 files changed, 48 insertions(+), 37 deletions(-)

diff --git a/src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java b/src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java
index 1906861..42457df 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();
@@ -477,13 +468,29 @@
 //			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);
 
@@ -539,16 +546,19 @@
 	 */
 	public boolean removeBatchByIndexNames(List<String> indexNames) {
 		for (String indexName : indexNames) {
-			DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest(indexName);
-			try {
-				// 执行删除索引操作
-				AcknowledgedResponse deleteResponse = client.indices().delete(deleteIndexRequest, RequestOptions.DEFAULT);
+			// 索引存在才删除
+			if (isIndexExists(indexName)) {
+				DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest(indexName);
+				try {
+					// 执行删除索引操作
+					AcknowledgedResponse deleteResponse = client.indices().delete(deleteIndexRequest, RequestOptions.DEFAULT);
 
-				// 输出操作结果
-				boolean acknowledged = deleteResponse.isAcknowledged();
-				System.out.println("索引删除成功: " + acknowledged);
-			} catch (IOException e) {
-				e.printStackTrace();
+					// 输出操作结果
+					boolean acknowledged = deleteResponse.isAcknowledged();
+					System.out.println("索引删除成功: " + acknowledged);
+				} catch (IOException e) {
+					e.printStackTrace();
+				}
 			}
 		}
 		return true;
@@ -576,7 +586,8 @@
 	 */
 	@Async
 	public void update(EsParam esParam, T item,List<String> columnList) {
-		if (elasticsearchSync) {
+		// 判断索引是否存在
+		if (elasticsearchSync && isIndexExists(esParam.getIndexName())) {
 			// 创建更新请求
 			UpdateByQueryRequest updateRequest = new UpdateByQueryRequest(esParam.getIndexName());
 
@@ -589,17 +600,17 @@
 
 			Map<String, Object> data = new HashMap<String, Object>();
 			data.put("tableName", esParam.getTableName());
-			if (esParam.getTableName().equals("jczz_article")){
-				setArticleMap((Article)item,data);
+			if (esParam.getTableName().equals("jczz_article")) {
+				setArticleMap((Article) item, data);
 			}
-			if (esParam.getTableName().equals("jczz_place")){
-				setPlaceMap((PlaceEntity) item,data);
+			if (esParam.getTableName().equals("jczz_place")) {
+				setPlaceMap((PlaceEntity) item, data);
 			}
-			if (esParam.getTableName().equals("jczz_house")){
-				setHouseMap((HouseEntity) item,data);
+			if (esParam.getTableName().equals("jczz_house")) {
+				setHouseMap((HouseEntity) item, data);
 			}
-			if (esParam.getTableName().equals("jczz_household")){
-				setHousehouldMap((HouseholdEntity) item,data);
+			if (esParam.getTableName().equals("jczz_household")) {
+				setHousehouldMap((HouseholdEntity) item, data);
 			}
 			Map<String, Object> param = new HashMap<String, Object>();
 			param.put("data", data);
@@ -675,7 +686,7 @@
 	 * 删除数据--根据条件
 	 */
 	public boolean removeByQuery(EsParam esParam) {
-		if (elasticsearchSync) {
+		if (elasticsearchSync && isIndexExists(esParam.getIndexName())) {
 			DeleteByQueryRequest deleteByQueryRequest = new DeleteByQueryRequest(esParam.getIndexName());
 			// 根据多个条件 生成 boolQueryBuilder
 			BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();

--
Gitblit v1.9.3