From df4794b07aacc82b5c038c930b66209d8ad0e79d Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 10 Apr 2024 11:55:28 +0800
Subject: [PATCH] 数据修改,删除同步修改,没有索引时不操作,es 数据初始化,删除角色控制
---
src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java | 42 +++++++++++---------
src/main/resources/application-prod.yml | 4 +-
src/main/resources/application-test.yml | 2
src/main/java/org/springblade/es/controller/EsController.java | 41 +++++++++++---------
4 files changed, 49 insertions(+), 40 deletions(-)
diff --git a/src/main/java/org/springblade/es/controller/EsController.java b/src/main/java/org/springblade/es/controller/EsController.java
index cf08cc7..7aa4a08 100644
--- a/src/main/java/org/springblade/es/controller/EsController.java
+++ b/src/main/java/org/springblade/es/controller/EsController.java
@@ -5,7 +5,9 @@
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.annotation.PreAuth;
import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.constant.RoleConstant;
import org.springblade.core.tool.utils.Func;
import org.springblade.es.service.ElasticsearchDocumentService;
import org.springblade.es.vo.EsParam;
@@ -35,35 +37,37 @@
* 初始化
*/
@GetMapping("/init")
+ @PreAuth(RoleConstant.HAS_ROLE_ADMINISTRATOR)
@ApiOperationSupport(order = 2)
public R init(EsParam esParam) {
return R.status(elasticsearchDocumentService.init(esParam));
}
- /**
- * 新增数据
- */
- @GetMapping("/add")
- @ApiOperationSupport(order = 3)
- public R add(EsParam esParam) {
- return R.status(elasticsearchDocumentService.add(esParam,null));
- }
-
- /**
- * 修改数据
- */
- @GetMapping("/update")
- @ApiOperationSupport(order = 4)
- public R update(EsParam esParam) {
- elasticsearchDocumentService.update(esParam,null,null);
- return R.status(true);
- }
+// /**
+// * 新增数据
+// */
+// @GetMapping("/add")
+// @ApiOperationSupport(order = 3)
+// public R add(EsParam esParam) {
+// return R.status(elasticsearchDocumentService.add(esParam,null));
+// }
+//
+// /**
+// * 修改数据
+// */
+// @GetMapping("/update")
+// @ApiOperationSupport(order = 4)
+// public R update(EsParam esParam) {
+// elasticsearchDocumentService.update(esParam,null,null);
+// return R.status(true);
+// }
/**
* 根据索引删除
*/
@PostMapping("/removeBatchByIndexNames")
@ApiOperationSupport(order = 5)
+ @PreAuth(RoleConstant.HAS_ROLE_ADMINISTRATOR)
public R removeBatchByIndexNames(@RequestParam String indexNames) {
return R.status(elasticsearchDocumentService.removeBatchByIndexNames(Func.toStrList(indexNames)));
}
@@ -72,6 +76,7 @@
* 根据条件删除
*/
@PostMapping("/removeByQuery")
+ @PreAuth(RoleConstant.HAS_ROLE_ADMINISTRATOR)
@ApiOperationSupport(order = 6)
public R removeByQuery(EsParam esParam) {
return R.status(elasticsearchDocumentService.removeByQuery(esParam));
diff --git a/src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java b/src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java
index 1906861..ebdf3a7 100644
--- a/src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java
+++ b/src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java
@@ -539,16 +539,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 +579,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 +593,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 +679,7 @@
* 删除数据--根据条件
*/
public boolean removeByQuery(EsParam esParam) {
- if (elasticsearchSync) {
+ if (elasticsearchSync && isIndexExists(esParam.getIndexName())) {
DeleteByQueryRequest deleteByQueryRequest = new DeleteByQueryRequest(esParam.getIndexName());
// 根据多个条件 生成 boolQueryBuilder
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 4c8178d..468a79d 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -75,6 +75,6 @@
#es
elasticsearch:
enabled: false
- host: localhost
- sync: false
+ host: 127.0.0.1
+ sync: true
indexName: jczz
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index 800e1e6..39a5c96 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -75,6 +75,6 @@
#es
elasticsearch:
enabled: false
- host: localhost
+ host: 127.0.0.1
sync: true
indexName: test
--
Gitblit v1.9.3