|
@@ -242,7 +242,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
if(status == 0){
|
|
|
throw new BusinessException(SceneConstant.FAILURE_CODE_5037, SceneConstant.FAILURE_MSG_5037);
|
|
|
}
|
|
|
- //todo sapce init
|
|
|
+
|
|
|
Long sceneCameraId = scenePro == null ? scenePlus.getCameraId() : scenePro.getCameraId();
|
|
|
Long space = null;
|
|
|
space = scenePro == null ? 0 :scenePro.getSpace();
|
|
@@ -253,7 +253,6 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
dataSource = scenePlusExt.getDataSource();
|
|
|
}
|
|
|
space = space == null ? 0 :space;
|
|
|
- Long newUseSpace = space + cameraDetail.getUsedSpace();
|
|
|
|
|
|
Boolean checkSpace = cameraDetailService.checkSpace(cameraDetail, space);
|
|
|
//深时场景无限容量
|
|
@@ -294,7 +293,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
}
|
|
|
|
|
|
Long oldUseSpace = oldCameraDetail.getUsedSpace() - space < 0 ? 0 : oldCameraDetail.getUsedSpace() - space;
|
|
|
- oldCameraDetail.setUsedSpace(oldUseSpace);
|
|
|
+ if("GB".equals(oldCameraDetail.getUnit())){
|
|
|
+ oldUseSpace = 1L;
|
|
|
+ }
|
|
|
Long subSpace = oldCameraDetail.getTotalSpace() - oldUseSpace;
|
|
|
|
|
|
if(oldCameraDetail.getType() != 11 && oldCameraDetail.getType() != 10 && subSpace >0){ //有剩余容量解封容量内场景
|
|
@@ -306,9 +307,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
if(cameraDetail.getType() != 11 && cameraDetail.getType() != 10 && payStatus!=1){ //有剩余容量解封容量内场景
|
|
|
this.lockOrUnLockBySpace(scenePro,scenePlus,1);
|
|
|
}
|
|
|
- cameraDetailService.updateById(oldCameraDetail);
|
|
|
- cameraDetail.setUsedSpace(newUseSpace);
|
|
|
- cameraDetailService.updateById(cameraDetail);
|
|
|
+
|
|
|
+ cameraDetailService.initSpace(oldCameraDetail);
|
|
|
+ cameraDetailService.initSpace(cameraDetail);
|
|
|
|
|
|
if(scenePro!=null){
|
|
|
LambdaUpdateWrapper<ScenePro> wrapper = new LambdaUpdateWrapper<>();
|
|
@@ -459,15 +460,6 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
if(sceneStatus != -2){
|
|
|
throw new BusinessException(ResultCode.SCENE_IS_BUILDING);
|
|
|
}
|
|
|
- Long totalSpace = detailEntity.getTotalSpace();
|
|
|
- UserIncrement userIncrement = userIncrementService.getByCameraId(cameraId);
|
|
|
- if(userIncrement != null && userIncrement.getIsExpired() ==0){
|
|
|
- IncrementType incrementType = incrementTypeService.getById(userIncrement.getIncrementTypeId());
|
|
|
- totalSpace = incrementType.getCameraCapacity() * 1024 * 1024 * 1024L;
|
|
|
- }
|
|
|
- if(detailEntity.getType() == 10 || detailEntity.getType() == 11){
|
|
|
- totalSpace = -1L;
|
|
|
- }
|
|
|
|
|
|
Long needSpace = 0L;
|
|
|
if(scenePro != null){
|
|
@@ -479,8 +471,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
needSpace = scenePlusExt.getSpace();
|
|
|
}
|
|
|
}
|
|
|
+ Boolean checkSpace = cameraDetailService.checkSpace(detailEntity, needSpace);
|
|
|
|
|
|
- if( totalSpace > 0 && detailEntity.getUsedSpace() + needSpace > totalSpace){
|
|
|
+ if(checkSpace){
|
|
|
throw new BusinessException(ResultCode.CAMERA_SPACE_ERROR);
|
|
|
}
|
|
|
|
|
@@ -494,12 +487,10 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
public void deleteByNum(String num) {
|
|
|
Integer sceneSource = null;
|
|
|
Long cameraId = null;
|
|
|
- Long space = null;
|
|
|
ScenePro scenePro = this.getByNum(num);
|
|
|
if(scenePro!=null){
|
|
|
cameraId = scenePro.getCameraId();
|
|
|
sceneSource = scenePro.getSceneSource();
|
|
|
- space = scenePro.getSpace();
|
|
|
this.removeById(scenePro.getId());
|
|
|
}
|
|
|
Scene scene = sceneService.getByNum(num);
|
|
@@ -512,7 +503,6 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
sceneSource = scenePlus.getSceneSource();
|
|
|
ScenePlusExt plusExt = scenePlusExtService.getByPlusId(scenePlus.getId());
|
|
|
if(plusExt != null){
|
|
|
- space = plusExt.getSpace();
|
|
|
scenePlusExtService.delByPlus(scenePlus.getId());
|
|
|
}
|
|
|
scenePlusService.removeById(scenePlus.getId());
|
|
@@ -521,7 +511,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
laserService.delete(num);
|
|
|
}
|
|
|
if(cameraId != null){
|
|
|
- cameraDetailService.addUsedSpace(cameraId,space);
|
|
|
+ cameraDetailService.initSpace(cameraId);
|
|
|
}
|
|
|
sceneDelLogService.saveLog(num, StpUtil.getLoginId());
|
|
|
}
|
|
@@ -680,4 +670,17 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Long getSpaceSumByCameraId(Long cameraId) {
|
|
|
+ return this.getBaseMapper().getSpaceSumByCameraId(cameraId);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Long getCountByCameraId(Long cameraId) {
|
|
|
+ LambdaQueryWrapper<ScenePro> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(ScenePro::getIsUpgrade,0);
|
|
|
+ wrapper.eq(ScenePro::getCameraId,cameraId);
|
|
|
+ return this.count(wrapper);
|
|
|
+ }
|
|
|
}
|