diff --git a/JavaSample-tcp111231501461883/.lck b/JavaSample-tcp111231501461883/.lck new file mode 100644 index 0000000..e69de29 diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/AllFaultCacheService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/AllFaultCacheService.java new file mode 100644 index 0000000..66efe2b --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/AllFaultCacheService.java @@ -0,0 +1,23 @@ +package com.muyu.enterprise.cache; + +import com.muyu.common.cache.CacheAbsBacis; + +/** + * 所有故障缓存服务 + */ +public class AllFaultCacheService extends CacheAbsBacis { + @Override + public void clear() { + + } + + @Override + public String keyPre() { + return "Allfault:info:"; + } + + @Override + public String decode(String key) { + return key.replace("Allfault:info:", ""); + } +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/AllFenceCahceService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/AllFenceCahceService.java new file mode 100644 index 0000000..b899371 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/AllFenceCahceService.java @@ -0,0 +1,26 @@ +package com.muyu.enterprise.cache; + +import com.muyu.common.cache.CacheAbsBacis; +import com.muyu.domain.Fence; +import com.muyu.domain.req.FenceReq; + +/** + * 所有电子围栏缓存 + */ +public class AllFenceCahceService extends CacheAbsBacis { + @Override + public void clear() { + + } + + @Override + public String keyPre() { + return "Allfence:info:"; + } + + @Override + public String decode(String key) { + return key.replace("Allfence:info:", ""); + } + +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/AllMessageValueCacheService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/AllMessageValueCacheService.java new file mode 100644 index 0000000..e576cc1 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/AllMessageValueCacheService.java @@ -0,0 +1,28 @@ +package com.muyu.enterprise.cache; + +import com.muyu.common.cache.CacheAbsBacis; +import com.muyu.domain.resp.MessageValueListResp; + +import java.util.List; + +/** + * 报文模版缓存 + */ +public class AllMessageValueCacheService extends CacheAbsBacis> { + + + @Override + public void clear() { + + } + + @Override + public String keyPre() { + return "allmessagevalue:info:"; + } + + @Override + public String decode(String key) { + return key.replace("allmessagevalue:info:", ""); + } +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/AllVehicleCacheService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/AllVehicleCacheService.java new file mode 100644 index 0000000..5da3875 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/AllVehicleCacheService.java @@ -0,0 +1,36 @@ +package com.muyu.enterprise.cache; + +import com.muyu.common.cache.CacheAbsBacis; +import com.muyu.domain.Vehicle; +import com.muyu.domain.req.VehicleAddReq; +import com.muyu.domain.req.VehicleManageReq; +import com.muyu.domain.resp.VehicleManageResp; + +import java.util.List; + +/** + * 所有车辆缓存 + */ +public class AllVehicleCacheService extends CacheAbsBacis { + + + @Override + public void clear() { + + } + + /** + * 缓存key前缀 + * @return + */ + @Override + public String keyPre() { + return "allvehicle:info:"; + } + + @Override + public String decode(String key) { + return key.replace("allvehicle:info:", ""); + } + +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/AllVehicleTypeCacheService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/AllVehicleTypeCacheService.java new file mode 100644 index 0000000..130776c --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/AllVehicleTypeCacheService.java @@ -0,0 +1,24 @@ +package com.muyu.enterprise.cache; + +import com.muyu.common.cache.CacheAbsBacis; +import com.muyu.domain.VehicleType; + +/** + * 所有车辆类型缓存 + */ +public class AllVehicleTypeCacheService extends CacheAbsBacis { + @Override + public void clear() { + + } + + @Override + public String keyPre() { + return "vehicleType:info:"; + } + + @Override + public String decode(String key) { + return key.replace("vehicleType:info:", ""); + } +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/MessageValueCacheService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/MessageValueCacheService.java new file mode 100644 index 0000000..956a360 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/MessageValueCacheService.java @@ -0,0 +1,26 @@ +package com.muyu.enterprise.cache; + +import com.muyu.common.cache.CacheAbsBacis; +import com.muyu.domain.MessageValue; + +/** + * 报文模版缓存 + */ +public class MessageValueCacheService extends CacheAbsBacis { + + + @Override + public void clear() { + + } + + @Override + public String keyPre() { + return "messagevalue:info:"; + } + + @Override + public String decode(String key) { + return key.replace("messagevalue:info:", ""); + } +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/VehicleCacheService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/VehicleCacheService.java index 052fa9d..dfeebd3 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/VehicleCacheService.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/VehicleCacheService.java @@ -4,7 +4,7 @@ import com.muyu.common.cache.CacheAbsBacis; import com.muyu.domain.Vehicle; /** - * 车辆缓存 + * 添加车辆缓存 */ public class VehicleCacheService extends CacheAbsBacis { diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index faeca69..c2d5f8e 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,7 +1,15 @@ -com.muyu.enterprise.cache.VehicleCacheService +com.muyu.enterprise.cache.AllFaultCacheService +com.muyu.enterprise.cache.AllFenceCahceService +com.muyu.enterprise.cache.AllMessageValueCacheService +com.muyu.enterprise.cache.AllVehicleCacheService +com.muyu.enterprise.cache.AllVehicleTypeCacheService com.muyu.enterprise.cache.FaultCacheService com.muyu.enterprise.cache.FenceCahceService +com.muyu.enterprise.cache.MessageTemplateCacheService +com.muyu.enterprise.cache.MessageValueCacheService +com.muyu.enterprise.cache.VehicleCacheService +com.muyu.enterprise.cache.VehicleTypeCacheService com.muyu.enterprise.cache.WarnRuleCacheService com.muyu.enterprise.cache.WarnStrategyCacheService -com.muyu.enterprise.cache.MessageTemplateCacheService -com.muyu.enterprise.cache.VehicleTypeCacheService + + 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/ElectController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/ElectController.java index 70e093f..f812425 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/ElectController.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/ElectController.java @@ -28,7 +28,9 @@ import java.security.Security; import java.util.List; import java.util.concurrent.TimeUnit; - +/** + * 电子围栏信息 + */ @RequestMapping("/elect") @RestController @Log4j2 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 7639027..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 @@ -3,6 +3,7 @@ package com.muyu.enterprise.controller; import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.system.domain.LoginUser; import com.muyu.domain.req.BoundFenceGroupReq; +import com.muyu.enterprise.cache.AllVehicleCacheService; import com.muyu.enterprise.cache.VehicleCacheService; import com.muyu.enterprise.service.VehicleService; import com.muyu.common.core.domain.Result; @@ -20,9 +21,11 @@ import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.Collections; import java.util.List; /** @@ -42,11 +45,10 @@ public class VehicleController extends BaseController { @Autowired private VehicleService vehicleService; - //车辆缓存 + //添加车辆缓存 @Autowired private VehicleCacheService vehicleCacheService; - /** * 查询车辆管理列表 * @@ -57,6 +59,11 @@ public class VehicleController extends BaseController { public Result> getVehicleList(@RequestBody VehicleManageReq vehicleManageReq) { startPage(); List list = vehicleService.getVehicleList(vehicleManageReq); + //将车辆信息存到Redis + List vehicleList = vehicleService.list(); + vehicleList.forEach(vehicle -> { + vehicleCacheService.put(vehicle.getVehicleVin(), vehicle); + }); return getDataTable(list); } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/VehicleTypeController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/VehicleTypeController.java index c0a6cd4..1b253ad 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/VehicleTypeController.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/VehicleTypeController.java @@ -45,7 +45,11 @@ public class VehicleTypeController { @RequestMapping(path = "/", method = RequestMethod.POST) @Operation(summary = "车辆类型列表",description = "车辆类型列表") public Result> findAll(){ - return Result.success(vehicleTypeService.list()); + List list = vehicleTypeService.list(); + list.forEach(vehicleType -> { + vehicleTypeCacheService.put(String.valueOf(vehicleType.getVehicleTypeId()), vehicleType); + }); + return Result.success(list); } /** @@ -57,12 +61,13 @@ public class VehicleTypeController { @Operation(summary = "添加报文数据", description = "新增报文数据") public Result save(@RequestBody VehicleType vehicleType) { boolean save = vehicleTypeService.save(vehicleType); - //获取用户信息 - LoginUser loginUser = SecurityUtils.getLoginUser(); - //获取租户唯一标识 - String databaseName = loginUser.getSysUser().getDatabaseName(); +// //获取用户信息 +// LoginUser loginUser = SecurityUtils.getLoginUser(); +// //获取租户唯一标识 +// String databaseName = loginUser.getSysUser().getDatabaseName(); //存到redis - vehicleTypeCacheService.put(databaseName+vehicleType.getVehicleTypeId(),vehicleType); +// vehicleTypeCacheService.put(databaseName+vehicleType.getVehicleTypeId(),vehicleType); + vehicleTypeCacheService.put(String.valueOf(vehicleType.getVehicleTypeId()),vehicleType); return Result.success(save? "添加成功" : "添加失败"); } } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/MessageValueServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/MessageValueServiceImpl.java index bab87e8..7d12c08 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/MessageValueServiceImpl.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/MessageValueServiceImpl.java @@ -2,11 +2,12 @@ package com.muyu.enterprise.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.muyu.enterprise.mapper.MessageValueMapper; -import com.muyu.enterprise.service.MessageValueService; import com.muyu.domain.MessageValue; import com.muyu.domain.req.MessageValueReq; import com.muyu.domain.resp.MessageValueListResp; +import com.muyu.enterprise.cache.AllMessageValueCacheService; +import com.muyu.enterprise.mapper.MessageValueMapper; +import com.muyu.enterprise.service.MessageValueService; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -31,6 +32,9 @@ public class MessageValueServiceImpl @Autowired private MessageValueMapper messageValueMapper; + @Autowired + private AllMessageValueCacheService allMessageValueCacheService; + public MessageValueServiceImpl(MessageValueMapper messageValueMapper) { this.messageValueMapper = messageValueMapper; } @@ -63,11 +67,13 @@ public class MessageValueServiceImpl LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(MessageValue::getTemplateId, templateId); List list = this.list(queryWrapper); - return list.stream() + List collect = list.stream() .map(messageValue -> MessageValueListResp.valueBuild( messageValue ) ).collect(Collectors.toList()); + allMessageValueCacheService.put(String.valueOf(templateId), collect); + return collect; } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/VehicleServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/VehicleServiceImpl.java index 37bd6f2..d0ca10e 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/VehicleServiceImpl.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/VehicleServiceImpl.java @@ -8,6 +8,7 @@ import com.muyu.domain.VehicleType; import com.muyu.domain.req.BoundFenceGroupReq; import com.muyu.domain.req.VehicleManageReq; import com.muyu.domain.resp.VehicleManageResp; +import com.muyu.enterprise.cache.AllVehicleCacheService; import com.muyu.enterprise.mapper.VehicleMapper; import com.muyu.enterprise.service.VehicleService; import org.springframework.beans.factory.annotation.Autowired; 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/feign/RemoteServiceClient.java b/cloud-modules/cloud-modules-protocol-parsing/src/main/java/com/muyu/cloud/protocol/parsing/feign/RemoteServiceClient.java deleted file mode 100644 index 1f12ca7..0000000 --- a/cloud-modules/cloud-modules-protocol-parsing/src/main/java/com/muyu/cloud/protocol/parsing/feign/RemoteServiceClient.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.muyu.cloud.protocol.parsing.feign; - -import com.muyu.common.core.domain.Result; -import com.muyu.domain.resp.MessageValueListResp; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; - -import java.util.List; - -/** - * @Author: LiDongJia - * @Package: com.muyu.cloud.protocol.parsing.feign - * @Project: 2112-car-cloud-server - * @name: RemoteServiceClient - * @Date: 2024/9/28 14:49 - * @Description: 远程调用接口 - */ -@FeignClient(name = "cloud-car") -public interface RemoteServiceClient { - - /** - * 通过车辆vin码查询模板id - * @param vehicleVin - * @return - */ - @GetMapping("/vehicleManage/findByVehicleVin/{vehicleVin}") - @Operation(description = "通过车辆vin码查询模板id") - public Result findByVehicleVin(@PathVariable("vehicleVin") String vehicleVin); - - /** - * 根据报文模版id查询报文数据 - * @param templateId - * @return - */ - @GetMapping("/messageValue/findByTemplateId/{templateId}") - @Operation(summary = "根据报文模版id查询报文数据", description = "根据报文模版id查询报文数据") - public Result> findByTemplateId(@PathVariable("templateId") Long templateId); -} diff --git a/cloud-modules/cloud-modules-protocol-parsing/src/main/java/com/muyu/cloud/protocol/parsing/feign/factory/RemoteServiceClientFactory.java b/cloud-modules/cloud-modules-protocol-parsing/src/main/java/com/muyu/cloud/protocol/parsing/feign/factory/RemoteServiceClientFactory.java deleted file mode 100644 index 3d2af79..0000000 --- a/cloud-modules/cloud-modules-protocol-parsing/src/main/java/com/muyu/cloud/protocol/parsing/feign/factory/RemoteServiceClientFactory.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.muyu.cloud.protocol.parsing.feign.factory; - -import com.muyu.cloud.protocol.parsing.feign.RemoteServiceClient; -import com.muyu.common.core.domain.Result; -import com.muyu.domain.resp.MessageValueListResp; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.cloud.openfeign.FallbackFactory; - -import java.util.List; - -/** - * 报文模版对象服务降级处理 - * @Author:李庆帅 - * @Package:com.muyu.analysis.parsing.remote.factory - * @Project:cloud-server - * @name:RemoteServiceClientFactory - * @Date:2024/9/28 21:16 - */ -public class RemoteServiceClientFactory implements FallbackFactory -{ - private static final Logger log = LoggerFactory.getLogger(com.muyu.cloud.protocol.parsing.feign.factory.RemoteServiceClientFactory.class); - - @Override - public RemoteServiceClient create(Throwable throwable) { - log.error("报文模版传参调用失败:{}", throwable.getMessage()); - return new RemoteServiceClient() { - - @Override - public Result findByVehicleVin(String vehicleVin) { - return Result.success(Long.valueOf(vehicleVin)); - } - - @Override - public Result> findByTemplateId(Long templateId) { - return null; - } - }; - } -} 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/ParsingMessage.java similarity index 66% rename from cloud-modules/cloud-modules-protocol-parsing/src/main/java/com/muyu/cloud/protocol/parsing/test/ParsingTest.java rename to cloud-modules/cloud-modules-protocol-parsing/src/main/java/com/muyu/cloud/protocol/parsing/test/ParsingMessage.java index 9d9e31b..d0bbdea 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/ParsingMessage.java @@ -1,16 +1,17 @@ package com.muyu.cloud.protocol.parsing.test; 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.enterprise.cache.AllMessageValueCacheService; +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; import org.eclipse.paho.client.mqttv3.*; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; @@ -27,17 +28,20 @@ import java.util.List; */ @Log4j2 @Component -public class ParsingTest { - - @Resource - private RedisTemplate redisTemplate; - - @Autowired - private RemoteServiceClient remoteServiceClient; +public class ParsingMessage { @Resource private KafkaProducer kafkaProducer; + @Autowired + private VehicleCacheService vehicleCacheService; + + @Autowired + private VehicleTypeCacheService vehicleTypeCacheService; + + @Autowired + private AllMessageValueCacheService allMessageValueCacheService; + /** * 协议解析 */ @@ -92,32 +96,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("报文模版为空");