|
@@ -7,10 +7,8 @@ import com.fdkankan.common.constant.Constant;
|
|
|
import com.fdkankan.manage.common.CacheUtil;
|
|
|
import com.fdkankan.manage.common.PageInfo;
|
|
|
import com.fdkankan.manage.common.ResultCode;
|
|
|
+import com.fdkankan.manage.entity.*;
|
|
|
import com.fdkankan.manage.exception.BusinessException;
|
|
|
-import com.fdkankan.manage.entity.Camera;
|
|
|
-import com.fdkankan.manage.entity.CameraDetail;
|
|
|
-import com.fdkankan.manage.entity.User;
|
|
|
import com.fdkankan.manage.httpClient.service.LaserService;
|
|
|
import com.fdkankan.manage.mapper.ICameraDetailMapper;
|
|
|
import com.fdkankan.manage.service.*;
|
|
@@ -52,6 +50,10 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
|
|
|
IUserService userService;
|
|
|
@Autowired
|
|
|
LaserService laserService;
|
|
|
+ @Autowired
|
|
|
+ IUserIncrementService userIncrementService;
|
|
|
+ @Autowired
|
|
|
+ IIncrementTypeService incrementTypeService;
|
|
|
|
|
|
|
|
|
@Override
|
|
@@ -232,4 +234,79 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
|
|
|
}
|
|
|
this.updateById(cameraDetail);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Long getTotalSpaceByCameraId(Long cameraId) {
|
|
|
+ CameraDetail cameraDetail = this.getByCameraId(cameraId);
|
|
|
+ if(cameraDetail == null){
|
|
|
+ return 0L;
|
|
|
+ }
|
|
|
+ return getTotalSpaceByCameraId(cameraDetail);
|
|
|
+ }
|
|
|
+ @Override
|
|
|
+ public Long getTotalSpaceByCameraId(CameraDetail cameraDetail) {
|
|
|
+ UserIncrement userIncrement = userIncrementService.getByCameraId(cameraDetail.getCameraId());
|
|
|
+ if(userIncrement != null && userIncrement.getIsExpired() == 0){
|
|
|
+ IncrementType incrementType = incrementTypeService.getById(userIncrement.getIncrementTypeId());
|
|
|
+ return getTotalSpace(cameraDetail,incrementType);
|
|
|
+ }
|
|
|
+ return getTotalSpace(cameraDetail,null);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Boolean checkSpace(Long cameraId, Long space) {
|
|
|
+ CameraDetail cameraDetail = this.getByCameraId(cameraId);
|
|
|
+ if(cameraDetail == null){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return checkSpace(cameraDetail,space);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Boolean checkSpace(CameraDetail detailEntity, Long space) {
|
|
|
+ UserIncrement userIncrement = userIncrementService.getByCameraId(detailEntity.getCameraId());
|
|
|
+ if(userIncrement == null || userIncrement.getIsExpired() == 1){
|
|
|
+ return checkSpace(detailEntity,null,space);
|
|
|
+ }
|
|
|
+ IncrementType incrementType = incrementTypeService.getById(userIncrement.getIncrementTypeId());
|
|
|
+ return checkSpace(detailEntity,incrementType,space);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Boolean checkSpace(CameraDetail detailEntity, IncrementType incrementType, Long space) {
|
|
|
+ Long totalSpace = 0L;
|
|
|
+ if("SP".equals(detailEntity.getUnit())){
|
|
|
+ if(incrementType!=null && incrementType.getCameraSpace() == -1){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ totalSpace = incrementType != null ?incrementType.getCameraSpace() : detailEntity.getTotalSpace();
|
|
|
+ return detailEntity.getUsedSpace() + 1 <= totalSpace;
|
|
|
+ }
|
|
|
+ if("GB".equals(detailEntity.getUnit())){
|
|
|
+ if(incrementType!=null && incrementType.getCameraCapacity() == -1){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ totalSpace = incrementType != null ?incrementType.getCameraCapacity() : detailEntity.getTotalSpace();
|
|
|
+ return detailEntity.getUsedSpace() + space <= totalSpace * 1024 * 1024 * 1024L;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ public Long getTotalSpace(CameraDetail detailEntity, IncrementType incrementType) {
|
|
|
+ if("SP".equals(detailEntity.getUnit())){
|
|
|
+ if(incrementType!=null && incrementType.getCameraSpace() == -1){
|
|
|
+ return -1L;
|
|
|
+ }
|
|
|
+ return incrementType != null ?incrementType.getCameraSpace() : detailEntity.getTotalSpace();
|
|
|
+ }
|
|
|
+ if("GB".equals(detailEntity.getUnit())){
|
|
|
+ if(incrementType!=null && incrementType.getCameraCapacity() == -1){
|
|
|
+ return -1L;
|
|
|
+ }
|
|
|
+ return incrementType != null ?incrementType.getCameraCapacity() : detailEntity.getTotalSpace();
|
|
|
+ }
|
|
|
+ return 0L;
|
|
|
+ }
|
|
|
+
|
|
|
}
|