diff --git a/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/config/MqttConfigure.java b/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/config/MqttConfigure.java index 1e81a87..48bb64c 100644 --- a/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/config/MqttConfigure.java +++ b/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/config/MqttConfigure.java @@ -25,6 +25,12 @@ import org.springframework.web.bind.annotation.RequestParam; import javax.annotation.PostConstruct; import javax.annotation.Resource; import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.Stream; + /** * * @author liuxinyue @@ -49,7 +55,6 @@ public class MqttConfigure { @Autowired private MessageTemplateTypeCacheService messageTemplateTypeCacheService; - @Autowired private KafkaProducer kafkaProducer; @@ -124,25 +129,23 @@ public class MqttConfigure { SysCar carByVin = null; List carList = service.get("carList"); if(carList==null){ - log.info("redis未取到数据"); + throw new RuntimeException("Redis未获取到车辆数据!!!"); }else{ - for (SysCarVo sysCarVo : carList) { - if(sysCarVo.getCarVin().equals(carVin)){ - carByVin = sysCarVo; - } - } + // 使用 HashMap 存储车信息,以 VIN 作为键 + Map carMap = carList.stream() + .collect(Collectors.toMap(SysCarVo::getCarVin, Function.identity())); + carByVin = carMap.get(carVin); } + log.info("车辆信息为:" + carByVin); //对应车辆所对应的报文模版 Integer templateId = carByVin.getTemplateId(); - List templateTypeList=null; List messageTemplateTypes=null; String redisKey = "messageTemplateTypeList"; //key存在 Boolean b = redisService.hasKey(redisKey); if (b) { messageTemplateTypes = messageTemplateTypeCacheService.get(redisKey); - }else{ throw new RuntimeException("请先将配置存入Redis!!!"); }