From ca054d1db9256bc8d367486b0d78e89cd4fd7fdb Mon Sep 17 00:00:00 2001
From: zqy <2522236926@qq.com>
Date: 星期二, 22 十月 2024 20:41:10 +0800
Subject: [PATCH] 删除时会连着分享和下载的数据一起删掉

---
 zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomySharServiceImpl.java |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 46 insertions(+), 0 deletions(-)

diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomySharServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomySharServiceImpl.java
index 59f4d15..45c76a9 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomySharServiceImpl.java
+++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomySharServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.EsModel;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.MapUtils;
 import com.ruoyi.common.utils.SecurityUtils;
@@ -13,9 +14,13 @@
 import com.ruoyi.mapper.ZfShareMapper;
 import com.ruoyi.service.*;
 import lombok.extern.slf4j.Slf4j;
+import org.elasticsearch.action.delete.DeleteRequest;
+import org.elasticsearch.client.RequestOptions;
+import org.elasticsearch.client.RestHighLevelClient;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -29,6 +34,12 @@
 
     @Resource
     private ZInfoUserService zInfoUserService;
+
+    @Resource
+    private RestHighLevelClient restHighLevelClient;
+
+    @Resource
+    EsService esService;
 
     private LambdaQueryWrapper<ZfShare> uniqueCondition(ZfShare zfShare) {
         LambdaQueryWrapper<ZfShare> lqw = new LambdaQueryWrapper<>();
@@ -185,5 +196,40 @@
             return null;
         }
     }
+    @Override
+    public Boolean deleteByContentId(Long[] ids) {
+        List<Long> id = new ArrayList<>();
 
+        LambdaQueryWrapper<ZfShare> lqw = new LambdaQueryWrapper<>();
+        lqw.in(ids != null, ZfShare::getShareContent, ids)
+                .eq(ZfShare::getSysMenuId, 2023L);
+
+        List<ZfShare> zfShares = list(lqw);
+        if (zfShares.size() == 0) {
+            return true;
+        }
+        for (ZfShare zfShare : zfShares) {
+            id.add(zfShare.getId());
+        }
+
+        System.out.println(id);
+        if (removeByIds(id)) {
+            //鍒犻櫎es涓殑鏁版嵁
+            zfShares.forEach(zfDoctorDownload -> {
+                EsModel esModel = esService.findByCtId(zfDoctorDownload.getId().intValue(), "瀹跺涵鍙拌处鏀舵敮鍒嗕韩鍒犻櫎");
+                if (esModel != null) {
+                    DeleteRequest deleteRequest = new DeleteRequest("allsearchdata", esModel.getId());
+                    System.out.println(deleteRequest);
+                    try {
+                        restHighLevelClient.delete(deleteRequest, RequestOptions.DEFAULT);
+                    } catch (IOException e) {
+                        throw new RuntimeException(e);
+                    }
+                }
+            });
+            return true;
+        } else {
+            return false;
+        }
+    }
 }

--
Gitblit v1.9.1