ScenePlusServiceImpl.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package com.fdkankan.contro.service.impl;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import cn.hutool.core.util.StrUtil;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  6. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  7. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  8. import com.fdkankan.common.constant.CameraConstant;
  9. import com.fdkankan.common.constant.CommonStatus;
  10. import com.fdkankan.common.constant.ConstantUrl;
  11. import com.fdkankan.common.constant.ErrorCode;
  12. import com.fdkankan.common.constant.SceneStatus;
  13. import com.fdkankan.common.exception.BusinessException;
  14. import com.fdkankan.common.util.FileUtils;
  15. import com.fdkankan.contro.entity.Camera;
  16. import com.fdkankan.contro.entity.CameraDetail;
  17. import com.fdkankan.contro.entity.SSOUser;
  18. import com.fdkankan.contro.entity.ScenePlus;
  19. import com.fdkankan.contro.entity.ScenePlusExt;
  20. import com.fdkankan.contro.entity.ScenePro;
  21. import com.fdkankan.contro.mapper.IScenePlusMapper;
  22. import com.fdkankan.contro.service.ICameraDetailService;
  23. import com.fdkankan.contro.service.ICameraService;
  24. import com.fdkankan.contro.service.IScenePlusExtService;
  25. import com.fdkankan.contro.service.IScenePlusService;
  26. import com.fdkankan.contro.service.ISceneProService;
  27. import com.fdkankan.contro.service.IUserService;
  28. import com.fdkankan.contro.vo.ScenePlusVO;
  29. import com.fdkankan.fyun.constant.FYunTypeEnum;
  30. import com.fdkankan.fyun.face.FYunFileServiceInterface;
  31. import com.fdkankan.model.constants.ConstantFilePath;
  32. import com.fdkankan.rabbitmq.bean.BuildSceneCallMessage;
  33. import com.fdkankan.web.response.ResultData;
  34. import java.io.File;
  35. import java.util.Date;
  36. import lombok.extern.slf4j.Slf4j;
  37. import org.joda.time.DateTime;
  38. import org.springframework.beans.factory.annotation.Autowired;
  39. import org.springframework.beans.factory.annotation.Value;
  40. import org.springframework.stereotype.Service;
  41. import java.util.Objects;
  42. import org.springframework.util.ObjectUtils;
  43. /**
  44. * <p>
  45. * 场景主表 服务实现类
  46. * </p>
  47. *
  48. * @author
  49. * @since 2022-03-16
  50. */
  51. @Slf4j
  52. @Service
  53. public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlus> implements IScenePlusService {
  54. @Autowired
  55. private IScenePlusExtService scenePlusExtService;
  56. @Autowired
  57. private ICameraDetailService cameraDetailService;
  58. @Override
  59. public ScenePlus getScenePlusByNum(String num) {
  60. return this.getOne(new LambdaQueryWrapper<ScenePlus>().eq(ScenePlus::getNum, num));
  61. }
  62. @Override
  63. public ResultData resetSpace(String num){
  64. ScenePlus scenePlus = this.getScenePlusByNum(num);
  65. ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
  66. if(Objects.isNull(scenePlus)){
  67. log.info("该场景不存在无法重置容量,场景码为:" + num);
  68. return ResultData.error(ErrorCode.FAILURE_CODE_5058);
  69. }
  70. if (scenePlusExt.getSceneScheme() < 4){
  71. log.info("该场景不属于八目相机无法重置容量,场景码为:" + num);
  72. return ResultData.error(ErrorCode.FAILURE_CODE_5057);
  73. }
  74. if(!ObjectUtils.isEmpty(scenePlusExt) && !ObjectUtils.isEmpty(scenePlusExt.getSpace())){
  75. cameraDetailService.updateCameraDetailByCameraIdAndSpace(scenePlus.getCameraId(), -scenePlusExt.getSpace());
  76. }
  77. scenePlusExt.setSpace(Long.parseLong("0"));
  78. scenePlusExtService.updateById(scenePlusExt);
  79. return ResultData.ok();
  80. }
  81. @Override
  82. public String getDataSourceLikeUnicode(String unicode) {
  83. ScenePlusExt scenePlusExt = scenePlusExtService.getOne(
  84. new LambdaQueryWrapper<ScenePlusExt>().like(ScenePlusExt::getDataSource, unicode)
  85. .eq(ScenePlusExt::getRecStatus,"A"));
  86. if(Objects.isNull(scenePlusExt)){
  87. return null;
  88. }
  89. return scenePlusExt.getDataSource();
  90. }
  91. @Override
  92. public ScenePlus getByFileId(String fileId) {
  93. ScenePlusExt scenePlusExt = scenePlusExtService.getOne(
  94. new LambdaQueryWrapper<ScenePlusExt>().like(ScenePlusExt::getDataSource, fileId)
  95. .eq(ScenePlusExt::getRecStatus,"A"));
  96. if(Objects.isNull(scenePlusExt)){
  97. return null;
  98. }
  99. return this.getById(scenePlusExt.getPlusId());
  100. }
  101. }