xiangpei
2024-09-11 36c61554f78faaf68a38ee6bcef5fcf84fbf6aba
oss表增加逻辑删除,保证同步删除失败下一次也能继续
6个文件已修改
31 ■■■■ 已修改文件
ruoyi-admin/src/main/resources/application-prod.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application.yml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOss.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/sync/deleteSync.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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,部署哪换哪个IP
ftp:
  url: 51.9.57.211
  username: admin          #本机:ftpup
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
      # 如需改为自增 需要将数据库表全部设置为自增
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;
}
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);
}
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));
        }
    }
}
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>