SceneProServiceImpl.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. package com.fdkankan.contro.service.impl;
  2. import cn.hutool.core.collection.CollUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  5. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  6. import com.fdkankan.common.constant.ErrorCode;
  7. import com.fdkankan.common.constant.SceneStatus;
  8. import com.fdkankan.common.response.ResultData;
  9. import com.fdkankan.contro.entity.ScenePro;
  10. import com.fdkankan.contro.entity.SceneProExt;
  11. import com.fdkankan.contro.entity.SceneProPO;
  12. import com.fdkankan.contro.mapper.ISceneProMapper;
  13. import com.fdkankan.contro.service.ICameraDetailService;
  14. import com.fdkankan.contro.service.ISceneProExtService;
  15. import com.fdkankan.contro.service.ISceneProService;
  16. import com.fdkankan.fyun.oss.UploadToOssUtil;
  17. import java.util.Calendar;
  18. import java.util.List;
  19. import java.util.stream.Collectors;
  20. import lombok.extern.slf4j.Slf4j;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.beans.factory.annotation.Qualifier;
  23. import org.springframework.stereotype.Service;
  24. /**
  25. * <p>
  26. * pro场景表 服务实现类
  27. * </p>
  28. *
  29. * @author dengsixing
  30. * @since 2021-12-23
  31. */
  32. @Slf4j
  33. @Service
  34. public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro> implements ISceneProService {
  35. @Autowired
  36. @Qualifier("uploadToOssUtil")
  37. UploadToOssUtil uploadToOssUtil;
  38. @Autowired
  39. private ISceneProExtService sceneProExtService;
  40. @Autowired
  41. private ICameraDetailService cameraDetailService;
  42. @Override
  43. public ScenePro findBySceneNum(String sceneNum) {
  44. return this.getOne(new LambdaQueryWrapper<ScenePro>()
  45. .eq(ScenePro::getNum, sceneNum));
  46. }
  47. @Override
  48. public void updateStatus(String sceneNum, int sceneStatus) {
  49. this.update(new LambdaUpdateWrapper<ScenePro>()
  50. .eq(ScenePro::getNum, sceneNum)
  51. .set(ScenePro::getSceneStatus, sceneStatus));
  52. }
  53. @Override
  54. public void updateTime(String sceneNum, Long space, int payStatus, String videos, long computeTime) {
  55. List<ScenePro> list = this.list(new LambdaQueryWrapper<ScenePro>().eq(ScenePro::getNum, sceneNum));
  56. if(CollUtil.isEmpty(list))
  57. return;
  58. //修改场景状态 空间 支付状态 计算时间
  59. List<Long> sceneProIds = list.stream().map(scenePro -> {
  60. return scenePro.getId();
  61. }).collect(Collectors.toList());
  62. this.update(new LambdaUpdateWrapper<ScenePro>()
  63. .in(ScenePro::getId, sceneProIds)
  64. .set(ScenePro::getSceneStatus, SceneStatus.NO_DISPLAY.code())
  65. .set(ScenePro::getCreateTime, Calendar.getInstance().getTime())
  66. .set(ScenePro::getUpdateTime, Calendar.getInstance().getTime())
  67. .set(ScenePro::getPayStatus, payStatus)
  68. .set(ScenePro::getVideos, videos));
  69. sceneProExtService.update(new LambdaUpdateWrapper<SceneProExt>()
  70. .in(SceneProExt::getSceneProId, sceneProIds)
  71. .set(SceneProExt::getSpace, space)
  72. .set(SceneProExt::getComputeTime, computeTime));
  73. }
  74. @Override
  75. public SceneProPO getSceneStatusByUnicode(String unicode) {
  76. return baseMapper.getSceneStatusByUnicode(unicode);
  77. }
  78. @Override
  79. public ResultData rebuildReduceSpaceBySceneNum(String sceneNum) throws Exception{
  80. ScenePro scenePro = this.findBySceneNum(sceneNum);
  81. if(scenePro == null){
  82. log.info("该场景不存在无法扣除容量,场景码为:" + sceneNum);
  83. return ResultData.error(ErrorCode.FAILURE_CODE_5054);
  84. }
  85. if (scenePro.getSceneScheme() < 4){
  86. log.info("该场景不属于八目相机无法扣除容量,场景码为:" + sceneNum);
  87. return ResultData.error(ErrorCode.FAILURE_CODE_5055);
  88. }
  89. SceneProExt sceneProExt = sceneProExtService.findBySceneProId(scenePro.getId());
  90. cameraDetailService.updateCameraDetailByCameraIdAndSpace(scenePro.getCameraId(), -sceneProExt.getSpace());
  91. sceneProExt.setSpace(Long.parseLong("0"));
  92. sceneProExt.setUpdateTime(Calendar.getInstance().getTime());
  93. sceneProExtService.updateById(sceneProExt);
  94. return ResultData.ok();
  95. }
  96. @Override
  97. public SceneProPO findByFileId(String fileId) {
  98. return baseMapper.findByFileId(fileId);
  99. }
  100. }