瀏覽代碼

冻结了原始资源的场景不允许重算

dsx 2 年之前
父節點
當前提交
3a0d3cb7b1

+ 81 - 0
src/main/java/com/fdkankan/contro/entity/SceneColdStorageLog.java

@@ -0,0 +1,81 @@
+package com.fdkankan.contro.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 场景冷归档日志表
+ * </p>
+ *
+ * @author 
+ * @since 2023-07-14
+ */
+@Getter
+@Setter
+@TableName("t_scene_cold_storage_log")
+public class SceneColdStorageLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 场景码
+     */
+    @TableField("num")
+    private String num;
+
+    /**
+     * 封存地址
+     */
+    @TableField("path")
+    private String path;
+
+    /**
+     * 操作类型(1-封存,2-解封存)
+     */
+    @TableField("type")
+    private Integer type;
+
+    /**
+     * 0-处理中,1-成功,-1-失败
+     */
+    @TableField("state")
+    private Integer state;
+
+    /**
+     * 失败原因
+     */
+    @TableField("reason")
+    private String reason;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 修改时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+    /**
+     * A-有效,I-无效
+     */
+    @TableField("rec_status")
+    @TableLogic(value = "A", delval = "I")
+    private String recStatus;
+
+
+}

+ 1 - 1
src/main/java/com/fdkankan/contro/generate/AutoGenerate.java

@@ -17,7 +17,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir");
 
         generate(path,"contro", getTables(new String[]{
-                "t_exceed_space_scene"
+                "t_scene_cold_storage_log"
         }));
 
 //        generate(path,"goods", getTables(new String[]{

+ 18 - 0
src/main/java/com/fdkankan/contro/mapper/ISceneColdStorageLogMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.contro.mapper;
+
+import com.fdkankan.contro.entity.SceneColdStorageLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 场景冷归档日志表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-07-14
+ */
+@Mapper
+public interface ISceneColdStorageLogMapper extends BaseMapper<SceneColdStorageLog> {
+
+}

+ 22 - 0
src/main/java/com/fdkankan/contro/service/ISceneColdStorageLogService.java

@@ -0,0 +1,22 @@
+package com.fdkankan.contro.service;
+
+import com.fdkankan.contro.entity.SceneCleanOrig;
+import com.fdkankan.contro.entity.SceneColdStorageLog;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ * 场景冷归档日志表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-07-14
+ */
+public interface ISceneColdStorageLogService extends IService<SceneColdStorageLog> {
+
+    List<SceneColdStorageLog> listFreezeByNumAfterLastCall(String num, Date lastCallTime);
+
+}

+ 32 - 0
src/main/java/com/fdkankan/contro/service/impl/SceneColdStorageLogServiceImpl.java

@@ -0,0 +1,32 @@
+package com.fdkankan.contro.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.contro.entity.SceneCleanOrig;
+import com.fdkankan.contro.entity.SceneColdStorageLog;
+import com.fdkankan.contro.mapper.ISceneColdStorageLogMapper;
+import com.fdkankan.contro.service.ISceneColdStorageLogService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ * 场景冷归档日志表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-07-14
+ */
+@Service
+public class SceneColdStorageLogServiceImpl extends ServiceImpl<ISceneColdStorageLogMapper, SceneColdStorageLog> implements ISceneColdStorageLogService {
+
+    @Override
+    public List<SceneColdStorageLog> listFreezeByNumAfterLastCall(String num, Date lastCallTime) {
+        return this.list(new LambdaQueryWrapper<SceneColdStorageLog>()
+                .eq(SceneColdStorageLog::getNum, num)
+                .eq(SceneColdStorageLog::getType, 1)
+                .gt(SceneColdStorageLog::getCreateTime, lastCallTime));
+    }
+}

+ 10 - 0
src/main/java/com/fdkankan/contro/service/impl/SceneFileBuildServiceImpl.java

@@ -179,6 +179,9 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
     @Autowired
     private IExceedSpaceSceneService exceedSpaceSceneService;
 
+    @Autowired
+    private ISceneColdStorageLogService sceneColdStorageLogService;
+
     @Override
     public SceneFileBuild findByFileId(String fileId) {
 
@@ -1156,6 +1159,13 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
             laseCallTime = scenePro.getCreateTime();
             cameraId = scenePro.getCameraId();
         }
+
+        //查询最后一次计算时间后是否冻结,如果是,则不支持重算
+        List<SceneColdStorageLog> sceneColdStorageLogList = sceneColdStorageLogService.listFreezeByNumAfterLastCall(num, laseCallTime);
+        if(CollUtil.isNotEmpty(sceneColdStorageLogList)){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5072);
+        }
+
         //查询最后一次计算时间后是否有删除过目录,如果有,则不支持重算
         List<SceneCleanOrig> sceneCleanOrigs = sceneCleanOrigService.lisByNumAfterLastCall(num, laseCallTime);
         if(CollUtil.isNotEmpty(sceneCleanOrigs)){

+ 5 - 0
src/main/resources/mapper/contro/SceneColdStorageLogMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.contro.mapper.ISceneColdStorageLogMapper">
+
+</mapper>