123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- package com.fdkankan.ucenter.service.impl;
- import cn.hutool.json.JSONUtil;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
- import com.fdkankan.common.util.FileUtils;
- import com.fdkankan.fyun.face.FYunFileServiceInterface;
- import com.fdkankan.ucenter.common.FileUtil;
- import com.fdkankan.ucenter.common.OssPath;
- import com.fdkankan.ucenter.entity.CameraDetail;
- import com.fdkankan.ucenter.entity.ExceedSpaceScene;
- import com.fdkankan.ucenter.entity.IncrementType;
- import com.fdkankan.ucenter.entity.UserIncrement;
- import com.fdkankan.ucenter.mapper.IExceedSpaceSceneMapper;
- import com.fdkankan.ucenter.service.IExceedSpaceSceneService;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.fdkankan.ucenter.service.IIncrementTypeService;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.List;
- /**
- * <p>
- * 超出容量场景码表 服务实现类
- * </p>
- *
- * @author
- * @since 2023-06-30
- */
- @Service
- @Slf4j
- public class ExceedSpaceSceneServiceImpl extends ServiceImpl<IExceedSpaceSceneMapper, ExceedSpaceScene> implements IExceedSpaceSceneService {
- @Autowired
- IIncrementTypeService incrementTypeService;
- @Autowired
- FYunFileServiceInterface fYunFileServiceInterface;
- @Override
- public List<ExceedSpaceScene> getExByCameraId(Long cameraId) {
- LambdaQueryWrapper<ExceedSpaceScene> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(ExceedSpaceScene::getCameraId,cameraId);
- wrapper.orderByDesc(ExceedSpaceScene::getCreateTime);
- return this.list(wrapper);
- }
- @Override
- public ExceedSpaceScene getByUnicode(String unicode) {
- LambdaQueryWrapper<ExceedSpaceScene> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(ExceedSpaceScene::getUnicode,unicode);
- List<ExceedSpaceScene> list = this.list(wrapper);
- if(list == null || list.size() <=0){
- return null;
- }
- return list.get(0);
- }
- @Override
- public void recoveredSpaceByCameraId(Long cameraId) {
- }
- @Override
- public void recoveredSpaceByCameraId(CameraDetail cameraDetail,UserIncrement userIncrement) {
- if("SP".equals(cameraDetail.getUnit())){
- List<ExceedSpaceScene> list = this.getExByCameraId(cameraDetail.getCameraId());
- IncrementType incrementType = incrementTypeService.getById(userIncrement.getIncrementTypeId());
- if(incrementType.getCameraSpace() == -1){
- this.recoveredSpaceAll(cameraDetail.getCameraId());
- return;
- }
- Long cameraSpace = Long.valueOf(incrementType.getCameraSpace());
- if(cameraSpace >= cameraDetail.getUsedSpace() + list.size()){
- this.recoveredSpaceAll(cameraDetail.getCameraId());
- }
- Long num = cameraSpace - cameraDetail.getUsedSpace();
- this.recoveredSpace(list,num);
- }
- }
- private void recoveredSpaceAll(Long cameraId) {
- LambdaUpdateWrapper<ExceedSpaceScene> wrapper = new LambdaUpdateWrapper<>();
- wrapper.eq(ExceedSpaceScene::getCameraId,cameraId);
- this.update(wrapper);
- }
- private void recoveredSpace(List<ExceedSpaceScene> list, Long num) {
- if(num <=0){
- return;
- }
- if(num >list.size()){
- num = (long) list.size();
- }
- for (int i = 0; i<num; i++){
- ExceedSpaceScene exceedSpaceScene = list.get(i);
- exceedSpaceScene.setUpdateTime(null);
- this.updateById(exceedSpaceScene);
- // this.updateOssStatus(exceedSpaceScene.getNum());
- }
- }
- private void updateOssStatus(String num) {
- String v3StatusJson = String.format(OssPath.v3_statusPath, num);
- String v4StatusJson = String.format(OssPath.v4_statusPath, num);
- String statusJson = null;
- String path = null;
- if(fYunFileServiceInterface.fileExist(v3StatusJson)){
- statusJson = fYunFileServiceInterface.getFileContent(v3StatusJson);
- path = v3StatusJson;
- }
- if(fYunFileServiceInterface.fileExist(v4StatusJson)){
- statusJson = fYunFileServiceInterface.getFileContent(v4StatusJson);
- path = v4StatusJson;
- }
- try {
- JSONObject jsonObject = JSONObject.parseObject(statusJson);
- jsonObject.put("status",0);
- String json = JSONUtil.toJsonStr(jsonObject);
- FileUtils.writeFile(OssPath.localStatusPath ,json);
- log.info("updateOssStatus--localPath:{},ossPath:{},status:{}",OssPath.localStatusPath,path,0);
- fYunFileServiceInterface.uploadFile(OssPath.localStatusPath,path);
- }catch (Exception e){
- log.error("updateOssStatus--localPath:{},ossPath:{},status:{},error:{}",OssPath.localStatusPath,path,0,e);
- }finally {
- FileUtil.delFile(OssPath.localStatusPath);
- }
- }
- }
|