Bläddra i källkod

Merge remote-tracking branch 'origin/lyh-bug-delNum' into test

lyhzzz 2 år sedan
förälder
incheckning
6d37ea3a1f

+ 1 - 1
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/ExpansionOrderImpl.java

@@ -52,7 +52,7 @@ public class ExpansionOrderImpl implements OrderStrategy {
             CameraDetail detailEntity = cameraDetailService.getByCameraId(expansionOrder.getCameraId());
             detailEntity.setTotalSpace(cameraSpaceEntity.getSpace());
             cameraDetailService.updateById(detailEntity);
-            sceneProService.lockOrUnLockBySpace(detailEntity,detailEntity.getCameraId() ,1,null);
+            sceneProService.lockOrUnLockBySpace(detailEntity,detailEntity.getCameraId() ,1);
         }else {
             cameraSpaceEntity = cameraSpaceService.getById(spaceId);
             DateTime date = null;

+ 1 - 1
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/IncrementOrderImpl.java

@@ -86,7 +86,7 @@ public class IncrementOrderImpl implements OrderStrategy {
             //解封所有场景
             if(userIncrementEntity.getUserId() != null && userIncrementEntity.getCameraId() != null){
                 CameraDetail cameraDetail = cameraDetailService.getByCameraId(userIncrementEntity.getCameraId());
-                sceneProService.lockOrUnLockBySpace(cameraDetail, userIncrementEntity.getCameraId(),1,null);
+                sceneProService.lockOrUnLockBySpace(cameraDetail, userIncrementEntity.getCameraId(),1);
             }
         }
 

+ 1 - 1
src/main/java/com/fdkankan/ucenter/service/ISceneProService.java

@@ -34,7 +34,7 @@ public interface ISceneProService extends IService<ScenePro> {
     HashMap<Long, GroupByCount> findSceneNumByCameraIds(List<Long> cameraIdList);
 
 
-    void lockOrUnLockBySpace(CameraDetail cameraDetail, Long cameraId, Integer payStatus,Long subSpace);
+    void lockOrUnLockBySpace(CameraDetail cameraDetail, Long cameraId, Integer payStatus);
 
     List<ScenePro> getListByCameraId(Long cameraId);
 

+ 2 - 2
src/main/java/com/fdkankan/ucenter/service/impl/CameraDetailServiceImpl.java

@@ -111,7 +111,7 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
             this.update(wrapper);
             cameraDetail.setTotalSpace(Long.parseLong(Constant.EXPANSION_SPACE_VALUE_1G ) * 10L);
             if(!"local".equals(NacosProperty.uploadType) && cameraDetail.getType()!=10){
-                sceneProService.lockOrUnLockBySpace(cameraDetail,cameraDetail.getCameraId(),-2,null);     //封存场景
+                sceneProService.lockOrUnLockBySpace(cameraDetail,cameraDetail.getCameraId(),-2);     //封存场景
             }
             if(cameraDetail.getType() == 10){
                 fdkkLaserService.toBind(false,cameraMap.get(cameraDetail.getCameraId()).getSnCode(),null,null);
@@ -165,7 +165,7 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
             long usedSpace = cameraDetail.getUsedSpace() - subSpace ;
             cameraDetail.setUsedSpace(usedSpace < 0 ? 0L :usedSpace);
             //解封封存场景
-            sceneProService.lockOrUnLockBySpace(cameraDetail,cameraDetail.getCameraId(),1,subSpace);
+            sceneProService.lockOrUnLockBySpace(cameraDetail,cameraDetail.getCameraId(),1);
         }
         this.updateBatchById(list);
     }

+ 23 - 20
src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java

@@ -232,11 +232,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
      * @param payStatus -2 封存,为 1 解封
      */
     @Override
-    public void lockOrUnLockBySpace(CameraDetail cameraDetail, Long cameraId, Integer payStatus,Long subSpace) {
-        LambdaQueryWrapper<ScenePro> wrapper = new LambdaQueryWrapper<>();
-        LambdaQueryWrapper<ScenePlus> plusWr = new LambdaQueryWrapper<>();
-        wrapper.eq(ScenePro::getStatus,-2);
-        plusWr.eq(ScenePlus::getSceneStatus,-2);
+    public void lockOrUnLockBySpace(CameraDetail cameraDetail, Long cameraId, Integer payStatus) {
+
         Long totalSpace = cameraDetail.getTotalSpace();
         UserIncrement userIncrement = userIncrementService.getByCameraId(cameraId);
         if(userIncrement!=null){
@@ -249,19 +246,28 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
                 }
             }
         }
+        //使用容量大于总容量,不予解封
+        if(payStatus == 1 && totalSpace != -1 && cameraDetail.getUsedSpace() >= cameraDetail.getTotalSpace()){
+            return;
+        }
+        // 总容量大于已使用容量,不予封存
+        if (payStatus ==  -2 && (totalSpace == -1 || totalSpace >= cameraDetail.getUsedSpace() )) {
+            return;
+        }
 
-        log.info("lockOrUnLockBySpace---cameraId:{},payStatus:{},totalSpace:{},useSpace{},subSpace{}",
-                cameraId,payStatus,totalSpace,cameraDetail.getUsedSpace(),subSpace);
+        LambdaQueryWrapper<ScenePro> wrapper = new LambdaQueryWrapper<>();
+        LambdaQueryWrapper<ScenePlus> plusWr = new LambdaQueryWrapper<>();
+        wrapper.eq(ScenePro::getStatus,-2);
+        plusWr.eq(ScenePlus::getSceneStatus,-2);
+
+        log.info("lockOrUnLockBySpace---cameraId:{},payStatus:{},totalSpace:{},useSpace{}",
+                cameraId,payStatus,totalSpace,cameraDetail.getUsedSpace());
         if(payStatus == 1){         //解封,判断用户权益,用户会员权益无限容量
             wrapper.orderByAsc(ScenePro::getCreateTime);
             plusWr.orderByAsc(ScenePlus::getCreateTime);
             wrapper.eq(ScenePro::getPayStatus,-2);
             plusWr.eq(ScenePlus::getPayStatus,-2);
         }else {
-            if (totalSpace == -1 || totalSpace >= cameraDetail.getUsedSpace()) {
-                // 总容量大于已使用容量,不予封存
-                return;
-            }
             wrapper.orderByDesc(ScenePro::getCreateTime);
             plusWr.orderByDesc(ScenePlus::getCreateTime);
             wrapper.eq(ScenePro::getPayStatus,1);
@@ -278,31 +284,28 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 
         List<Long> lockedIds = new ArrayList<>();
 
-        if(totalSpace == -1 && payStatus == 1){
+        if(totalSpace == -1){   //  无限容量 全部解封
             List<Long> collect = list.stream().map(ScenePro::getId).collect(Collectors.toList());
             List<Long> collect2 = plusList.stream().map(ScenePlus::getId).collect(Collectors.toList());
             lockedIds.addAll(collect);
             lockedIds.addAll(collect2);
-            lockOrUnLockScenes(lockedIds,payStatus);  //  无限容量 全部解封
+            lockOrUnLockScenes(lockedIds,1);
             return;
         }
 
         Long beyondSpace =  0L;
         Long accumulateSpace = 0L;
         if(payStatus == 1){
-            if(subSpace !=null){
-                beyondSpace = subSpace;
-            }else {
-                beyondSpace =  totalSpace - cameraDetail.getUsedSpace();
-            }
-            getScenePlusLockedIds(lockedIds, plusList, beyondSpace, accumulateSpace);
+            beyondSpace =  totalSpace - cameraDetail.getUsedSpace();
             getSceneLockedIds(lockedIds,list,beyondSpace,accumulateSpace);
+            getScenePlusLockedIds(lockedIds, plusList, beyondSpace, accumulateSpace);
         }else {
             beyondSpace =  cameraDetail.getUsedSpace() - totalSpace;
             getSceneLockedIds(lockedIds, list, beyondSpace, accumulateSpace);
             getScenePlusLockedIds(lockedIds,plusList,beyondSpace,accumulateSpace);
         }
-
+        getSceneLockedIds(lockedIds,list,beyondSpace,accumulateSpace);
+        getScenePlusLockedIds(lockedIds, plusList, beyondSpace, accumulateSpace);
         lockOrUnLockScenes(lockedIds,payStatus);
     }
 

+ 2 - 2
src/main/java/com/fdkankan/ucenter/service/impl/UserIncrementServiceImpl.java

@@ -204,7 +204,7 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
         userIncrement.setUpdateTime(DateUserUtil.getDate(new Date()));
         this.updateById(userIncrement);
         cameraIncrementLogService.saveLog(cameraEntity.getId(),userIncrement.getId(),user.getId(),0);
-        sceneProService.lockOrUnLockBySpace(cameraDetailEntity,cameraEntity.getId(),1,null);
+        sceneProService.lockOrUnLockBySpace(cameraDetailEntity,cameraEntity.getId(),1);
     }
 
     @Override
@@ -233,7 +233,7 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
         wrapper.set(UserIncrement::getCameraId,null);
         this.update(wrapper);
         if(cameraDetail.getType() !=10){
-            sceneProService.lockOrUnLockBySpace(cameraDetail,cameraDetail.getCameraId(),-2,null);
+            sceneProService.lockOrUnLockBySpace(cameraDetail,cameraDetail.getCameraId(),-2);
         }
     }