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 <= #{maxTime}
+ </select>
+
</mapper>
--
Gitblit v1.8.0