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/ZIdeaShareServiceImpl.java |   50 +++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 47 insertions(+), 3 deletions(-)

diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZIdeaShareServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZIdeaShareServiceImpl.java
index 48ab898..b80f54a 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZIdeaShareServiceImpl.java
+++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZIdeaShareServiceImpl.java
@@ -5,19 +5,22 @@
 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;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.domain.*;
 import com.ruoyi.mapper.ZfShareMapper;
+import com.ruoyi.service.*;
 import com.ruoyi.service.ZIdeaShareService;
-import com.ruoyi.service.ZInfoUserService;
-import com.ruoyi.service.ZIdeaService;
-import com.ruoyi.service.ZIdeaShareService;
+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;
@@ -33,6 +36,12 @@
     private ZfShareMapper zfShareMapper;
     @Resource
     private ZInfoUserService zInfoUserService;
+
+    @Resource
+    private RestHighLevelClient restHighLevelClient;
+
+    @Resource
+    EsService esService;
 
     private LambdaQueryWrapper<ZfShare> uniqueCondition(ZfShare zfShare) {
         LambdaQueryWrapper<ZfShare> lqw = new LambdaQueryWrapper<>();
@@ -197,5 +206,40 @@
         return AjaxResult.success(zInfoUsers);
     }
 
+    @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, 2027L);
+
+        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