123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- package com.fdkankan.contro.service.impl;
- import cn.hutool.core.collection.CollUtil;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.fdkankan.common.constant.ErrorCode;
- import com.fdkankan.common.constant.SceneStatus;
- import com.fdkankan.common.response.ResultData;
- import com.fdkankan.contro.entity.ScenePro;
- import com.fdkankan.contro.entity.SceneProExt;
- import com.fdkankan.contro.entity.SceneProPO;
- import com.fdkankan.contro.mapper.ISceneProMapper;
- import com.fdkankan.contro.service.ICameraDetailService;
- import com.fdkankan.contro.service.ISceneProExtService;
- import com.fdkankan.contro.service.ISceneProService;
- import com.fdkankan.fyun.oss.UploadToOssUtil;
- import java.util.Calendar;
- import java.util.List;
- import java.util.stream.Collectors;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Qualifier;
- import org.springframework.stereotype.Service;
- /**
- * <p>
- * pro场景表 服务实现类
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
- @Slf4j
- @Service
- public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro> implements ISceneProService {
- @Autowired
- @Qualifier("uploadToOssUtil")
- UploadToOssUtil uploadToOssUtil;
- @Autowired
- private ISceneProExtService sceneProExtService;
- @Autowired
- private ICameraDetailService cameraDetailService;
- @Override
- public ScenePro findBySceneNum(String sceneNum) {
- return this.getOne(new LambdaQueryWrapper<ScenePro>()
- .eq(ScenePro::getNum, sceneNum));
- }
- @Override
- public void updateStatus(String sceneNum, int sceneStatus) {
- this.update(new LambdaUpdateWrapper<ScenePro>()
- .eq(ScenePro::getNum, sceneNum)
- .set(ScenePro::getSceneStatus, sceneStatus));
- }
- @Override
- public void updateTime(String sceneNum, Long space, int payStatus, String videos, long computeTime) {
- List<ScenePro> list = this.list(new LambdaQueryWrapper<ScenePro>().eq(ScenePro::getNum, sceneNum));
- if(CollUtil.isEmpty(list))
- return;
- //修改场景状态 空间 支付状态 计算时间
- List<Long> sceneProIds = list.stream().map(scenePro -> {
- return scenePro.getId();
- }).collect(Collectors.toList());
- this.update(new LambdaUpdateWrapper<ScenePro>()
- .in(ScenePro::getId, sceneProIds)
- .set(ScenePro::getSceneStatus, SceneStatus.NO_DISPLAY.code())
- .set(ScenePro::getCreateTime, Calendar.getInstance().getTime())
- .set(ScenePro::getUpdateTime, Calendar.getInstance().getTime())
- .set(ScenePro::getPayStatus, payStatus)
- .set(ScenePro::getVideos, videos));
- sceneProExtService.update(new LambdaUpdateWrapper<SceneProExt>()
- .in(SceneProExt::getSceneProId, sceneProIds)
- .set(SceneProExt::getSpace, space)
- .set(SceneProExt::getComputeTime, computeTime));
- }
- @Override
- public SceneProPO getSceneStatusByUnicode(String unicode) {
- return baseMapper.getSceneStatusByUnicode(unicode);
- }
- @Override
- public ResultData rebuildReduceSpaceBySceneNum(String sceneNum) throws Exception{
- ScenePro scenePro = this.findBySceneNum(sceneNum);
- if(scenePro == null){
- log.info("该场景不存在无法扣除容量,场景码为:" + sceneNum);
- return ResultData.error(ErrorCode.FAILURE_CODE_5054);
- }
- if (scenePro.getSceneScheme() < 4){
- log.info("该场景不属于八目相机无法扣除容量,场景码为:" + sceneNum);
- return ResultData.error(ErrorCode.FAILURE_CODE_5055);
- }
- SceneProExt sceneProExt = sceneProExtService.findBySceneProId(scenePro.getId());
- cameraDetailService.updateCameraDetailByCameraIdAndSpace(scenePro.getCameraId(), -sceneProExt.getSpace());
- sceneProExt.setSpace(Long.parseLong("0"));
- sceneProExt.setUpdateTime(Calendar.getInstance().getTime());
- sceneProExtService.updateById(sceneProExt);
- return ResultData.ok();
- }
- @Override
- public SceneProPO findByFileId(String fileId) {
- return baseMapper.findByFileId(fileId);
- }
- }
|