数据修改,删除同步修改,没有索引时不操作,es 数据初始化,删除角色控制
4 files modified
89 ■■■■■ changed files
src/main/java/org/springblade/es/controller/EsController.java 41 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/es/service/ElasticsearchDocumentService.java 42 ●●●● patch | view | raw | blame | history
src/main/resources/application-prod.yml 4 ●●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 2 ●●● patch | view | raw | blame | history
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));
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();
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
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