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