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