From d3810706f588e02e8fcfde082b4ea815de80df7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=AC=A3=E6=82=A6?= <2289014031@qq.com> Date: Sun, 29 Sep 2024 08:32:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E6=96=87=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud-modules/cloud-modules-car/pom.xml | 12 +- .../java/com/muyu/car/CarApplication.java | 7 +- .../car/controller/CarMessageController.java | 62 ++--------- .../com/muyu/car/domain/resp/CarINdsa.java | 105 ++++++++++++++++++ .../muyu/car/mapper/CarInformationMapper.java | 2 + .../muyu/car/mapper/PackettemplateMapper.java | 2 + .../muyu/car/service/CarMessageService.java | 2 +- .../Impl/CarInformationServiceImpl.java | 10 ++ .../service/Impl/CarMessageServiceImpl.java | 59 +++++----- .../resources/mapper/car/CarMessageMapper.xml | 2 +- 10 files changed, 175 insertions(+), 88 deletions(-) create mode 100644 cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/resp/CarINdsa.java diff --git a/cloud-modules/cloud-modules-car/pom.xml b/cloud-modules/cloud-modules-car/pom.xml index c7be081..42b3dd2 100644 --- a/cloud-modules/cloud-modules-car/pom.xml +++ b/cloud-modules/cloud-modules-car/pom.xml @@ -66,17 +66,13 @@ cloud-common-log - - + - com.muyu - cloud-common-xxl + org.apache.kafka + kafka-clients - - com.muyu - cloud-common-rabbit - + diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/CarApplication.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/CarApplication.java index 75f209c..472285c 100644 --- a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/CarApplication.java +++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/CarApplication.java @@ -1,18 +1,23 @@ package com.muyu.car; +import com.muyu.car.service.CarMessageService; import com.muyu.common.security.annotation.EnableCustomConfig; import com.muyu.common.security.annotation.EnableMyFeignClients; import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cache.annotation.EnableCaching; + +import javax.annotation.Resource; @EnableCustomConfig @EnableMyFeignClients @SpringBootApplication +@EnableCaching public class CarApplication { public static void main(String[] args){ SpringApplication.run(CarApplication.class,args); } - } diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/controller/CarMessageController.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/controller/CarMessageController.java index b6e076c..86d96be 100644 --- a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/controller/CarMessageController.java +++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/controller/CarMessageController.java @@ -1,5 +1,6 @@ package com.muyu.car.controller; +import com.alibaba.fastjson.JSONObject; import com.muyu.car.domain.CarMessage; import com.muyu.car.service.CarMessageService; import com.muyu.common.core.domain.Result; @@ -7,10 +8,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.log4j.Log4j2; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; @@ -66,58 +64,22 @@ public class CarMessageController { return Result.success(updateCarMessage,"修改成功"); } + /** + * 测试分割字符 + */ + @PostMapping("/inciseCarMessage") + @Operation(summary = "解析报文处理", description = "解析报文测试") + public Result inciseCarMessage(@RequestParam(name = "testString") String testString){ + JSONObject carMessage = carMessageService.inciseCarMessage(testString); + return Result.success(carMessage); + + } /** * 测试分割字符 */ - public class MessageParser{ - public static void main(String[] args) { - String message = "01 02 03 " + - "04,05,06,07,08,09," + - "10,11,12,13,14,15,16" + - ",17,18,19,20,21,22,23," + - "24,25,26,27,28,29,30" + - ",31,32,33,34,35,36,37," + - "38,39,40,41,42,43,44,45," + - "46"; - String[] split = message.split(","); - for (int i = 0; i < split.length; i++) { - System.out.println(split[i]); - if(i == 0){ - System.out.println("开始"); - }else if(i == split.length - 1){ - System.out.println("结束"); - } - } - System.out.println(split.length); - System.out.println(message.length()); - - System.out.println(message.substring(0,1)); - System.out.println(message.substring(1,2)); - System.out.println(message.substring(2,3)); - System.out.println(message.substring(3,4)); - System.out.println(message.substring(4,5)); - System.out.println(message.substring(5,6)); - System.out.println(message.substring(6,7)); - System.out.println(message.substring(7,8)); - System.out.println(message.substring(8,9)); - System.out.println(message.substring(9,10)); - System.out.println(message.substring(10,11)); - System.out.println(message.substring(11,12)); - System.out.println(message.substring(12,13)); - System.out.println(message.substring(13,14)); - System.out.println(message.substring(14,15)); - System.out.println(message.substring(15,16)); - - - - - } - - - } diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/resp/CarINdsa.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/resp/CarINdsa.java new file mode 100644 index 0000000..a7305e8 --- /dev/null +++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/resp/CarINdsa.java @@ -0,0 +1,105 @@ +package com.muyu.car.domain.resp; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.bouncycastle.crypto.Digest; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Tag( + name = "测试代码行", + description = "车INdsa" +) +public class CarINdsa { + + private Long testmessageId; + private String testmessagename; + private Integer testmessagetodo; + private String testmessageagon; + private Integer testmessagetest; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date dayend; + private String testmessagehid; + private Integer testmessageyou; + private Digest testmessageertug; + private String testmessagebug; + private Integer testmessagedata; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +} diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/mapper/CarInformationMapper.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/mapper/CarInformationMapper.java index f5f19c9..4e42620 100644 --- a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/mapper/CarInformationMapper.java +++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/mapper/CarInformationMapper.java @@ -6,11 +6,13 @@ import com.muyu.car.domain.CarMessage; import com.muyu.car.domain.req.CarInformationAddReq; import com.muyu.car.domain.req.CarInformationListReq; import com.muyu.car.domain.req.CarInformationUpdReq; +import io.swagger.v3.oas.annotations.tags.Tag; import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper +@Tag(name = "车辆基础信息表") public interface CarInformationMapper { /** * 企业车辆管理列表 diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/mapper/PackettemplateMapper.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/mapper/PackettemplateMapper.java index 9b5608b..06c1dee 100644 --- a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/mapper/PackettemplateMapper.java +++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/mapper/PackettemplateMapper.java @@ -2,11 +2,13 @@ package com.muyu.car.mapper; import com.muyu.car.domain.Packettemplate; import com.muyu.car.domain.req.PackettemplateAddReq; +import io.swagger.v3.oas.annotations.tags.Tag; import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper +@Tag(name = "保温分类表") public interface PackettemplateMapper { /** diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/CarMessageService.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/CarMessageService.java index 9a5217f..a7abceb 100644 --- a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/CarMessageService.java +++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/CarMessageService.java @@ -1,6 +1,6 @@ package com.muyu.car.service; -import cn.hutool.json.JSONObject; +import com.alibaba.fastjson.JSONObject; import com.muyu.car.domain.CarMessage; import com.muyu.common.core.domain.Result; diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/Impl/CarInformationServiceImpl.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/Impl/CarInformationServiceImpl.java index 71e7337..ae882f3 100644 --- a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/Impl/CarInformationServiceImpl.java +++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/Impl/CarInformationServiceImpl.java @@ -11,7 +11,9 @@ import com.muyu.car.mapper.CarInformationMapper; import com.muyu.car.service.CarInformationService; import com.muyu.common.core.domain.Result; import jakarta.servlet.http.HttpServletResponse; +import org.apache.poi.ss.formula.functions.IDStarAlgorithm; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -52,6 +54,14 @@ public class CarInformationServiceImpl implements CarInformationService { } + public Result adfv(IDStarAlgorithm starAlgorithm){ + String str="afavav sdvaedvgafa sefse"; + + return Result.success(starAlgorithm); + return Result.error(402,"添加车辆失败"); + + } + @Override public Result updatecarInformation(CarInformationUpdReq carInformationUpdReq) { Integer updatecarInformation = carInformationMapper.updatecarInformation(carInformationUpdReq); diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/Impl/CarMessageServiceImpl.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/Impl/CarMessageServiceImpl.java index 771b1a0..0619325 100644 --- a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/Impl/CarMessageServiceImpl.java +++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/Impl/CarMessageServiceImpl.java @@ -1,7 +1,8 @@ package com.muyu.car.service.Impl; -import cn.hutool.json.JSONObject; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.fasterxml.jackson.core.JsonProcessingException; import com.muyu.car.domain.CarInformation; import com.muyu.car.domain.CarMessage; import com.muyu.car.mapper.CarInformationMapper; @@ -14,6 +15,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.Objects; @@ -62,6 +64,7 @@ public class CarMessageServiceImpl implements CarMessageService { return Result.error( 402,"修改失败"); } + @Override public JSONObject inciseCarMessage(String testString) { //根据空格拆分切割数据字符串 @@ -74,36 +77,38 @@ public class CarMessageServiceImpl implements CarMessageService { stringBuilder.append((char) inciseindex); } //切取车辆VIN - String substring = stringBuilder.substring(1, 18); + String substring = stringBuilder.substring(0, 17); log.info("车辆的VIN码:" + substring); //根据给定的vehicleVin(车辆VIN号)获取对应的模板车辆分类carMessageCartype - Integer selectcared = Math.toIntExact(carMessageMapper.selectcarMessageCartype(substring)); + Long selectcared = carMessageMapper.selectcarMessageCartype(substring); //根据给定的vehicleVin(车辆VIN号)获取对应的模板信息 - List carInformations = carMessageMapper.selectcarInformationType(substring); + // List carInformations = carMessageMapper.selectcarInformationType(substring); + //创建接受数据的数组 + List carMessagesList ; - List carMessagesList = null; + try{ + String redisKey = "carMessageList" + selectcared; + if (redisTemplate.hasKey(redisKey)){ + List list = redisTemplate.opsForList().range(redisKey , 0, -1); + carMessagesList = + list.stream().map(objects -> + JSON.parseObject(objects.toString(), CarMessage.class)) + .toList(); + log.info("Redis缓存查询成功"); + }else { + carMessagesList = carMessageMapper.selectCarMessageList(Math.toIntExact(selectcared)); - if (redisTemplate.hasKey("carMessageList" + selectcared)){ - ListarrayList = new ArrayList<>(); - List list = redisTemplate.opsForList().range("carMessageList" + selectcared, 0, -1); - for (Objects objstring : list) { - String objString = objstring.toString(); - CarMessage carMessage = JSON.parseObject(objString, CarMessage.class); - arrayList.add(carMessage); - } - log.info("Redis查询到了"); - carMessagesList = arrayList; - }else { - List list = carMessageMapper.selectCarMessageList(selectcared); - for (CarMessage carMessage : list) { - redisTemplate.opsForList().rightPushAll("carMessageList" + selectcared , JSON.toJSONString(carMessage)); - } - log.info("数据库查询成功"); - - carMessagesList = list; + carMessagesList.forEach( + listReq -> redisTemplate.opsForList().rightPushAll(redisKey, (Collection) listReq) + ); + log.info("数据库查询成功"); } + log.info("获取失败,请重试"); + }catch(Exception e){ + throw new RuntimeException("获取报文模板失败"); + } //判断报文模板 列表 不为空 - if(carMessagesList == null){ + if(carMessagesList.isEmpty()){ throw new RuntimeException("报文模版为空"); } //存储报文模板解析后的数据 @@ -116,12 +121,12 @@ public class CarMessageServiceImpl implements CarMessageService { //根据报文模板获取保温截取位置 String value = stringBuilder.substring(startIndex, endIndex); //存入数据 - jsonObject.put(carMessage.) + jsonObject.put(carMessage.getMessageTypeName(), value); } - - return null; + return jsonObject; } + } diff --git a/cloud-modules/cloud-modules-car/src/main/resources/mapper/car/CarMessageMapper.xml b/cloud-modules/cloud-modules-car/src/main/resources/mapper/car/CarMessageMapper.xml index 460ed1b..7f5635c 100644 --- a/cloud-modules/cloud-modules-car/src/main/resources/mapper/car/CarMessageMapper.xml +++ b/cloud-modules/cloud-modules-car/src/main/resources/mapper/car/CarMessageMapper.xml @@ -122,7 +122,7 @@