浏览代码

判断本地资源是否已本删除,如果已删除,前端根据字段值为true提示用户不能使用某些功能,需要重算

dengsixing 2 年之前
父节点
当前提交
b2e1380d20

+ 6 - 0
src/main/java/com/fdkankan/scene/entity/ScenePlusExt.java

@@ -125,6 +125,12 @@ public class ScenePlusExt implements Serializable {
     private String sceneKind;
 
     /**
+     * 算法计算完成时间
+     */
+    @TableField("algorithm_time")
+    private Date algorithmTime;
+
+    /**
      * 计算耗时
      */
     @TableField("compute_time")

+ 10 - 0
src/main/java/com/fdkankan/scene/service/impl/SceneEditServiceImpl.java

@@ -43,6 +43,7 @@ import com.fdkankan.web.user.SSOUser;
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
@@ -99,6 +100,10 @@ public class SceneEditServiceImpl implements ISceneEditService {
         String username = ssoUser.getUserName();
 
         ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
+        if(Objects.isNull(scenePlus)){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+        }
+        ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
 
         SceneAuthVO sceneAuthVO = new SceneAuthVO();
 
@@ -213,6 +218,11 @@ public class SceneEditServiceImpl implements ISceneEditService {
 
         sceneAuthVO.setInclude(sceneResourceService.findByCooperationId(sceneCooperation.getId()));
 
+        //判断本地资源是否已本删除,如果已删除,前端根据字段值为true提示用户不能使用某些功能,需要重算
+        if (com.fdkankan.common.util.DateUtil.delay(scenePlusExt.getAlgorithmTime(), 3, Calendar.DAY_OF_MONTH).before(new Date())) {
+            sceneAuthVO.setSourceExpired(true);
+        }
+
         return sceneAuthVO;
     }
 

+ 5 - 0
src/main/java/com/fdkankan/scene/vo/SceneAuthVO.java

@@ -32,6 +32,11 @@ public class SceneAuthVO {
      */
     private boolean isVip;
 
+    /**
+     * 本地资源是否失效
+     */
+    private boolean sourceExpired;
+
     private Long company;
 
     private Object exclude;