|
@@ -374,14 +374,21 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
if(cameraDetail == null){
|
|
|
throw new BusinessException(ResultCode.CAMERA_SN_NOT_EXIST);
|
|
|
}
|
|
|
+ HashSet<Long> cameraIds = new HashSet<>();
|
|
|
if(StringUtils.isNotBlank(param.getNum())){
|
|
|
- moveScene(param.getNum(),camera,cameraDetail);
|
|
|
- return 1;
|
|
|
+ moveScene(param.getNum(),camera,cameraDetail,cameraIds);
|
|
|
+ for (Long cameraId : cameraIds) {
|
|
|
+ this.lockOrUnLockBySpace(cameraId);
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
}
|
|
|
Integer successNum = param.getNumList().size();
|
|
|
for (String num : param.getNumList()) {
|
|
|
try {
|
|
|
- moveScene(num,camera,cameraDetail);
|
|
|
+ moveScene(num,camera,cameraDetail,cameraIds);
|
|
|
+ for (Long cameraId : cameraIds) {
|
|
|
+ this.lockOrUnLockBySpace(cameraId);
|
|
|
+ }
|
|
|
}catch (Exception e){
|
|
|
successNum --;
|
|
|
log.info("move-scene-error:num:{},errorNum:{},error:{}",num,successNum,e.getMessage());
|
|
@@ -390,7 +397,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
return successNum;
|
|
|
}
|
|
|
|
|
|
- private void moveScene(String num,Camera camera,CameraDetail cameraDetail){
|
|
|
+ private void moveScene(String num,Camera camera,CameraDetail cameraDetail, HashSet<Long> cameraIds){
|
|
|
ScenePro scenePro = this.getByNum(num);
|
|
|
ScenePlus scenePlus = scenePlusService.getByNum(num);
|
|
|
if((scenePro == null || scenePro.getCameraId() == null ) && (scenePlus== null || scenePlus.getCameraId() == null)){
|
|
@@ -472,17 +479,16 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
cameraDetailService.updateUseSpace(cameraDetail.getCameraId(),cameraDetail.getUnit().equals("SP")?+1L: +space);
|
|
|
|
|
|
if(!"aws".equals(CacheUtil.uploadType) && oldCameraDetail.getType() != 11 && oldCameraDetail.getType() != 10 && subSpace >0){ //有剩余容量解封容量内场景
|
|
|
- this.lockOrUnLockBySpace(oldCameraDetail.getCameraId());
|
|
|
+ cameraIds.add(oldCameraDetail.getCameraId());
|
|
|
}
|
|
|
if(!"aws".equals(CacheUtil.uploadType) && cameraDetail.getType() != 11 && cameraDetail.getType() != 10){ //有剩余容量解封容量内场景
|
|
|
- this.lockOrUnLockBySpace(cameraDetail.getCameraId());
|
|
|
+ cameraIds.add(cameraDetail.getCameraId());
|
|
|
}
|
|
|
-
|
|
|
if("aws".equals(CacheUtil.uploadType) && subSpace >0){ //有剩余容量解封容量内场景
|
|
|
- this.lockOrUnLockBySpace(oldCameraDetail.getCameraId());
|
|
|
+ cameraIds.add(oldCameraDetail.getCameraId());
|
|
|
}
|
|
|
if("aws".equals(CacheUtil.uploadType)){ //有剩余容量解封容量内场景
|
|
|
- this.lockOrUnLockBySpace(cameraDetail.getCameraId());
|
|
|
+ cameraIds.add(cameraDetail.getCameraId());
|
|
|
}
|
|
|
sceneMoveLogService.saveLog(scenePro,scenePlus,camera.getSnCode(),oldCamera.getSnCode(),dataSource,dataSource, null);
|
|
|
laserService.moveWenBao(num,oldCamera.getSnCode(),camera.getSnCode(),cameraDetail.getUserId(),dataSource);
|