|
@@ -5,6 +5,8 @@ import cn.hutool.core.io.FileUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.fdkankan.common.constant.PayStatus;
|
|
|
+import com.fdkankan.common.constant.SpaceType;
|
|
|
import com.fdkankan.common.util.FileUtils;
|
|
|
import com.fdkankan.contro.entity.*;
|
|
|
import com.fdkankan.contro.factory.UserEditData.UserEditDataHandler;
|
|
@@ -55,6 +57,12 @@ public class CommonServiceImpl implements ICommonService {
|
|
|
private IUserService userService;
|
|
|
@Autowired
|
|
|
private ISceneProService sceneProService;
|
|
|
+ @Autowired
|
|
|
+ private ICameraDetailService cameraDetailService;
|
|
|
+ @Autowired
|
|
|
+ private IUserIncrementService userIncrementService;
|
|
|
+ @Autowired
|
|
|
+ private IIncrementTypeService incrementTypeService;
|
|
|
|
|
|
|
|
|
@Override
|
|
@@ -236,4 +244,46 @@ public class CommonServiceImpl implements ICommonService {
|
|
|
}
|
|
|
return ossPath;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int getPayStatus(Long cameraId, Long space){
|
|
|
+
|
|
|
+ //查询权益统计容量的方式
|
|
|
+ String unit = SpaceType.GB.code();
|
|
|
+ CameraDetail cameraDetail = cameraDetailService.getByCameraId(cameraId);
|
|
|
+ if(StrUtil.isNotEmpty(cameraDetail.getUnit())){
|
|
|
+ unit = cameraDetail.getUnit();
|
|
|
+ }
|
|
|
+ Long limit = cameraDetail.getTotalSpace();
|
|
|
+
|
|
|
+ UserIncrement userIncrement = userIncrementService.getByCameraId(cameraId);
|
|
|
+ if(Objects.nonNull(userIncrement)){
|
|
|
+ IncrementType incrementType = incrementTypeService.getById(userIncrement.getIncrementTypeId());
|
|
|
+ switch (SpaceType.get(unit)){
|
|
|
+ case GB:
|
|
|
+ limit = incrementType.getCameraCapacity();
|
|
|
+ if(limit != -1){
|
|
|
+ limit = limit * 1024 * 1024 * 1024;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case SP:
|
|
|
+ limit = incrementType.getCameraSpace();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(SpaceType.SP.code().equals(unit)){//如果按空间方式统计,则space置为1
|
|
|
+ space = 1L;
|
|
|
+ }
|
|
|
+
|
|
|
+ //更新相机使用用量
|
|
|
+ cameraDetail = cameraDetailService.updateCameraDetailByCameraIdAndSpace(cameraId, space);
|
|
|
+ if(limit == -1){
|
|
|
+ return PayStatus.PAY.code();
|
|
|
+ }
|
|
|
+ Long usedSpace = cameraDetail.getUsedSpace();
|
|
|
+ if(usedSpace < limit){
|
|
|
+ return PayStatus.NOT_PAY.code();
|
|
|
+ }
|
|
|
+ return PayStatus.PAY.code();
|
|
|
+ }
|
|
|
}
|