ScenePlusServiceImpl.java 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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 java.util.Objects;
  16. /**
  17. * <p>
  18. * 场景主表 服务实现类
  19. * </p>
  20. *
  21. * @author
  22. * @since 2022-03-16
  23. */
  24. @Slf4j
  25. @Service
  26. public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlus> implements IScenePlusService {
  27. @Autowired
  28. private IScenePlusExtService scenePlusExtService;
  29. @Autowired
  30. private ICameraDetailService cameraDetailService;
  31. @Override
  32. public ScenePlus getScenePlusByNum(String num) {
  33. return this.getOne(new LambdaQueryWrapper<ScenePlus>().eq(ScenePlus::getNum, num));
  34. }
  35. @Override
  36. public ResultData resetSpace(String num) throws Exception{
  37. ScenePlus scenePlus = this.getScenePlusByNum(num);
  38. ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
  39. if(Objects.isNull(scenePlus)){
  40. log.info("该场景不存在无法重置容量,场景码为:" + num);
  41. return ResultData.error(ErrorCode.FAILURE_CODE_5058);
  42. }
  43. if (scenePlusExt.getSceneScheme() < 4){
  44. log.info("该场景不属于八目相机无法重置容量,场景码为:" + num);
  45. return ResultData.error(ErrorCode.FAILURE_CODE_5057);
  46. }
  47. cameraDetailService.updateCameraDetailByCameraIdAndSpace(scenePlus.getCameraId(), -scenePlusExt.getSpace());
  48. scenePlusExt.setSpace(Long.parseLong("0"));
  49. scenePlusExtService.updateById(scenePlusExt);
  50. return ResultData.ok();
  51. }
  52. @Override
  53. public String getDataSourceLikeUnicode(String unicode) {
  54. ScenePlusExt scenePlusExt = scenePlusExtService.getOne(
  55. new LambdaQueryWrapper<ScenePlusExt>().like(ScenePlusExt::getDataSource, unicode));
  56. if(Objects.isNull(scenePlusExt)){
  57. return null;
  58. }
  59. return scenePlusExt.getDataSource();
  60. }
  61. @Override
  62. public ScenePlus getByFileId(String fileId) {
  63. ScenePlusExt scenePlusExt = scenePlusExtService.getOne(
  64. new LambdaQueryWrapper<ScenePlusExt>().like(ScenePlusExt::getDataSource, fileId));
  65. if(Objects.isNull(scenePlusExt)){
  66. return null;
  67. }
  68. return this.getById(scenePlusExt.getPlusId());
  69. }
  70. }