diff --git a/cloud-modules/cloud-modules-template/src/main/java/com/template/domain/MessageTemplate.java b/cloud-modules/cloud-modules-template/src/main/java/com/template/domain/MessageTemplate.java new file mode 100644 index 0000000..860de01 --- /dev/null +++ b/cloud-modules/cloud-modules-template/src/main/java/com/template/domain/MessageTemplate.java @@ -0,0 +1,85 @@ +package com.template.domain; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.sql.Date; + +/** + * @Author:liuxinyue + * @Package:com.template.domain + * @Project:cloud-server + * @name:MessageTemplate + * @Date:2024/9/21 12:09 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +@EqualsAndHashCode(callSuper=false) +public class MessageTemplate { + + /** + * 主键 + */ + private Integer messageId; + /** + * 车辆VIN码 + */ + private String vinCode; + /** + * 时间戳 + */ + private Date timeStamp; + private String longItude; + private String latitude; + private String speedVehicle; + private String totalMileage; + private String totalVoltage; + private String combinedCurrent; + private String insulationResistance; + private String gearPosition; + private String acceleratorPedalTravelValue; + private String brakePedalTravelValue; + private String specificFuelConsumption; + private String motorControllerTemperature; + private String motorSpeed; + private String motorTorque; + private String motorTemperature; + private String motorVoltage; + private String motorCurrent; + private String powerBatteryRemainingSoc; + private String maximumFeedbackPower; + private String maximumDischargePower; + private String bmsSelfCheckCounter; + private String powerBattery; + private String totalVoltageLoadSide; + private String maximumVoltage; + private String minimumVoltage; + private String maximumTemperature; + private String minimumTemperature; + private String availableCapacity; + private String vehicleStatus; + private String chargingState; + private String operationalStatus; + private String soc; + private String energyStorageDevices; + private String driveMotorCondition; + private String whetherWorks; + private String eas; + private String ptc; + private String eps; + private String abs; + private String mcu; + private String heatingState; + private String powerBatteryStatus; + private String stateBatteryInsulation; + private String dcdc; + private String chg; + private String checkDigit; + private String cutoffBit; + +} diff --git a/cloud-modules/cloud-modules-template/src/main/java/com/template/service/impl/TemplateServiceImpl.java b/cloud-modules/cloud-modules-template/src/main/java/com/template/service/impl/TemplateServiceImpl.java index d9248da..874ec6d 100644 --- a/cloud-modules/cloud-modules-template/src/main/java/com/template/service/impl/TemplateServiceImpl.java +++ b/cloud-modules/cloud-modules-template/src/main/java/com/template/service/impl/TemplateServiceImpl.java @@ -1,9 +1,6 @@ package com.template.service.impl; import com.muyu.common.core.domain.Result; -import com.template.domain.CarType; -import com.template.domain.MessageTemplateType; -import com.template.domain.SysCar; -import com.template.domain.Template; +import com.template.domain.*; import com.template.mapper.TemplateMapper; import com.template.service.CarService; import com.template.service.MessageTemplateTypeService; @@ -37,6 +34,8 @@ public class TemplateServiceImpl implements TemplateService{ @Override public void messageParsing(String templateMessage) { + + MessageTemplate messageTemplate = new MessageTemplate(); //先截取出VIN码 然后根据VIN码查询这个车属于什么类型 if(templateMessage.length()<18){ throw new RuntimeException("The vehicle message is incorrect"); @@ -51,9 +50,16 @@ public class TemplateServiceImpl implements TemplateService{ Template templateDate=templateMapper.findTemplateByName(carTypeById.getTypeName()); //根据报文模版的ID查询对应的模版 List messageByTemplateName = messageTemplateTypeService.findMessageByTemplateName(templateDate.getTemplateName()); + for (MessageTemplateType messageTemplateType : messageByTemplateName) { - - + //车辆VIN码 + String[] split = templateMessage.split(" "); + //开始位置 + Integer startIndex = messageTemplateType.getStartIndex(); + //结束位置 + Integer endIndex = messageTemplateType.getEndIndex(); + String messageField = messageTemplateType.getMessageField(); + String str="set"+messageField; }