lyhzzz пре 2 година
родитељ
комит
3da065f0c7

+ 5 - 0
src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fdkankan.ucenter.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.thread.ThreadUtil;
 import cn.hutool.json.JSONUtil;
@@ -266,16 +267,20 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             lockOrUnLockScenes(sceneIds,1);
             return;
         }
+        //按计算完成时间由新到旧封存
+        //按计算完成时间由旧到新解封
         List<Long> lockedIds = new ArrayList<>();
         if(usedSpace > totalSpace){
             sceneVos = sceneVos.stream().filter(entity -> entity.getPayStatus() ==1).collect(Collectors.toList());
             Long space = getSceneLockedIds(lockedIds, sceneVos, usedSpace - totalSpace);
             log.info("lockOrUnLockBySpace---cameraId:{},totalSpace:{},useSpace{},space:{},payStatus:{}", cameraId,totalSpace,usedSpace,space,-2);
             lockOrUnLockScenes(lockedIds,-2);
+            return;
         }
 
         if(usedSpace < totalSpace){  //使用容量小于总容量,解封
             sceneVos = sceneVos.stream().filter(entity -> entity.getPayStatus() !=1).collect(Collectors.toList());
+            CollectionUtil.reverse(sceneVos);
             Long space = getSceneUnLockedIds(lockedIds, sceneVos, totalSpace - usedSpace);
             log.info("lockOrUnLockBySpace---cameraId:{},totalSpace:{},useSpace{},space:{},payStatus:{}", cameraId,totalSpace,usedSpace,space,1);
             lockOrUnLockScenes(lockedIds,1);