From f98c11e8257fa7afaa1b84a4f96fa6a3f0fedcc7 Mon Sep 17 00:00:00 2001 From: ruyaxie <648179520@qq.comgit> Date: Mon, 30 Sep 2024 12:27:32 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat():=E4=BF=AE=E5=A4=8DRedis=E7=BC=93?= =?UTF-8?q?=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cache/MessageValueCacheService.java | 4 +- .../enterpise/cache/SysCarCacheService.java | 30 +++++ .../cache/SysCarTypeCacheService.java | 29 ++++ ...ot.autoconfigure.AutoConfiguration.imports | 1 + .../main/java/com/muyu/domain/SysCarType.java | 2 +- .../controller/MessageValueController.java | 11 +- .../controller/SysCarController.java | 6 + .../controller/SysTypeController.java | 9 ++ .../enterpise/mapper/MessageValueMapper.java | 3 +- .../service/MessageValueService.java | 2 +- .../service/impl/MessageValueServiceImpl.java | 13 +- cloud-modules/cloud-modules-parse/pom.xml | 11 +- .../com/muyu/parse/process/ProcessData.java | 127 +++++++++++------- .../cloud-modules-vehicle-gateway/pom.xml | 33 ----- 14 files changed, 172 insertions(+), 109 deletions(-) create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java index 758cf5d..80e08a1 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java @@ -4,6 +4,8 @@ import com.muyu.common.cache.CacheAbsBasic; import com.muyu.domain.MessageValue; import org.springframework.stereotype.Component; +import java.util.List; + /** * @version 1.0 * @Author xie ya ru @@ -11,7 +13,7 @@ import org.springframework.stereotype.Component; * @注释 */ @Component -public class MessageValueCacheService extends CacheAbsBasic { +public class MessageValueCacheService extends CacheAbsBasic>{ /** * 前缀 diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java new file mode 100644 index 0000000..315992f --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java @@ -0,0 +1,30 @@ +package com.muyu.enterpise.cache; + +import com.muyu.common.cache.CacheAbsBasic; +import com.muyu.domain.SysCar; +import org.springframework.stereotype.Component; + +/** + * @version 1.0 + * @Author xie ya ru + * @Date 2024/9/30 11:06 + * @注释 + */ +@Component +public class SysCarCacheService extends CacheAbsBasic { + + @Override + public String keyPre() { + return "sysCar:info:"; + } + + @Override + public String encode(String key) { + return super.encode(key); + } + + @Override + public String decode(String key) { + return super.decode(key); + } +} diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java new file mode 100644 index 0000000..112439d --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java @@ -0,0 +1,29 @@ +package com.muyu.enterpise.cache; + +import com.muyu.common.cache.CacheAbsBasic; +import com.muyu.domain.SysCarType; +import org.springframework.stereotype.Component; + +/** + * @version 1.0 + * @Author xie ya ru + * @Date 2024/9/30 11:18 + * @注释 + */ +@Component +public class SysCarTypeCacheService extends CacheAbsBasic { + @Override + public String keyPre() { + return "sysCarType:info:"; + } + + @Override + public String encode(String key) { + return super.encode(key); + } + + @Override + public String decode(String key) { + return super.decode(key); + } +} diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 98352f9..3257b72 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1 +1,2 @@ com.muyu.enterpise.cache.MessageValueCacheService +com.muyu.enterpise.cache.SysCarCacheService diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/SysCarType.java b/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/SysCarType.java index 28e9c00..40b8333 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/SysCarType.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/SysCarType.java @@ -31,7 +31,7 @@ public class SysCarType extends BaseEntity { */ @TableId(value = "id", type = IdType.AUTO) @Schema(name = "车辆类型主键") - private String id; + private Long id; /** * 车辆类型名称 diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/MessageValueController.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/MessageValueController.java index 1af044a..24b66bc 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/MessageValueController.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/MessageValueController.java @@ -33,7 +33,7 @@ public class MessageValueController extends BaseController { private MessageValueService messageValueService; @Autowired - private MessageValueCacheService enterpiseCacheService; + private MessageValueCacheService messageValueCacheService; /** * 报文数据列表查询 @@ -56,7 +56,6 @@ public class MessageValueController extends BaseController { @Operation(summary = "添加报文数据", description = "新增报文数据") public Result save(@RequestBody MessageValueAddReq messageValueAddReq){ messageValueService.save(MessageValue.addBuild(messageValueAddReq)); - enterpiseCacheService.put(String.valueOf(messageValueAddReq.getTemplateId()),MessageValue.addBuild(messageValueAddReq)); return Result.success("添加成功"); } @@ -81,12 +80,4 @@ public class MessageValueController extends BaseController { } - @PostMapping({"/findByTemplateId/{stringVin}"}) - @Operation( - summary = "根据车辆类型查询报文模版ID", - description = "根据车辆类型查询报文模版ID" - ) - public Result findByTemplateId(@PathVariable("stringVin") String stringVin) { - return Result.success(this.messageValueService.findByTemplateId(stringVin), "查询成功"); - } } diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/SysCarController.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/SysCarController.java index d398b9d..ff98b9c 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/SysCarController.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/SysCarController.java @@ -8,6 +8,7 @@ import com.muyu.common.security.utils.SecurityUtils; import com.muyu.domain.SysCar; import com.muyu.domain.req.SysCarReq; import com.muyu.domain.resp.SysCarResp; +import com.muyu.enterpise.cache.SysCarCacheService; import com.muyu.enterpise.service.SysCarService; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.validation.annotation.Validated; @@ -30,6 +31,9 @@ public class SysCarController extends BaseController @Resource private SysCarService sysCarService; + @Resource + private SysCarCacheService sysCarCacheService; + /** * 查询车辆基础信息列表 */ @@ -63,7 +67,9 @@ public class SysCarController extends BaseController if (sysCarService.checkIdUnique(sysCar)) { return error("新增 车辆基础信息 '" + sysCar + "'失败,车辆基础信息已存在"); } + sysCar.setCreateBy(SecurityUtils.getUsername()); + sysCarCacheService.put(sysCar.getCarVin(),sysCar); return toAjax(sysCarService.save(sysCar)); } diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/SysTypeController.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/SysTypeController.java index a2ad3b3..a0a883c 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/SysTypeController.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/SysTypeController.java @@ -4,6 +4,8 @@ import com.muyu.common.core.domain.Result; import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.domain.SysCarType; +import com.muyu.enterpise.cache.SysCarCacheService; +import com.muyu.enterpise.cache.SysCarTypeCacheService; import com.muyu.enterpise.service.SysTypeService; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.web.bind.annotation.GetMapping; @@ -29,6 +31,9 @@ public class SysTypeController extends BaseController { @Resource private SysTypeService sysTypeService; + @Resource + private SysCarTypeCacheService sysCarTypeCacheService; + /** * 查询车辆类型列表 @@ -37,6 +42,10 @@ public class SysTypeController extends BaseController { public Result> list() { startPage(); List list = sysTypeService.selectSysTypeList(); + for (SysCarType sysCarType : list) { + sysCarTypeCacheService.put(String.valueOf(sysCarType.getId()),sysCarType); + } return getDataTable(list); } + } diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/MessageValueMapper.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/MessageValueMapper.java index 233d11f..4993ab6 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/MessageValueMapper.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/MessageValueMapper.java @@ -14,6 +14,5 @@ import org.apache.ibatis.annotations.Select; */ @Mapper public interface MessageValueMapper extends BaseMapper { - @Select({"SELECT sct.message_template_id FROM sys_car sc LEFT JOIN sys_car_type sct on sct.id = sc.car_type WHERE sc.car_vin = ${stringVin}"}) - Long findByTemplateId(String stringVin); + } diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/MessageValueService.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/MessageValueService.java index 7817ddd..b4eb650 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/MessageValueService.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/MessageValueService.java @@ -27,6 +27,6 @@ public interface MessageValueService extends IService { * @param str */ void test(String str); - Long findByTemplateId(String stringVin); + } diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/MessageValueServiceImpl.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/MessageValueServiceImpl.java index 2e3282b..dda89a1 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/MessageValueServiceImpl.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/MessageValueServiceImpl.java @@ -7,6 +7,7 @@ import com.muyu.common.core.utils.StringUtils; import com.muyu.domain.MessageValue; import com.muyu.domain.req.MessageValueReq; import com.muyu.domain.resp.MessageValueListResp; +import com.muyu.enterpise.cache.MessageValueCacheService; import com.muyu.enterpise.mapper.MessageValueMapper; import com.muyu.enterpise.service.MessageValueService; import org.springframework.data.redis.core.RedisTemplate; @@ -30,7 +31,8 @@ public class MessageValueServiceImpl @Resource private MessageValueMapper messageValueMapper; - + @Resource + private MessageValueCacheService messageValueCacheService; /** * 查询所有消息值 @@ -53,7 +55,9 @@ public class MessageValueServiceImpl } List list = this.list(queryWrapper); - +// for (MessageValue messageValue : list) { +// messageValueCacheService.put(String.valueOf(messageValue.getTemplateId()),list); +// } return list.stream() .map(messageValue -> MessageValueListResp.valueBuild( @@ -77,10 +81,7 @@ public class MessageValueServiceImpl } } - @Override - public Long findByTemplateId(String stringVin) { - return messageValueMapper.findByTemplateId(stringVin); - } + } diff --git a/cloud-modules/cloud-modules-parse/pom.xml b/cloud-modules/cloud-modules-parse/pom.xml index 11e6373..45f2124 100644 --- a/cloud-modules/cloud-modules-parse/pom.xml +++ b/cloud-modules/cloud-modules-parse/pom.xml @@ -106,12 +106,13 @@ enterpise-cache ${muyu.version} + - - - - - + + com.muyu + cloud-common-kafka + ${muyu.version} + diff --git a/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java b/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java index bfd4a90..3538b69 100644 --- a/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java +++ b/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java @@ -1,21 +1,20 @@ package com.muyu.parse.process; import cn.hutool.json.JSONObject; -import com.alibaba.fastjson.JSON; -import com.muyu.common.core.domain.Result; - +import com.muyu.common.kafka.config.KafkaProducerConfig; import com.muyu.domain.MessageValue; -import com.muyu.domain.req.MessageValueReq; -import com.muyu.domain.resp.MessageValueListResp; +import com.muyu.domain.SysCar; +import com.muyu.domain.SysCarType; import com.muyu.enterpise.cache.MessageValueCacheService; +import com.muyu.enterpise.cache.SysCarCacheService; +import com.muyu.enterpise.cache.SysCarTypeCacheService; import com.muyu.parse.uitl.DataParseUtil; import com.muyu.remote.RemoteMessageValueService; import lombok.extern.log4j.Log4j2; - import javax.annotation.Resource; -import java.util.Collections; import java.util.List; + /** * @version 1.0 * @Author xie ya ru @@ -28,58 +27,37 @@ public class ProcessData { @Resource private static RemoteMessageValueService remoteMessageValueService; + //报文模版信息 @Resource - private static MessageValueCacheService enterpiseCacheService; + private static MessageValueCacheService messageValueCacheService; + + //车辆信息 + @Resource + private static SysCarCacheService sysCarCacheService; + + //车辆类型信息 + @Resource + private static SysCarTypeCacheService sysCarTypeCacheService; // @Resource // private static KafkaProducerConfig kafkaProducerConfig; public static void DataConversion(String jsonVin ) { + //设置数组存储车辆数据 + JSONObject jsonObject = new JSONObject(); String vin = DataParseUtil.dataParsing(jsonVin); System.out.println("车辆转换的vin是:"+vin); - //从Redis中获取车辆信息 + //判断vin是否存在缓存中 + if(sysCarCacheService.hashKey(vin)){ + //从Redis中获取车辆信息 + SysCar sysCar = sysCarCacheService.get(vin); + //根据缓存车辆类型获取缓存报文 + SysCarType sysCarType = sysCarTypeCacheService.get(String.valueOf(sysCar.getCarType())); - //根据车辆信息获取车辆类型 - - - - - Result byTemplateId = remoteMessageValueService.findByTemplateId(vin); - - Long templateId = byTemplateId.getData(); - List templateList; - try{ - //从Redis中获取报文模版信息 - if ( enterpiseCacheService.hashKey(String.valueOf(templateId))) { - - List list = Collections.singletonList(enterpiseCacheService.get(String.valueOf(templateId))); - templateList = list.stream() - .map(obj -> JSON.parseObject(obj.toString(), MessageValueListResp.class)) - .toList(); - log.info("Redis缓存查询成功"); - } else { - - Result> byTemplate = remoteMessageValueService.findAll(MessageValueReq.builder().messageTemplateId(templateId).build()); - templateList = byTemplate.getData(); - templateList.forEach( - listResp ->{ - enterpiseCacheService.put(String.valueOf(listResp.getMessageId()), MessageValue.addRollback(listResp)); - } - - ); - } - log.info("数据库查询成功"); - } catch (Exception e) { - throw new RuntimeException("获取报文模板失败"); - } - //判断报文模板列表不为空 - if (templateList.isEmpty()) { - throw new RuntimeException("报文模版为空"); - } - //存储报文模版解析后的数据 - JSONObject jsonObject = new JSONObject(); - for (MessageValueListResp messageValue : templateList) { + //获取报文模版信息 + List messageValues = messageValueCacheService.get(String.valueOf(sysCarType.getMessageTemplateId())); + for (MessageValue messageValue : messageValues) { //起始位下标 Integer startIndex = messageValue.getMessageStartIndex() - 1; //结束位下标 @@ -90,8 +68,57 @@ public class ProcessData { System.out.println("标签"+messageValue.getMessageLabel()+"值"+value); jsonObject.put(messageValue.getMessageLabel(), value); } - System.out.println(jsonObject); + } + + + +// Result byTemplateId = remoteMessageValueService.findByTemplateId(vin); +// +// Long templateId = byTemplateId.getData(); +// List templateList; +// try{ + //从Redis中获取报文模版信息 +// if ( enterpiseCacheService.hashKey(String.valueOf(templateId))) { +// +// List list = Collections.singletonList(enterpiseCacheService.get(String.valueOf(templateId))); +// templateList = list.stream() +// .map(obj -> JSON.parseObject(obj.toString(), MessageValueListResp.class)) +// .toList(); +// log.info("Redis缓存查询成功"); +// } else { +// +// Result> byTemplate = remoteMessageValueService.findAll(MessageValueReq.builder().messageTemplateId(templateId).build()); +// templateList = byTemplate.getData(); +// templateList.forEach( +// listResp ->{ +// enterpiseCacheService.put(String.valueOf(listResp.getMessageId()), MessageValue.addRollback(listResp)); +// } +// +// ); +// } +// log.info("数据库查询成功"); +// } catch (Exception e) { +// throw new RuntimeException("获取报文模板失败"); +// } +// //判断报文模板列表不为空 +// if (templateList.isEmpty()) { +// throw new RuntimeException("报文模版为空"); +// } +// //存储报文模版解析后的数据 +// JSONObject jsonObject = new JSONObject(); +// for (MessageValueListResp messageValue : templateList) { +// //起始位下标 +// Integer startIndex = messageValue.getMessageStartIndex() - 1; +// //结束位下标 +// Integer endIndex = messageValue.getMessageEndIndex(); +// //根据报文模版截取数据 +// String value = vin.substring(startIndex, endIndex); +// //存入数据 +// System.out.println("标签"+messageValue.getMessageLabel()+"值"+value); +// jsonObject.put(messageValue.getMessageLabel(), value); +// } +// System.out.println(jsonObject); } diff --git a/cloud-modules/cloud-modules-vehicle-gateway/pom.xml b/cloud-modules/cloud-modules-vehicle-gateway/pom.xml index 595e845..31414a6 100644 --- a/cloud-modules/cloud-modules-vehicle-gateway/pom.xml +++ b/cloud-modules/cloud-modules-vehicle-gateway/pom.xml @@ -53,39 +53,6 @@ 0.2.21 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - com.alibaba.cloud From 19f99ac1165d766b386dfb6f3d77816503721464 Mon Sep 17 00:00:00 2001 From: ruyaxie <648179520@qq.comgit> Date: Mon, 30 Sep 2024 16:50:07 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat():=E4=BF=AE=E5=A4=8Dkafka=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E8=80=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/MessageValueServiceImpl.java | 5 +- .../com/muyu/parse/process/ProcessData.java | 72 ++++++------------- .../src/main/resources/bootstrap.yml | 4 +- 3 files changed, 24 insertions(+), 57 deletions(-) diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/MessageValueServiceImpl.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/MessageValueServiceImpl.java index dda89a1..3f1407f 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/MessageValueServiceImpl.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/MessageValueServiceImpl.java @@ -55,10 +55,7 @@ public class MessageValueServiceImpl } List list = this.list(queryWrapper); -// for (MessageValue messageValue : list) { -// messageValueCacheService.put(String.valueOf(messageValue.getTemplateId()),list); -// } - + messageValueCacheService.put(String.valueOf(messageValueReq.getMessageTemplateId()),list); return list.stream() .map(messageValue -> MessageValueListResp.valueBuild( messageValue diff --git a/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java b/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java index 3538b69..609bd17 100644 --- a/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java +++ b/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java @@ -11,6 +11,10 @@ import com.muyu.enterpise.cache.SysCarTypeCacheService; import com.muyu.parse.uitl.DataParseUtil; import com.muyu.remote.RemoteMessageValueService; import lombok.extern.log4j.Log4j2; +import org.apache.kafka.clients.producer.Callback; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.apache.kafka.clients.producer.RecordMetadata; + import javax.annotation.Resource; import java.util.List; @@ -39,8 +43,10 @@ public class ProcessData { @Resource private static SysCarTypeCacheService sysCarTypeCacheService; -// @Resource -// private static KafkaProducerConfig kafkaProducerConfig; + @Resource + private static KafkaProducerConfig kafkaProducerConfig; + + private final static String topic = "sysCar_vin_topic"; public static void DataConversion(String jsonVin ) { //设置数组存储车辆数据 @@ -68,58 +74,20 @@ public class ProcessData { System.out.println("标签"+messageValue.getMessageLabel()+"值"+value); jsonObject.put(messageValue.getMessageLabel(), value); } - + sendKafkaMessage(jsonObject); } - - -// Result byTemplateId = remoteMessageValueService.findByTemplateId(vin); -// -// Long templateId = byTemplateId.getData(); -// List templateList; -// try{ - //从Redis中获取报文模版信息 -// if ( enterpiseCacheService.hashKey(String.valueOf(templateId))) { -// -// List list = Collections.singletonList(enterpiseCacheService.get(String.valueOf(templateId))); -// templateList = list.stream() -// .map(obj -> JSON.parseObject(obj.toString(), MessageValueListResp.class)) -// .toList(); -// log.info("Redis缓存查询成功"); -// } else { -// -// Result> byTemplate = remoteMessageValueService.findAll(MessageValueReq.builder().messageTemplateId(templateId).build()); -// templateList = byTemplate.getData(); -// templateList.forEach( -// listResp ->{ -// enterpiseCacheService.put(String.valueOf(listResp.getMessageId()), MessageValue.addRollback(listResp)); -// } -// -// ); -// } -// log.info("数据库查询成功"); -// } catch (Exception e) { -// throw new RuntimeException("获取报文模板失败"); -// } -// //判断报文模板列表不为空 -// if (templateList.isEmpty()) { -// throw new RuntimeException("报文模版为空"); -// } -// //存储报文模版解析后的数据 -// JSONObject jsonObject = new JSONObject(); -// for (MessageValueListResp messageValue : templateList) { -// //起始位下标 -// Integer startIndex = messageValue.getMessageStartIndex() - 1; -// //结束位下标 -// Integer endIndex = messageValue.getMessageEndIndex(); -// //根据报文模版截取数据 -// String value = vin.substring(startIndex, endIndex); -// //存入数据 -// System.out.println("标签"+messageValue.getMessageLabel()+"值"+value); -// jsonObject.put(messageValue.getMessageLabel(), value); -// } -// System.out.println(jsonObject); - + } + + + + private static void sendKafkaMessage(JSONObject jsonObject){ + ProducerRecord producerRecord = new ProducerRecord<>(topic, jsonObject); + try { + kafkaProducerConfig.kafkaProducer().send(new ProducerRecord<>(topic,jsonObject.toString())); + } catch (Exception e) { + throw new RuntimeException(e); + } } } diff --git a/cloud-modules/cloud-modules-parse/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-parse/src/main/resources/bootstrap.yml index 6de1934..3f1f253 100644 --- a/cloud-modules/cloud-modules-parse/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-modules-parse/src/main/resources/bootstrap.yml @@ -53,7 +53,9 @@ spring: - application-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} # # xxl-job 配置文件 # - application-xxl-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} - + #kafka共享配置 + #application-kafka-config-dev.yml + - application-kafka-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} logging: level: com.muyu.system.mapper: DEBUG