Scene3dNumServiceImpl.java 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package com.fdkankan.ucenter.service.impl;
  2. import com.fdkankan.common.exception.BusinessException;
  3. import com.fdkankan.redis.util.RedisUtil;
  4. import com.fdkankan.ucenter.common.RedisKeyUtil;
  5. import com.fdkankan.ucenter.common.constants.ResultCodeMsg;
  6. import com.fdkankan.ucenter.entity.CameraType;
  7. import com.fdkankan.ucenter.entity.Scene3dNum;
  8. import com.fdkankan.ucenter.mapper.IScene3dNumMapper;
  9. import com.fdkankan.ucenter.service.ICameraTypeService;
  10. import com.fdkankan.ucenter.service.IScene3dNumService;
  11. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  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.StringUtils;
  16. /**
  17. * <p>
  18. * 场景编码表 服务实现类
  19. * </p>
  20. *
  21. * @author
  22. * @since 2022-07-12
  23. */
  24. @Service
  25. @Slf4j
  26. public class Scene3dNumServiceImpl extends ServiceImpl<IScene3dNumMapper, Scene3dNum> implements IScene3dNumService {
  27. @Autowired
  28. RedisUtil redisUtil;
  29. @Autowired
  30. ICameraTypeService cameraTypeService;
  31. @Override
  32. public String generateSceneNum(Integer cameraType) {
  33. String sceneNum = redisUtil.lLeftPop(RedisKeyUtil.SCENE_UNUSED_NUMS);
  34. if(StringUtils.isEmpty(sceneNum)){
  35. throw new BusinessException(ResultCodeMsg.FAILURE_CODE_400001, ResultCodeMsg.FAILURE_MSG_400001);
  36. }
  37. if(cameraType != null){
  38. CameraType cameraTypeEntity = cameraTypeService.getByCameraType(cameraType);
  39. if(cameraTypeEntity == null ){
  40. log.info("generateSceneNum-error:cameraType{}",cameraType);
  41. throw new BusinessException(-1,"相机类型不存在");
  42. }
  43. return cameraTypeEntity.getScenePrefix() + sceneNum;
  44. }
  45. return sceneNum;
  46. }
  47. @Override
  48. public String generateSceneNumByOldNum(String oldNum) {
  49. String sceneNum = redisUtil.lLeftPop(RedisKeyUtil.SCENE_UNUSED_NUMS);
  50. if(StringUtils.isEmpty(sceneNum)){
  51. throw new BusinessException(ResultCodeMsg.FAILURE_CODE_400001, ResultCodeMsg.FAILURE_MSG_400001);
  52. }
  53. if(StringUtils.isEmpty(oldNum)){
  54. throw new BusinessException(ResultCodeMsg.FAILURE_CODE_400002, ResultCodeMsg.FAILURE_MSG_400002);
  55. }
  56. if(!oldNum.contains("-")){
  57. throw new BusinessException(ResultCodeMsg.FAILURE_CODE_400002, ResultCodeMsg.FAILURE_MSG_400002);
  58. }
  59. String[] split = oldNum.split("-");
  60. return split[0] +"-"+ sceneNum;
  61. }
  62. }