Scene3dNumServiceImpl.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package com.fdkankan.ucenter.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.fdkankan.common.exception.BusinessException;
  4. import com.fdkankan.common.util.RandomUtil;
  5. import com.fdkankan.redis.util.RedisUtil;
  6. import com.fdkankan.ucenter.common.RedisKeyUtil;
  7. import com.fdkankan.ucenter.common.constants.ResultCode;
  8. import com.fdkankan.ucenter.entity.CameraType;
  9. import com.fdkankan.ucenter.entity.Scene3dNum;
  10. import com.fdkankan.ucenter.mapper.IScene3dNumMapper;
  11. import com.fdkankan.ucenter.service.ICameraTypeService;
  12. import com.fdkankan.ucenter.service.IScene3dNumService;
  13. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  14. import lombok.extern.slf4j.Slf4j;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Service;
  17. import org.springframework.util.ObjectUtils;
  18. import org.springframework.util.StringUtils;
  19. import java.util.*;
  20. import java.util.stream.Collectors;
  21. /**
  22. * <p>
  23. * 场景编码表 服务实现类
  24. * </p>
  25. *
  26. * @author
  27. * @since 2022-07-12
  28. */
  29. @Service
  30. @Slf4j
  31. public class Scene3dNumServiceImpl extends ServiceImpl<IScene3dNumMapper, Scene3dNum> implements IScene3dNumService {
  32. @Autowired
  33. RedisUtil redisUtil;
  34. @Autowired
  35. ICameraTypeService cameraTypeService;
  36. @Override
  37. public String generateSceneNum(Integer cameraType) {
  38. String sceneNum = redisUtil.lLeftPop(RedisKeyUtil.SCENE_UNUSED_NUMS);
  39. if(StringUtils.isEmpty(sceneNum)){
  40. throw new BusinessException(ResultCode.FAILURE_CODE_400001,ResultCode.FAILURE_MSG_400001);
  41. }
  42. if(cameraType != null){
  43. CameraType cameraTypeEntity = cameraTypeService.getByCameraType(cameraType);
  44. if(cameraTypeEntity == null ){
  45. log.info("generateSceneNum-error:cameraType{}",cameraType);
  46. throw new BusinessException(-1,"相机类型不存在");
  47. }
  48. return cameraTypeEntity.getScenePrefix() + sceneNum;
  49. }
  50. return sceneNum;
  51. }
  52. }