ScenePlusServiceImpl.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. package com.fdkankan.scene.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  4. import com.fdkankan.common.constant.ErrorCode;
  5. import com.fdkankan.common.constant.PayStatus;
  6. import com.fdkankan.common.exception.BusinessException;
  7. import com.fdkankan.common.response.ResultData;
  8. import com.fdkankan.platform.api.feign.PlatformGoodsClient;
  9. import com.fdkankan.scene.entity.SceneEditInfo;
  10. import com.fdkankan.scene.entity.ScenePlus;
  11. import com.fdkankan.scene.entity.ScenePlusExt;
  12. import com.fdkankan.scene.entity.ScenePro;
  13. import com.fdkankan.scene.entity.SceneProExt;
  14. import com.fdkankan.scene.mapper.IScenePlusMapper;
  15. import com.fdkankan.scene.service.ISceneEditInfoService;
  16. import com.fdkankan.scene.service.IScenePlusExtService;
  17. import com.fdkankan.scene.service.IScenePlusService;
  18. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  19. import com.fdkankan.scene.vo.SceneCheckKeyParamVO;
  20. import java.util.Calendar;
  21. import java.util.List;
  22. import java.util.Objects;
  23. import lombok.extern.slf4j.Slf4j;
  24. import org.springframework.beans.factory.annotation.Autowired;
  25. import org.springframework.stereotype.Service;
  26. import org.springframework.web.multipart.MultipartFile;
  27. /**
  28. * <p>
  29. * 场景主表 服务实现类
  30. * </p>
  31. *
  32. * @author
  33. * @since 2022-03-16
  34. */
  35. @Slf4j
  36. @Service
  37. public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlus> implements IScenePlusService {
  38. @Autowired
  39. private IScenePlusExtService scenePlusExtService;
  40. @Autowired
  41. private PlatformGoodsClient platformGoodsClient;
  42. @Autowired
  43. private IScenePlusService scenePlusService;
  44. @Autowired
  45. ISceneEditInfoService sceneEditInfoService;
  46. @Override
  47. public ScenePlus getScenePlusByNum(String num) {
  48. return this.getOne(new LambdaQueryWrapper<ScenePlus>().eq(ScenePlus::getNum, num));
  49. }
  50. @Override
  51. public ResultData resetSpace(String num) throws Exception{
  52. ScenePlus scenePlus = this.getScenePlusByNum(num);
  53. ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
  54. if(Objects.isNull(scenePlus)){
  55. log.info("该场景不存在无法重置容量,场景码为:" + num);
  56. return ResultData.error(ErrorCode.FAILURE_CODE_5058);
  57. }
  58. if (scenePlusExt.getSceneScheme() < 4){
  59. log.info("该场景不属于八目相机无法重置容量,场景码为:" + num);
  60. return ResultData.error(ErrorCode.FAILURE_CODE_5057);
  61. }
  62. platformGoodsClient.updateCameraDetailByCameraIdAndSpace(scenePlus.getCameraId(), -scenePlusExt.getSpace());
  63. scenePlusExt.setSpace(Long.parseLong("0"));
  64. scenePlusExtService.updateById(scenePlusExt);
  65. return ResultData.ok();
  66. }
  67. @Override
  68. public ResultData checkKey(SceneCheckKeyParamVO param) throws Exception {
  69. // ScenePro scenePro = sceneProService.getOne(
  70. // new LambdaQueryWrapper<ScenePro>()
  71. // .eq(ScenePro::getNum, param.getNum())
  72. // .eq(ScenePro::getPayStatus, PayStatus.PAY.code()));
  73. ScenePlus scenePlus = scenePlusService.getOne(new LambdaQueryWrapper<ScenePlus>()
  74. .eq(ScenePlus::getNum, param.getNum())
  75. .eq(ScenePlus::getPayStatus, PayStatus.PAY.code()));
  76. if (Objects.isNull(scenePlus)) {
  77. throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
  78. }
  79. SceneEditInfo sceneEditInfo = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
  80. if (Objects.isNull(sceneEditInfo)) {
  81. throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
  82. }
  83. if(!param.getPassword().equals(sceneEditInfo.getScenePassword())){
  84. throw new BusinessException(ErrorCode.FAILURE_CODE_5021);
  85. }
  86. return ResultData.ok();
  87. }
  88. @Override
  89. public ResultData updateScenePlusUserIdByCameraId(List<Long> cameraIdList, Long userId) {
  90. LambdaUpdateWrapper<ScenePlus> updateWrapper = new LambdaUpdateWrapper<ScenePlus>()
  91. .set(ScenePlus::getUserId, userId).in(ScenePlus::getCameraId, cameraIdList);
  92. this.update(updateWrapper);
  93. return ResultData.ok();
  94. }
  95. @Override
  96. public ResultData moveScene(List<String> numList, Long cameraId, Long userId) {
  97. LambdaUpdateWrapper<ScenePlus> updateWrapper =
  98. new LambdaUpdateWrapper<ScenePlus>()
  99. .set(ScenePlus::getUserId, userId)
  100. .set(ScenePlus::getCameraId, cameraId)
  101. .in(ScenePlus::getNum, numList);
  102. this.update(updateWrapper);
  103. return ResultData.ok();
  104. }
  105. }