From 035dae7be5cf8a7a4a13cecb5dc9cde9fcda07e6 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 17 二月 2025 10:29:52 +0800
Subject: [PATCH] 独立删除逻辑

---
 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/sync/deleteSync.java |   69 ++++++++++++++++------------------
 1 files changed, 32 insertions(+), 37 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/sync/deleteSync.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/sync/deleteSync.java
index fb42703..1c7da6c 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/sync/deleteSync.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/sync/deleteSync.java
@@ -1,13 +1,18 @@
 package org.dromara.system.sync;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.http.HttpResponse;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
 import org.dromara.common.oss.core.OssClient;
 import org.dromara.common.oss.factory.OssFactory;
 import org.dromara.system.domain.SysOss;
 import org.dromara.system.domain.properties.Boundary;
 import org.dromara.system.domain.vo.SysOssVo;
 import org.dromara.system.mapper.SysOssMapper;
+import org.dromara.system.service.ISysOssService;
 import org.dromara.system.uitil.HttpUtils;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
@@ -21,54 +26,44 @@
 @Component
 public class deleteSync {
 
-    private final SysOssMapper baseMapper;
+    private final ISysOssService ossService;
+    private final SysOssMapper ossMapper;
     private final Boundary boundary;
 
-    public deleteSync(SysOssMapper baseMapper, Boundary boundary) {
-        this.baseMapper = baseMapper;
+    public deleteSync(ISysOssService ossService, SysOssMapper ossMapper, Boundary boundary) {
+        this.ossService = ossService;
+        this.ossMapper = ossMapper;
         this.boundary = boundary;
     }
 
+//    @Scheduled(cron = "0 */10 * * * ?")
+//    public void remove() throws IOException {
+//        log.error("鍚屾鍒犻櫎......");
+//        List<SysOss> list = new LambdaQueryChainWrapper<>(baseMapper)
+//            .le(SysOss::getCreateTime, LocalDateTime.now().minusDays(1L))
+//            .list();
+//        if (list.size() == 0)
+//            return;
+//
+//        for (SysOss vo : list) {
+//            OssClient storage = OssFactory.instance(vo.getService());
+//            storage.delete(vo.getUrl());
+//            HttpResponse httpResponse = HttpUtils.sendDeleteRequest(this.boundary.getVideo() + "/resource/synchronization/delete",
+//                String.valueOf(vo.getOssId()));
+//            if (httpResponse.getStatusLine().getStatusCode() == 200) {
+//                baseMapper.deleteId(vo.getOssId());
+//            }
+//        }
+//    }
 
     @Scheduled(cron = "0 */10 * * * ?")
     public void remove() throws IOException {
-        log.error("鍚屾鍒犻櫎......");
-        List<Long> ids = baseMapper.getWillDeleted(LocalDateTime.now().minusDays(1));
-
+        System.out.println("self delete......");
+        List<Long> ids = ossMapper.getWillDeleted(LocalDateTime.now().minusDays(1));
         if (ids.size() == 0) {
             return;
         }
-        OssClient ossClient = OssFactory.instance();
-        for (Long ossId : ids) {
-            SysOss sysOss = baseMapper.selectById(ossId);
-            if (Objects.nonNull(sysOss)) {
-                ossClient.delete(sysOss.getFileName());
-            }
-            HttpUtils.sendDeleteRequest(boundary.getVideo() + "/resource/synchronization/delete",
-                String.valueOf(ossId));
-        }
+        ossService.deleteByIds(ids);
     }
 
-    /**
-     * 姣忓皬鏃跺垹闄�2澶╀箣鍓嶇殑鏂囦欢淇℃伅锛屽洜涓轰笂闈㈢殑鍚屾鍒犻櫎骞朵笉鑳戒繚璇佷簨鍔�
-     *
-     * @throws IOException
-     */
-    @Scheduled(cron = "0 0 * * * ?")
-    public void removeOssTable() throws IOException {
-        log.error("姣忓皬鏃跺畾鏃跺垹闄よ秴杩�2澶╃殑鏁版嵁搴撴枃浠朵俊鎭�......");
-        List<Long> ids = baseMapper.getWillDeleted(LocalDateTime.now().minusDays(2));
-        if (ids.size() == 0) {
-            return;
-        }
-        // 鍒犻櫎瀵瑰簲鏂囦欢
-        OssClient ossClient = OssFactory.instance();
-        for (Long ossId : ids) {
-            SysOss sysOss = baseMapper.selectById(ossId);
-            if (Objects.nonNull(sysOss)) {
-                ossClient.delete(sysOss.getFileName());
-            }
-        }
-        baseMapper.deleteIds(ids);
-    }
 }

--
Gitblit v1.8.0