Scene3dNumServiceImpl.java 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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.CameraTypeEnum;
  7. import com.fdkankan.ucenter.common.RedisKeyUtil;
  8. import com.fdkankan.ucenter.common.constants.ResultCode;
  9. import com.fdkankan.ucenter.entity.Scene3dNum;
  10. import com.fdkankan.ucenter.mapper.IScene3dNumMapper;
  11. import com.fdkankan.ucenter.service.IScene3dNumService;
  12. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  13. import lombok.extern.slf4j.Slf4j;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. import org.springframework.util.ObjectUtils;
  17. import org.springframework.util.StringUtils;
  18. import java.util.*;
  19. import java.util.stream.Collectors;
  20. /**
  21. * <p>
  22. * 场景编码表 服务实现类
  23. * </p>
  24. *
  25. * @author
  26. * @since 2022-07-12
  27. */
  28. @Service
  29. @Slf4j
  30. public class Scene3dNumServiceImpl extends ServiceImpl<IScene3dNumMapper, Scene3dNum> implements IScene3dNumService {
  31. @Autowired
  32. RedisUtil redisUtil;
  33. @Override
  34. public String generateSceneNum(Integer cameraType) {
  35. String sceneNum = redisUtil.lLeftPop(RedisKeyUtil.SCENE_UNUSED_NUMS);
  36. if(StringUtils.isEmpty(sceneNum)){
  37. throw new BusinessException(ResultCode.FAILURE_CODE_400001,ResultCode.FAILURE_MSG_400001);
  38. }
  39. return addPrefix(sceneNum,cameraType);
  40. }
  41. private static String addPrefix( String num,Integer cameraType){
  42. if(cameraType == null){
  43. return num;
  44. }
  45. return CameraTypeEnum.getSceneNumPrefixByType(cameraType) + num;
  46. }
  47. }