package com.fdkankan.ucenter.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.fdkankan.common.exception.BusinessException; import com.fdkankan.common.util.RandomUtil; import com.fdkankan.redis.util.RedisUtil; import com.fdkankan.ucenter.common.CameraTypeEnum; import com.fdkankan.ucenter.common.RedisKeyUtil; import com.fdkankan.ucenter.common.constants.ResultCode; import com.fdkankan.ucenter.entity.Scene3dNum; import com.fdkankan.ucenter.mapper.IScene3dNumMapper; import com.fdkankan.ucenter.service.IScene3dNumService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; import java.util.*; import java.util.stream.Collectors; /** *

* 场景编码表 服务实现类 *

* * @author * @since 2022-07-12 */ @Service @Slf4j public class Scene3dNumServiceImpl extends ServiceImpl implements IScene3dNumService { @Autowired RedisUtil redisUtil; @Override public String generateSceneNum(Integer cameraType) { String sceneNum = redisUtil.lLeftPop(RedisKeyUtil.SCENE_UNUSED_NUMS); if(StringUtils.isEmpty(sceneNum)){ throw new BusinessException(ResultCode.FAILURE_CODE_400001,ResultCode.FAILURE_MSG_400001); } return addPrefix(sceneNum,cameraType); } private static String addPrefix( String num,Integer cameraType){ if(cameraType == null){ return num; } return CameraTypeEnum.getSceneNumPrefixByType(cameraType) + num; } }