From 36c61554f78faaf68a38ee6bcef5fcf84fbf6aba Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 11 九月 2024 10:49:05 +0800
Subject: [PATCH] oss表增加逻辑删除,保证同步删除失败下一次也能继续

---
 ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssMapper.xml         |    4 ++++
 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/sync/deleteSync.java     |   11 +++++------
 ruoyi-admin/src/main/resources/application-prod.yml                                  |    2 +-
 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOss.java       |    3 +++
 ruoyi-admin/src/main/resources/application.yml                                       |    3 +++
 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssMapper.java |    8 ++++++++
 6 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml
index a2cb46f..49018d9 100644
--- a/ruoyi-admin/src/main/resources/application-prod.yml
+++ b/ruoyi-admin/src/main/resources/application-prod.yml
@@ -266,7 +266,7 @@
   chief: http://10.248.255.130:18080   #鏀垮姟浜�
   video: http://51.9.1.41:18080        #瑙嗛缃�
 
---- #ftp
+--- #ftp锛岄儴缃插摢鎹㈠摢涓狪P
 ftp:
   url: 51.9.57.211
   username: admin          #鏈満锛歠tpup
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 1c892de..1a323d9 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -151,6 +151,9 @@
   typeAliasesPackage: org.dromara.**.domain
   global-config:
     dbConfig:
+      logic-delete-field: deleted # 鍏ㄥ眬鎸囧畾閫昏緫鍒犻櫎瀛楁
+      logic-delete-value: 1 # 閫昏緫鍒犻櫎鍚庣殑鍊�
+      logic-not-delete-value: 0 # 娌℃湁鍒犻櫎鐨勫��
       # 涓婚敭绫诲瀷
       # AUTO 鑷 NONE 绌� INPUT 鐢ㄦ埛杈撳叆 ASSIGN_ID 闆姳 ASSIGN_UUID 鍞竴 UUID
       # 濡傞渶鏀逛负鑷 闇�瑕佸皢鏁版嵁搴撹〃鍏ㄩ儴璁剧疆涓鸿嚜澧�
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOss.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOss.java
index 7f73d34..e00b467 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOss.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOss.java
@@ -1,6 +1,7 @@
 package org.dromara.system.domain;
 
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import org.dromara.common.tenant.core.TenantEntity;
 import lombok.Data;
@@ -52,4 +53,6 @@
      */
     private String password;
 
+    @TableLogic("deleted")
+    private Integer deleted;
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssMapper.java
index 3da621d..22aa07a 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssMapper.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssMapper.java
@@ -1,13 +1,21 @@
 package org.dromara.system.mapper;
 
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
 import org.dromara.system.domain.SysOss;
 import org.dromara.system.domain.vo.SysOssVo;
+
+import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * 鏂囦欢涓婁紶 鏁版嵁灞�
  *
  * @author Lion Li
  */
+@Mapper
 public interface SysOssMapper extends BaseMapperPlus<SysOss, SysOssVo> {
+
+    List<Long> getWillDeleted(@Param("maxTime") LocalDateTime maxTime);
 }
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 7a3a047..f93cf6f 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
@@ -28,16 +28,15 @@
     @Scheduled(cron = "0 */10 * * * ?")
     public void remove() throws IOException {
         System.out.println("鍚屾鍒犻櫎......");
-        List<SysOssVo> list = baseMapper.selectVoList(new LambdaQueryWrapper<SysOss>()
-            .le(SysOss::getCreateTime, LocalDateTime.now().minusDays(1)));
+        List<Long> ids = baseMapper.getWillDeleted(LocalDateTime.now().minusDays(1));
 
-        if (list.size() == 0) {
+        if (ids.size() == 0) {
             return;
         }
-        for (SysOssVo vo : list) {
-            baseMapper.deleteById(vo.getOssId());
+        for (Long ossId : ids) {
+            baseMapper.deleteById(ossId);
             HttpUtils.sendDeleteRequest(boundary.getVideo() + "/resource/synchronization/delete",
-                String.valueOf(vo.getOssId()));
+                String.valueOf(ossId));
         }
     }
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssMapper.xml
index d9b25bd..cb74c1c 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssMapper.xml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssMapper.xml
@@ -2,4 +2,8 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.dromara.system.mapper.SysOssMapper">
 
+    <select id="getWillDeleted" resultType="long">
+        SELECT oss_id from sys_oss WHERE create_time &lt;= #{maxTime}
+    </select>
+
 </mapper>

--
Gitblit v1.8.0