ScenePlusServiceImpl.java 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.fdkankan.contro.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  4. import com.fdkankan.common.constant.ErrorCode;
  5. import com.fdkankan.contro.entity.ScenePlus;
  6. import com.fdkankan.contro.entity.ScenePlusExt;
  7. import com.fdkankan.contro.mapper.IScenePlusMapper;
  8. import com.fdkankan.contro.service.ICameraDetailService;
  9. import com.fdkankan.contro.service.IScenePlusExtService;
  10. import com.fdkankan.contro.service.IScenePlusService;
  11. import com.fdkankan.web.response.ResultData;
  12. import lombok.extern.slf4j.Slf4j;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. import org.springframework.util.ObjectUtils;
  16. import java.util.Objects;
  17. /**
  18. * <p>
  19. * 场景主表 服务实现类
  20. * </p>
  21. *
  22. * @author
  23. * @since 2022-03-16
  24. */
  25. @Slf4j
  26. @Service
  27. public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlus> implements IScenePlusService {
  28. @Autowired
  29. private IScenePlusExtService scenePlusExtService;
  30. @Autowired
  31. private ICameraDetailService cameraDetailService;
  32. @Override
  33. public ScenePlus getScenePlusByNum(String num) {
  34. return this.getOne(new LambdaQueryWrapper<ScenePlus>().eq(ScenePlus::getNum, num));
  35. }
  36. @Override
  37. public ResultData resetSpace(String num){
  38. ScenePlus scenePlus = this.getScenePlusByNum(num);
  39. ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
  40. if(Objects.isNull(scenePlus)){
  41. log.info("该场景不存在无法重置容量,场景码为:" + num);
  42. return ResultData.error(ErrorCode.FAILURE_CODE_5058);
  43. }
  44. if (scenePlusExt.getSceneScheme() < 4){
  45. log.info("该场景不属于八目相机无法重置容量,场景码为:" + num);
  46. return ResultData.error(ErrorCode.FAILURE_CODE_5057);
  47. }
  48. if(!ObjectUtils.isEmpty(scenePlusExt) && !ObjectUtils.isEmpty(scenePlusExt.getSpace())){
  49. cameraDetailService.updateCameraDetailByCameraIdAndSpace(scenePlus.getCameraId(), -scenePlusExt.getSpace());
  50. }
  51. scenePlusExt.setSpace(Long.parseLong("0"));
  52. scenePlusExtService.updateById(scenePlusExt);
  53. return ResultData.ok();
  54. }
  55. @Override
  56. public String getDataSourceLikeUnicode(String unicode) {
  57. ScenePlusExt scenePlusExt = scenePlusExtService.getOne(
  58. new LambdaQueryWrapper<ScenePlusExt>().like(ScenePlusExt::getDataSource, unicode));
  59. if(Objects.isNull(scenePlusExt)){
  60. return null;
  61. }
  62. return scenePlusExt.getDataSource();
  63. }
  64. @Override
  65. public ScenePlus getByFileId(String fileId) {
  66. ScenePlusExt scenePlusExt = scenePlusExtService.getOne(
  67. new LambdaQueryWrapper<ScenePlusExt>().like(ScenePlusExt::getDataSource, fileId));
  68. if(Objects.isNull(scenePlusExt)){
  69. return null;
  70. }
  71. return this.getById(scenePlusExt.getPlusId());
  72. }
  73. }