diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/VehicleType.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/VehicleType.java index 629720b..21bfdf6 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/VehicleType.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/VehicleType.java @@ -41,7 +41,7 @@ public class VehicleType extends BaseEntity { * 报文模版外键 */ @Schema(type = "Integer",description = "报文模版外键") - private Integer messageTemplateId; + private Long messageTemplateId; /** * 添加车辆类型 diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/VehicleController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/VehicleController.java index a3ce787..429bba4 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/VehicleController.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/VehicleController.java @@ -48,13 +48,6 @@ public class VehicleController extends BaseController { //添加车辆缓存 @Autowired private VehicleCacheService vehicleCacheService; - //车辆信息 - @Autowired - private AllVehicleCacheService allVehicleCacheService; - - @Autowired - private RedisTemplate redisTemplate; - /** * 查询车辆管理列表 @@ -66,10 +59,11 @@ public class VehicleController extends BaseController { public Result> getVehicleList(@RequestBody VehicleManageReq vehicleManageReq) { startPage(); List list = vehicleService.getVehicleList(vehicleManageReq); -// 将车辆信息存到Redis - for (VehicleManageResp resp : list) { - allVehicleCacheService.put(resp.getVehicleVin(), resp); - } + //将车辆信息存到Redis + List vehicleList = vehicleService.list(); + vehicleList.forEach(vehicle -> { + vehicleCacheService.put(vehicle.getVehicleVin(), vehicle); + }); return getDataTable(list); } diff --git a/cloud-modules/cloud-modules-protocol-parsing/pom.xml b/cloud-modules/cloud-modules-protocol-parsing/pom.xml index fa6b4ec..6d31bae 100644 --- a/cloud-modules/cloud-modules-protocol-parsing/pom.xml +++ b/cloud-modules/cloud-modules-protocol-parsing/pom.xml @@ -116,6 +116,12 @@ cloud-common-kafka + + com.muyu + cloud-modules-enterprise-cache + 3.6.3 + + diff --git a/cloud-modules/cloud-modules-protocol-parsing/src/main/java/com/muyu/cloud/protocol/parsing/test/ParsingTest.java b/cloud-modules/cloud-modules-protocol-parsing/src/main/java/com/muyu/cloud/protocol/parsing/test/ParsingTest.java index 9d9e31b..b3c056c 100644 --- a/cloud-modules/cloud-modules-protocol-parsing/src/main/java/com/muyu/cloud/protocol/parsing/test/ParsingTest.java +++ b/cloud-modules/cloud-modules-protocol-parsing/src/main/java/com/muyu/cloud/protocol/parsing/test/ParsingTest.java @@ -4,7 +4,14 @@ import cn.hutool.json.JSONObject; import com.alibaba.fastjson.JSON; import com.muyu.cloud.protocol.parsing.feign.RemoteServiceClient; import com.muyu.common.core.domain.Result; +import com.muyu.domain.Vehicle; +import com.muyu.domain.VehicleType; import com.muyu.domain.resp.MessageValueListResp; +import com.muyu.domain.resp.VehicleManageResp; +import com.muyu.enterprise.cache.AllMessageValueCacheService; +import com.muyu.enterprise.cache.AllVehicleCacheService; +import com.muyu.enterprise.cache.VehicleCacheService; +import com.muyu.enterprise.cache.VehicleTypeCacheService; import lombok.extern.log4j.Log4j2; import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.ProducerRecord; @@ -38,6 +45,15 @@ public class ParsingTest { @Resource private KafkaProducer kafkaProducer; + @Autowired + private VehicleCacheService vehicleCacheService; + + @Autowired + private VehicleTypeCacheService vehicleTypeCacheService; + + @Autowired + private AllMessageValueCacheService allMessageValueCacheService; + /** * 协议解析 */ @@ -92,32 +108,34 @@ public class ParsingTest { String vehicleVin = result.substring(1, 18); log.info("车辆VIN码: " + vehicleVin); //根据车辆VIN码查询报文模板ID - Result byVehicleVin = remoteServiceClient.findByVehicleVin(vehicleVin); - Long templateId = byVehicleVin.getData(); - List templateList; - //从redis缓存中获取报文模板数据 - try { - String redisKey = "messageTemplate" + templateId; - if (redisTemplate.hasKey(redisKey)) { - List list = redisTemplate.opsForList().range(redisKey, 0, -1); - templateList = list.stream() - .map(obj -> JSON.parseObject(obj.toString(), MessageValueListResp.class)) - .toList(); - log.info("Redis缓存查询成功"); - } else { - Result> byTemplateId = remoteServiceClient.findByTemplateId(templateId); - templateList = byTemplateId.getData(); - templateList.forEach( - listResp -> - redisTemplate.opsForList().rightPush( - redisKey, JSON.toJSONString(listResp) - ) - ); - log.info("数据库查询成功"); - } - } catch (Exception e) { - throw new RuntimeException("获取报文模板失败"); - } + Vehicle vehicle = vehicleCacheService.get(vehicleVin); + Long vehicleTypeId = vehicle.getVehicleTypeId(); + VehicleType vehicleType = vehicleTypeCacheService.get(String.valueOf(vehicleTypeId)); + Long templateId = vehicleType.getMessageTemplateId(); + List templateList = allMessageValueCacheService.get(String.valueOf(templateId)); +// //从redis缓存中获取报文模板数据 +// try { +// String redisKey = "messageTemplate" + templateId; +// if (redisTemplate.hasKey(redisKey)) { +// List list = redisTemplate.opsForList().range(redisKey, 0, -1); +// templateList = list.stream() +// .map(obj -> JSON.parseObject(obj.toString(), MessageValueListResp.class)) +// .toList(); +// log.info("Redis缓存查询成功"); +// } else { +// Result> byTemplateId = remoteServiceClient.findByTemplateId(templateId); +// templateList = byTemplateId.getData(); +// templateList.forEach( +// listResp -> +// redisTemplate.opsForList().rightPush( +// redisKey, JSON.toJSONString(listResp) +// ) +// ); +// log.info("数据库查询成功"); +// } +// } catch (Exception e) { +// throw new RuntimeException("获取报文模板失败"); +// } //判断报文模板列表不为空 if (templateList.isEmpty()) { throw new RuntimeException("报文模版为空");