SceneUploadCountServiceImpl.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package com.fdkankan.contro.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.fdkankan.common.constant.CameraConstant;
  4. import com.fdkankan.common.exception.BusinessException;
  5. import com.fdkankan.contro.entity.Camera;
  6. import com.fdkankan.contro.entity.SceneUploadCount;
  7. import com.fdkankan.contro.mapper.ISceneUploadCountMapper;
  8. import com.fdkankan.contro.service.ICameraService;
  9. import com.fdkankan.contro.service.ISceneUploadCountService;
  10. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  11. import com.fdkankan.contro.vo.SceneUploadCountParamVO;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import java.util.Objects;
  15. /**
  16. * <p>
  17. * app触发场景上传统计表 服务实现类
  18. * </p>
  19. *
  20. * @author
  21. * @since 2024-05-20
  22. */
  23. @Service
  24. public class SceneUploadCountServiceImpl extends ServiceImpl<ISceneUploadCountMapper, SceneUploadCount> implements ISceneUploadCountService {
  25. @Autowired
  26. private ICameraService cameraService;
  27. @Override
  28. public void increSceneUploadCount(SceneUploadCountParamVO param) {
  29. String uuid = param.getUuid();
  30. String snCode = uuid.split("_")[0];
  31. Camera camera = cameraService.getBySnCode(snCode);
  32. if (camera == null) {
  33. throw new BusinessException(CameraConstant.FAILURE_6003);
  34. }
  35. SceneUploadCount sceneUploadCount = this.getByUUid(uuid);
  36. if(Objects.isNull(sceneUploadCount)){
  37. sceneUploadCount = new SceneUploadCount();
  38. sceneUploadCount.setUuid(uuid);
  39. sceneUploadCount.setSnCode(snCode);
  40. sceneUploadCount.setCount(1);
  41. }else{
  42. sceneUploadCount.setCount(sceneUploadCount.getCount() + 1);
  43. }
  44. this.saveOrUpdate(sceneUploadCount);
  45. }
  46. @Override
  47. public void resetCountByUuid(String uuid) {
  48. SceneUploadCount sceneUploadCount = this.getByUUid(uuid);
  49. if(Objects.isNull(sceneUploadCount)){
  50. return;
  51. }
  52. sceneUploadCount.setCount(0);
  53. this.updateById(sceneUploadCount);
  54. }
  55. @Override
  56. public SceneUploadCount getByUUid(String uuid) {
  57. return this.getOne(new LambdaQueryWrapper<SceneUploadCount>().eq(SceneUploadCount::getUuid, uuid));
  58. }
  59. }