|
|
@@ -9,6 +9,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
/**
|
|
|
* <p>
|
|
|
* 场景主表 服务实现类
|
|
|
@@ -32,31 +35,34 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
|
|
|
public Integer getQueueConfig(MqSendLog mqSendLog) {
|
|
|
String num = mqSendLog.getNum();
|
|
|
ScenePlus scenePlus = this.getByNum(num);
|
|
|
- if(scenePlus == null){
|
|
|
- ScenePro scenePro = sceneProService.getByNum(num);
|
|
|
- if(scenePro == null){
|
|
|
- return null;
|
|
|
- }
|
|
|
- MqQueueConfig dfConfig = queueConfigService.getDfConfig(mqSendLog.getType());
|
|
|
- if(dfConfig != null){
|
|
|
- return dfConfig.getId();
|
|
|
- }
|
|
|
+ ScenePro scenePro = sceneProService.getByNum(num);
|
|
|
+ if(scenePlus == null && scenePro == null){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ Long cameraId = scenePlus != null ? scenePlus.getCameraId() : scenePro.getCameraId();
|
|
|
+
|
|
|
+ List<MqQueueConfig> queueConfigList = queueConfigService.list();
|
|
|
+ if(queueConfigList.isEmpty()){
|
|
|
return null;
|
|
|
}
|
|
|
+ List<Integer> configIds = queueConfigList.stream().map(MqQueueConfig::getId).collect(Collectors.toList());
|
|
|
|
|
|
MqNumLevel mqNumLevel = mqNumLevelService.getByNum(num,mqSendLog.getType());
|
|
|
- if(mqNumLevel != null){
|
|
|
+ if(mqNumLevel != null && configIds.contains(mqNumLevel.getQueueConfigId())){
|
|
|
return mqNumLevel.getQueueConfigId();
|
|
|
}
|
|
|
- MqCameraLevel mqCameraLevel = mqCameraLevelService.getByCameraId(scenePlus.getCameraId(),mqSendLog.getType());
|
|
|
- if(mqCameraLevel != null){
|
|
|
+
|
|
|
+ MqCameraLevel mqCameraLevel = mqCameraLevelService.getByCameraId(cameraId,mqSendLog.getType());
|
|
|
+ if(mqCameraLevel != null && configIds.contains(mqCameraLevel.getQueueConfigId())){
|
|
|
return mqCameraLevel.getQueueConfigId();
|
|
|
}
|
|
|
- MqQueueConfig dfConfig = queueConfigService.getDfConfig(mqSendLog.getType());
|
|
|
- if(dfConfig != null){
|
|
|
- return dfConfig.getId();
|
|
|
+
|
|
|
+ List<MqQueueConfig> collect = queueConfigList.stream().filter(e -> e.getIsDefault() == 1).collect(Collectors.toList());
|
|
|
+ if(collect.isEmpty()){
|
|
|
+ return queueConfigList.get(0).getId();
|
|
|
}
|
|
|
- return null;
|
|
|
+ return collect.get(0).getId();
|
|
|
+
|
|
|
}
|
|
|
|
|
|
@Override
|