lyhzzz il y a 1 mois
Parent
commit
e6cbb0c4f6

+ 22 - 16
src/main/java/com/fdkankan/mqcontroller/service/impl/ScenePlusServiceImpl.java

@@ -9,6 +9,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
 /**
  * <p>
  * <p>
  * 场景主表 服务实现类
  * 场景主表 服务实现类
@@ -32,31 +35,34 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
     public Integer getQueueConfig(MqSendLog mqSendLog) {
     public Integer getQueueConfig(MqSendLog mqSendLog) {
         String num = mqSendLog.getNum();
         String num = mqSendLog.getNum();
         ScenePlus scenePlus = this.getByNum(num);
         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;
             return null;
         }
         }
+        List<Integer> configIds = queueConfigList.stream().map(MqQueueConfig::getId).collect(Collectors.toList());
 
 
         MqNumLevel mqNumLevel = mqNumLevelService.getByNum(num,mqSendLog.getType());
         MqNumLevel mqNumLevel = mqNumLevelService.getByNum(num,mqSendLog.getType());
-        if(mqNumLevel != null){
+        if(mqNumLevel != null && configIds.contains(mqNumLevel.getQueueConfigId())){
             return 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();
             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
     @Override

+ 1 - 1
src/main/java/com/fdkankan/mqcontroller/task/TaskService.java

@@ -16,11 +16,11 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.FactoryBean;
 import org.springframework.beans.factory.FactoryBean;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.cloud.context.config.annotation.RefreshScope;
 import org.springframework.cloud.context.config.annotation.RefreshScope;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
+import software.amazon.awssdk.services.autoscaling.endpoints.internal.Value;
 
 
 import javax.annotation.PostConstruct;
 import javax.annotation.PostConstruct;
 import java.sql.SQLOutput;
 import java.sql.SQLOutput;