From 1e3dd0fa30bc73896a40361a02bcef555b337771 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Mon, 28 Oct 2024 15:27:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4domain?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/ykc/device2platform/Data0x01.java | 133 +++++++ .../domain/ykc/device2platform/Data0x03.java | 69 ++++ .../domain/ykc/device2platform/Data0x05.java | 33 ++ .../domain/ykc/device2platform/Data0x09.java | 26 ++ .../domain/ykc/device2platform/Data0x13.java | 278 +++++++++++++ .../domain/ykc/device2platform/Data0x15.java | 14 + .../domain/ykc/device2platform/Data0x17.java | 14 + .../domain/ykc/device2platform/Data0x19.java | 14 + .../domain/ykc/device2platform/Data0x1B.java | 10 + .../domain/ykc/device2platform/Data0x1D.java | 10 + .../domain/ykc/device2platform/Data0x21.java | 14 + .../domain/ykc/device2platform/Data0x23.java | 14 + .../domain/ykc/device2platform/Data0x25.java | 14 + .../domain/ykc/device2platform/Data0x27.java | 14 + .../domain/ykc/device2platform/Data0x31.java | 11 + .../domain/ykc/device2platform/Data0x33.java | 11 + .../domain/ykc/device2platform/Data0x35.java | 11 + .../domain/ykc/device2platform/Data0x3B.java | 366 ++++++++++++++++++ .../domain/ykc/device2platform/Data0x3D.java | 10 + .../domain/ykc/device2platform/Data0x41.java | 11 + .../domain/ykc/device2platform/Data0x43.java | 11 + .../domain/ykc/device2platform/Data0x45.java | 11 + .../domain/ykc/device2platform/Data0x47.java | 11 + .../domain/ykc/device2platform/Data0x51.java | 11 + .../domain/ykc/device2platform/Data0x55.java | 11 + .../domain/ykc/device2platform/Data0x57.java | 11 + .../domain/ykc/device2platform/Data0x59.java | 11 + .../domain/ykc/device2platform/Data0x61.java | 11 + .../domain/ykc/device2platform/Data0x63.java | 11 + .../domain/ykc/device2platform/Data0x91.java | 11 + .../domain/ykc/device2platform/Data0x93.java | 11 + .../domain/ykc/device2platform/Data0xA1.java | 11 + .../domain/ykc/device2platform/Data0xA4.java | 11 + .../domain/ykc/device2platform/Data0xF1.java | 11 + .../domain/ykc/platform2device/Data0x02.java | 11 + .../domain/ykc/platform2device/Data0x04.java | 11 + .../domain/ykc/platform2device/Data0x06.java | 11 + .../domain/ykc/platform2device/Data0x0A.java | 11 + .../domain/ykc/platform2device/Data0x12.java | 11 + .../domain/ykc/platform2device/Data0x26.java | 11 + .../domain/ykc/platform2device/Data0x32.java | 11 + .../domain/ykc/platform2device/Data0x34.java | 11 + .../domain/ykc/platform2device/Data0x36.java | 11 + .../domain/ykc/platform2device/Data0x40.java | 11 + .../domain/ykc/platform2device/Data0x42.java | 11 + .../domain/ykc/platform2device/Data0x44.java | 11 + .../domain/ykc/platform2device/Data0x46.java | 11 + .../domain/ykc/platform2device/Data0x48.java | 11 + .../domain/ykc/platform2device/Data0x52.java | 11 + .../domain/ykc/platform2device/Data0x56.java | 11 + .../domain/ykc/platform2device/Data0x58.java | 11 + .../domain/ykc/platform2device/Data0x60.java | 11 + .../domain/ykc/platform2device/Data0x62.java | 11 + .../domain/ykc/platform2device/Data0x92.java | 11 + .../domain/ykc/platform2device/Data0x94.java | 11 + .../domain/ykc/platform2device/Data0xA2.java | 11 + .../domain/ykc/platform2device/Data0xA3.java | 11 + 57 files changed, 1484 insertions(+) create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x01.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x03.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x05.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x09.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x13.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x15.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x17.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x19.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x1B.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x1D.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x21.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x23.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x25.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x27.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x31.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x33.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x35.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x3B.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x3D.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x41.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x43.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x45.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x47.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x51.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x55.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x57.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x59.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x61.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x63.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x91.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x93.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0xA1.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0xA4.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0xF1.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x02.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x04.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x06.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x0A.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x12.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x26.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x32.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x34.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x36.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x40.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x42.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x44.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x46.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x48.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x52.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x56.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x58.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x60.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x62.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x92.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x94.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0xA2.java create mode 100644 jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0xA3.java diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x01.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x01.java new file mode 100644 index 000000000..f9b31523c --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x01.java @@ -0,0 +1,133 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.util.BytesUtil; +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 0x01登录请求数据 + */ +@Data +public class Data0x01 extends YKCBaseMessage { + /** + * 桩编码 BCD 码 7 不足 7 位补 0 + */ + private String pileSn; + + /** + * 桩类型 BIN 码 1 0 表示直流桩, 1 表示交流桩 + */ + private String pileType; + + /** + * 充电枪数量 BIN 码 1 + */ + private String connectorNum; + + /** + * 通信协议版本 BIN 码 1 版本号乘 10,v1.0 表示 0x0A + */ + private String communicationVersion; + + /** + * 程序版本 ASCII 码 8 不足 8 位补零 + */ + private String programVersion; + + /** + * 网络链接类型 BIN 码 1 0x00 SIM 卡 + * 0x01 LAN + * 0x02 WAN + * 0x03 其他 + */ + private String internetConnection; + + /** + * Sim 卡 BCD 码 10 不足 10 位补零,取不到置零 + */ + private String iccid; + + /** + * 运营商 BIN 码 1 0x00 移动 + * 0x02 电信 + * 0x03 联通 + * 0x04 其他 + */ + private String business; + + @Override + public String toString() { + return "LoginRequestData{" + + "pileSn='" + pileSn + '\'' + + ", pileType='" + pileType + '\'' + + ", connectorNum='" + connectorNum + '\'' + + ", communicationVersion='" + communicationVersion + '\'' + + ", programVersion='" + programVersion + '\'' + + ", internetConnection='" + internetConnection + '\'' + + ", iccid='" + iccid + '\'' + + ", business='" + business + '\'' + + '}'; + } + + public Data0x01(byte[] messageBytes) { + super(messageBytes); + + // 初始startIndex为6, 跳过消息头等6个字节 + int startIndex = 6; + + // 桩编码 + int length = 7; + byte[] pileSnByte = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.pileSn = BytesUtil.binary(pileSnByte, 16); + + // 保存时间 + // YKCUtils.saveLastTimeAndCheckChannel(pileSn, ctx); + + // 桩类型 0 表示直流桩, 1 表示交流桩 + startIndex += length; + length = 1; + byte[] pileTypeByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.pileType = BytesUtil.bcd2Str(pileTypeByteArr); + + // 充电枪数量 + startIndex += length; + length = 1; + byte[] connectorNumByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.connectorNum = BytesUtil.bcd2Str(connectorNumByteArr); + + // 通信协议版本 版本号乘 10,v1.0 表示 0x0A + startIndex += length; + length = 1; + byte[] communicationVersionByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + BigDecimal bigDecimal = new BigDecimal(BytesUtil.bcd2Str(communicationVersionByteArr)); + BigDecimal communicationVersionTemp = bigDecimal.divide(new BigDecimal(10)); + this.communicationVersion = "v" + communicationVersionTemp; + + // 程序版本 + startIndex += length; + length = 8; + byte[] programVersionByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.programVersion = BytesUtil.ascii2Str(programVersionByteArr); + // log.info("程序版本:{} length:{}", programVersion, programVersion.length()); + + // 网络连接类型 0x00 SIM 卡 0x01 LAN 0x02 WAN 0x03 其他 + startIndex += length; + length = 1; + byte[] internetConnectionTypeByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.internetConnection = BytesUtil.bcd2Str(internetConnectionTypeByteArr); + + // sim卡 + startIndex += length; + length = 10; + byte[] simCardNumByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.iccid = BytesUtil.bin2HexStr(simCardNumByteArr); + + // 运营商 0x00 移动 0x02 电信 0x03 联通 0x04 其他 + startIndex += length; + length = 1; + byte[] businessTypeByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.business = BytesUtil.bcd2Str(businessTypeByteArr); + } +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x03.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x03.java new file mode 100644 index 000000000..6ebf18cde --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x03.java @@ -0,0 +1,69 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import com.jsowell.common.util.BytesUtil; +import lombok.Data; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 心跳包数据 + */ +@Data +public class Data0x03 extends YKCBaseMessage { + /** + * 桩编码 BCD 码 7 不足 7 位补 0 + */ + private String pileSn; + + /** + * 枪号 BCD 码 1 + */ + private String connectorCode; + + /** + * 枪状态 BIN 码 1 0x00:正常 0x01:故障 + */ + private String connectorStatus; + + public Data0x03(byte[] messageBytes) { + super(messageBytes); + + // 初始startIndex为6, 跳过消息头等6个字节 + int startIndex = 6; + + // 桩编码 + int length = 7; + byte[] pileSnBytes = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.pileSn = BytesUtil.binary(pileSnBytes, 16); + + // 枪号 + startIndex += length; + length = 1; + byte[] connectorCodeBytes = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.connectorCode = String.format("%02d", Integer.parseInt(BytesUtil.binary(connectorCodeBytes, 16))); + + //枪状态(不回复) + startIndex += length; + length = 1; + byte[] connectorStatusBytes = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.connectorStatus = BytesUtil.binary(connectorStatusBytes, 16); + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.JSON_STYLE) + .append("pileSn", pileSn) + .append("connectorCode", connectorCode) + .append("connectorStatus", connectorStatus) + .append("header", header) + .append("dataLength", dataLength) + .append("serialNumber", serialNumber) + .append("encryptFlag", encryptFlag) + .append("frameType", frameType) + .append("frameCheckSequence", frameCheckSequence) + .append("channelId", channelId) + .toString(); + } + +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x05.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x05.java new file mode 100644 index 000000000..987df0781 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x05.java @@ -0,0 +1,33 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.util.BytesUtil; +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x05 extends YKCBaseMessage { + private String pileSn; + + private String billingTemplateCode; + + public Data0x05(byte[] messageBytes) { + super(messageBytes); + + // 初始startIndex为6, 跳过消息头等6个字节 + int startIndex = 6; + + // 桩编码 + int length = 7; + byte[] pileSnBytes = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.pileSn = BytesUtil.binary(pileSnBytes, 16); + + // 计费模型编码 + startIndex += length; + length = 2; + byte[] billingTemplateCodeByte = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.billingTemplateCode = BytesUtil.binary(billingTemplateCodeByte, 16); + } +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x09.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x09.java new file mode 100644 index 000000000..e47ae404a --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x09.java @@ -0,0 +1,26 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.util.BytesUtil; +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x09 extends YKCBaseMessage { + private String pileSn; + + public Data0x09(byte[] messageBytes) { + super(messageBytes); + + // 初始startIndex为6, 跳过消息头等6个字节 + int startIndex = 6; + + // 桩编码 + int length = 7; + byte[] pileSnBytes = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.pileSn = BytesUtil.binary(pileSnBytes, 16); + + } +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x13.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x13.java new file mode 100644 index 000000000..3acf47123 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x13.java @@ -0,0 +1,278 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.enums.ykc.YKCPileFaultReasonEnum; +import com.jsowell.common.util.BytesUtil; +import com.jsowell.common.util.StringUtils; +import com.jsowell.common.util.YKCUtils; +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x13 extends YKCBaseMessage { + + /** + * 交易流水号 BCD 码 16 见名词解释 + */ + private String transactionCode; + + /** + * 桩编号 BCD 码 7 不足 7 位补 0 + */ + private String pileSn; + + /** + * 枪号 BCD 码 1 + */ + private String connectorCode; + + /** + * 状态 BIN 码 1 0x00:离线 + * 0x01:故障 + * 0x02:空闲 + * 0x03:充电 + * 0x04:预约中 + * 需做到变位上送 + */ + private String connectorStatus; + + /** + * 枪是否归位 BIN 码 1 0x00 否 0x01 是 0x02 未知 + * (无法检测到枪是否插回枪座即 未知) + */ + private String homingFlag; + + /** + * 充电枪编号 + */ + private String pileConnectorCode; + + /** + * 是否插枪 BIN 码 1 0x00 否 0x01 是 + * 需做到变位上送 + */ + private String putGunType; + + /** + * 输出电压 BIN 码 2 精确到小数点后一位;待机置零 + */ + private String outputVoltage; + + /** + * 输出电流 BIN 码 2 精确到小数点后一位;待机置零 + */ + private String outputCurrent; + + /** + * 枪线温度 BIN 码 1 整形,偏移量-50;待机置零 + */ + private String gunLineTemperature; + + /** + * 枪线编码 BIN 码 8 没有置零 + */ + private String gunLineCode; + + /** + * SOC BIN 码 1 待机置零;交流桩置零 + */ + private String SOC; + + /** + * 电池组最高温度 BIN 码 1 整形,偏移量-50 ºC;待机置零; 交流桩置零 + */ + private String batteryMaxTemperature; + + /** + * 累计充电时间 BIN 码 2 单位:min;待机置零 + */ + private int sumChargingTime; + + /** + * 剩余时间 BIN 码 2 单位:min;待机置零、交流桩置 零 + */ + private int timeRemaining; + + /** + * 充电度数 BIN 码 4 精确到小数点后四位;待机置零 + */ + private String chargingDegree; + + /** + * 计损充电度数 BIN 码 4 精确到小数点后四位;待机置零 未设置计损比例时等于充电度数 + */ + private String lossDegree; + + /** + * 已充金额 BIN 码 4 精确到小数点后四位;待机置零 (电费+服务费) *计损充电度数 + */ + private String chargingAmount; + + /** + * 硬件故障 BIN 码 2 Bit 位表示 (0 否 1 是) ,低位到 高位顺序 + * Bit1:急停按钮动作故障; + * Bit2:无可用整流模块; + * Bit3:出风口温度过高; + * Bit4:交流防雷故障; + * Bit5: 交直流模块 DC20 通信中 断; + * Bit6:绝缘检测模块 FC08 通信中 断; + * Bit7: 电度表通信中断; + * Bit8:读卡器通信中断; + * Bit9:RC10 通信中断; + * Bit10:风扇调速板故障; + * Bit11:直流熔断器故障; + * Bit12:高压接触器故障; + * Bit13: 门打开; + */ + private String hardwareFault; + + private String faultReason; + + /** + * 时间 + */ + private String dateTime; + + private String thirdPartyType; + + public String getPileConnectorCode() { + return this.pileSn + this.connectorCode; + } + + public Data0x13(byte[] messageBytes) { + super(messageBytes); + + // 初始startIndex为6, 跳过消息头等6个字节 + int startIndex = 6; + + // 交易流水号 + int length = 16; + byte[] orderCodeByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.transactionCode = BytesUtil.bcd2Str(orderCodeByteArr); + + // 桩编码 + startIndex += length; + length = 7; + byte[] pileSnByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.pileSn = BytesUtil.bcd2Str(pileSnByteArr); + + // 枪号 + startIndex += length; + length = 1; + byte[] connectorCodeByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.connectorCode = BytesUtil.bcd2Str(connectorCodeByteArr); + + // 枪口编号 + String pileConnectorCode = pileSn + connectorCode; + + // 枪口状态 0x00:离线 0x01:故障 0x02:空闲 0x03:充电 0x04 预约中 + startIndex += length; + length = 1; + byte[] connectorStatusByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.connectorStatus = BytesUtil.bcd2Str(connectorStatusByteArr); + + // 是否归位 0x00:否 0x01:是 0x02:未知(无法检测到枪是否插回枪座即 未知) + startIndex += length; + length = 1; + byte[] homingFlagByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.homingFlag = BytesUtil.bcd2Str(homingFlagByteArr); + + // 是否插枪 0x00:否 0x01:是 + startIndex += length; + length = 1; + byte[] isChargerPluggedInByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.putGunType = BytesUtil.bcd2Str(isChargerPluggedInByteArr); + + // 输出电压 精确到小数点后一位;待机置零 + startIndex += length; + length = 2; + byte[] outputVoltageByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.outputVoltage = YKCUtils.convertVoltageCurrent(outputVoltageByteArr); + + // 输出电流 精确到小数点后一位;待机置零 + startIndex += length; + length = 2; + byte[] outputCurrentByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.outputCurrent = YKCUtils.convertVoltageCurrent(outputCurrentByteArr); + + // 枪线温度 整形, 偏移量-50;待机置零 + startIndex += length; + length = 1; + byte[] gunLineTemperatureByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.gunLineTemperature = YKCUtils.transitionTemperature(gunLineTemperatureByteArr); + + // 枪线编码 没有置零 + startIndex += length; + length = 8; + byte[] gunLineCodeByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.gunLineCode = BytesUtil.bcd2Str(gunLineCodeByteArr); + + // SOC 待机置零;交流桩置零 + startIndex += length; + length = 1; + byte[] SOCByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.SOC = String.valueOf(SOCByteArr[0]); + + // 电池组最高温度 整形, 偏移量-50 ºC;待机置零; 交流桩置零 + startIndex += length; + length = 1; + byte[] batteryMaxTemperatureByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.batteryMaxTemperature = YKCUtils.transitionTemperature(batteryMaxTemperatureByteArr); + + // 累计充电时间 单位: min;待机置零 + startIndex += length; + length = 2; + byte[] sumChargingTimeByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.sumChargingTime = BytesUtil.bytesToIntLittle(sumChargingTimeByteArr); + + // 剩余时间 单位: min;待机置零、交流桩置零 + startIndex += length; + length = 2; + byte[] timeRemainingByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.timeRemaining = BytesUtil.bytesToIntLittle(timeRemainingByteArr); + + // 充电度数 精确到小数点后四位;待机置零 + startIndex += length; + length = 4; + byte[] chargingDegreeByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.chargingDegree = YKCUtils.convertDecimalPoint(chargingDegreeByteArr, 4); + + // 计损充电度数 精确到小数点后四位;待机置零 未设置计损比例时等于充电度数 + startIndex += length; + length = 4; + byte[] lossDegreeByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.lossDegree = YKCUtils.convertDecimalPoint(lossDegreeByteArr, 4); + + // 已充金额 精确到小数点后四位;待机置零 (电费+服务费) *计损充电度数 + startIndex += length; + length = 4; + byte[] chargingAmountByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.chargingAmount = YKCUtils.convertDecimalPoint(chargingAmountByteArr, 4); + + // 硬件故障 + startIndex += length; + length = 2; + byte[] hardwareFaultTempByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.hardwareFault = BytesUtil.bcd2Str(hardwareFaultTempByteArr); + String faultReason = "无"; + if (!StringUtils.equals(hardwareFault, "0000")) { + // 不等于0000说明有故障 + StringBuffer sb = new StringBuffer(hardwareFault); + String lowOrder = sb.substring(0, 2); + String highOrder = sb.substring(2, 4); + byte[] hardwareFaultByteArr = BytesUtil.str2Bcd(highOrder + lowOrder); + String binStr = BytesUtil.bytes2BinStr(hardwareFaultByteArr); + int faultCode = 0; + for (int i = 0; i < binStr.length(); i++) { + if (binStr.charAt(i) == '1') { + faultCode = 15 - i; + break; + } + } + faultReason = YKCPileFaultReasonEnum.getValueByCode(faultCode); + } + this.faultReason = faultReason; + } +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x15.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x15.java new file mode 100644 index 000000000..6ad9acb79 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x15.java @@ -0,0 +1,14 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x15 extends YKCBaseMessage { + public Data0x15(byte[] messageBytes) { + super(messageBytes); + } +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x17.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x17.java new file mode 100644 index 000000000..e504017cb --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x17.java @@ -0,0 +1,14 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x17 extends YKCBaseMessage { + public Data0x17(byte[] messageBytes) { + super(messageBytes); + } +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x19.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x19.java new file mode 100644 index 000000000..fc8567356 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x19.java @@ -0,0 +1,14 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x19 extends YKCBaseMessage { + public Data0x19(byte[] messageBytes) { + super(messageBytes); + } +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x1B.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x1B.java new file mode 100644 index 000000000..1da56991c --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x1B.java @@ -0,0 +1,10 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x1B { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x1D.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x1D.java new file mode 100644 index 000000000..0e8e4449e --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x1D.java @@ -0,0 +1,10 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x1D { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x21.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x21.java new file mode 100644 index 000000000..6b85003ff --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x21.java @@ -0,0 +1,14 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x21 extends YKCBaseMessage { + public Data0x21(byte[] messageBytes) { + super(messageBytes); + } +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x23.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x23.java new file mode 100644 index 000000000..e99dfd32b --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x23.java @@ -0,0 +1,14 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x23 extends YKCBaseMessage { + public Data0x23(byte[] messageBytes) { + super(messageBytes); + } +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x25.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x25.java new file mode 100644 index 000000000..abf53a9ad --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x25.java @@ -0,0 +1,14 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x25 extends YKCBaseMessage { + public Data0x25(byte[] messageBytes) { + super(messageBytes); + } +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x27.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x27.java new file mode 100644 index 000000000..d36abebf5 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x27.java @@ -0,0 +1,14 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x27 extends YKCBaseMessage { + public Data0x27(byte[] messageBytes) { + super(messageBytes); + } +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x31.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x31.java new file mode 100644 index 000000000..c6461043d --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x31.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x31 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x33.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x33.java new file mode 100644 index 000000000..d03f2d062 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x33.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x33 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x35.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x35.java new file mode 100644 index 000000000..9099842a8 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x35.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x35 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x3B.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x3B.java new file mode 100644 index 000000000..2976b4c1d --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x3B.java @@ -0,0 +1,366 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.enums.ykc.YKCChargingStopReasonEnum; +import com.jsowell.common.util.BytesUtil; +import com.jsowell.common.util.Cp56Time2a.Cp56Time2aUtil; +import com.jsowell.common.util.DateUtils; +import com.jsowell.common.util.YKCUtils; +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +import java.util.Date; + +/** + * 交易记录数据 + */ +@Data +public class Data0x3B extends YKCBaseMessage { + + /** + * 交易流水号 BCD 码 16 见名词解释 + */ + private String transactionCode; + + /** + * 桩编号 BCD 码 7 不足 7 位补 0 + */ + private String pileSn; + + /** + * 枪号 BCD 码 1 + */ + private String connectorCode; + + /** + * 开始时间 BIN 7 CP56Time2a 格式 + */ + private String startTime; + + /** + * 结束时间 BIN 7 CP56Time2a 格式 + */ + private String endTime; + + /** + * 尖单价 BIN 4 精确到小数点后五位(尖电费+尖 服务费,见费率帧) + */ + private String sharpPrice; + + /** + * 尖电量 BIN 4 精确到小数点后四位 + */ + private String sharpUsedElectricity; + + /** + * 计损尖电量 BIN 4 精确到小数点后四位 + */ + private String sharpPlanLossElectricity; + + /** + * 尖金额 BIN 4 精确到小数点后四位 + */ + private String sharpAmount; + + /** + * 峰单价 BIN 4 精确到小数点后五位(峰电费+峰 服务费) + */ + private String peakPrice; + + /** + * 峰电量 BIN 4 精确到小数点后四位 + */ + private String peakUsedElectricity; + + /** + * 计损峰电量 BIN 4 精确到小数点后四位 + */ + private String peakPlanLossElectricity; + + /** + * 峰金额 BIN 4 精确到小数点后四位 + */ + private String peakAmount; + + /** + * 平单价 BIN 4 精确到小数点后五位(平电费+平 服务费) + */ + private String flatPrice; + + /** + * 平电量 BIN 4 精确到小数点后四位 + */ + private String flatUsedElectricity; + + /** + * 计损平电量 BIN 4 精确到小数点后四位 + */ + private String flatPlanLossElectricity; + + /** + * 平金额 BIN 4 精确到小数点后四位 + */ + private String flatAmount; + + /** + * 谷单价 BIN 4 精确到小数点后五位(谷电费+谷 服务费) + */ + private String valleyPrice; + + /** + * 谷电量 BIN 4 精确到小数点后四位 + */ + private String valleyUsedElectricity; + + /** + * 计损谷电量 BIN 4 精确到小数点后四位 + */ + private String valleyPlanLossElectricity; + + /** + * 谷金额 BIN 4 精确到小数点后四位 + */ + private String valleyAmount; + + /** + * 电表总起值 BIN 5 精确到小数点后四位 + */ + private String ammeterTotalStart; + + /** + * 电表总止值 BIN 5 精确到小数点后四位 + */ + private String ammeterTotalEnd; + + /** + * 总电量 BIN 4 精确到小数点后四位 + */ + private String totalElectricity; + + /** + * 计损总电量 BIN 4 精确到小数点后四位 + */ + private String planLossTotalElectricity; + + /** + * 消费金额 BIN 4 精确到小数点后四位,包含电费、 服务费 + */ + private String consumptionAmount; + + /** + * 电动汽车唯一标识 ASCII 17 VIN 码,此处 VIN 码和充电时 VIN 码不同, 正序直接上传, 无需补 0 和反序 + */ + private String vinCode; + + /** + * 交易标识 BIN 1 0x01: app 启动 0x02:卡启动 0x04:离线卡启动 0x05: vin 码启动充电 + */ + private String transactionIdentifier; + + /** + * 交易日期、时间 BIN 7 CP56Time2a 格式 + */ + private String transactionTime; + + /** + * 停止原因 BIN 1 见附录 11.1 + */ + private String stopReason; + + /** + * 停止原因描述 + */ + private String stopReasonMsg; + + /** + * 物理卡号 BIN 码 8 不足 8 位补 0 + */ + private String logicCard; + + public Data0x3B(byte[] messageBytes) { + super(messageBytes); + + // 初始startIndex为6, 跳过消息头等6个字节 + int startIndex = 6; + + // 交易流水号 + int length = 16; + byte[] transactionCodeByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.transactionCode = BytesUtil.bcd2Str(transactionCodeByteArr); + + // 桩编码 + startIndex += length; + length = 7; + byte[] pileSnByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.pileSn = BytesUtil.bcd2Str(pileSnByteArr); + + // 枪号 + startIndex += length; + length = 1; + byte[] connectorCodeByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.connectorCode = BytesUtil.bcd2Str(connectorCodeByteArr); + + + // 开始时间 CP56Time2a 格式 + startIndex += length; + length = 7; + byte[] startTimeByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + // String binary = BytesUtil.binary(startTimeByteArr, 16); + Date startDate = Cp56Time2aUtil.byte2Hdate(startTimeByteArr); + this.startTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, startDate); + + + // 结束时间 CP56Time2a 格式 + startIndex += length; + byte[] endTimeByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + Date endDate = Cp56Time2aUtil.byte2Hdate(endTimeByteArr); + this.endTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, endDate); + + // 尖单价 精确到小数点后五位(尖电费+尖服务费,见费率帧) + startIndex += length; + length = 4; + byte[] sharpPriceByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.sharpPrice = YKCUtils.convertDecimalPoint(sharpPriceByteArr, 5); + + // 尖电量 精确到小数点后四位 + startIndex += length; + length = 4; + byte[] sharpUsedElectricityByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.sharpUsedElectricity = YKCUtils.convertDecimalPoint(sharpUsedElectricityByteArr, 4); + + // 计损尖电量 + startIndex += length; + byte[] sharpPlanLossElectricityByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.sharpPlanLossElectricity = YKCUtils.convertDecimalPoint(sharpPlanLossElectricityByteArr, 4); + + // 尖金额 + startIndex += length; + byte[] sharpAmountByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.sharpAmount = YKCUtils.convertDecimalPoint(sharpAmountByteArr, 4); + + // 峰单价 精确到小数点后五位(峰电费+峰服务费) + startIndex += length; + byte[] peakPriceByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.peakPrice = YKCUtils.convertDecimalPoint(peakPriceByteArr, 5); + + // 峰电量 + startIndex += length; + byte[] peakUsedElectricityByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.peakUsedElectricity = YKCUtils.convertDecimalPoint(peakUsedElectricityByteArr, 4); + + // 计损峰电量 + startIndex += length; + byte[] peakPlanLossElectricityByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.peakPlanLossElectricity = YKCUtils.convertDecimalPoint(peakPlanLossElectricityByteArr, 4); + + // 峰金额 + startIndex += length; + byte[] peakAmountByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.peakAmount = YKCUtils.convertDecimalPoint(peakAmountByteArr, 4); + + // 平单价 精确到小数点后五位(平电费+平服务费) + startIndex += length; + byte[] flatPriceByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.flatPrice = YKCUtils.convertDecimalPoint(flatPriceByteArr, 5); + + // 平电量 + startIndex += length; + byte[] flatUsedElectricityByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.flatUsedElectricity = YKCUtils.convertDecimalPoint(flatUsedElectricityByteArr, 4); + + // 计损平电量 + startIndex += length; + byte[] flatPlanLossElectricityByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.flatPlanLossElectricity = YKCUtils.convertDecimalPoint(flatPlanLossElectricityByteArr, 4); + + // 平金额 + startIndex += length; + byte[] flatAmountByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.flatAmount = YKCUtils.convertDecimalPoint(flatAmountByteArr, 4); + + // 谷单价 精确到小数点后五位(谷电费+谷 服务费) + startIndex += length; + byte[] valleyPriceByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.valleyPrice = YKCUtils.convertDecimalPoint(valleyPriceByteArr, 5); + + // 谷电量 + startIndex += length; + byte[] valleyUsedElectricityByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.valleyUsedElectricity = YKCUtils.convertDecimalPoint(valleyUsedElectricityByteArr, 4); + + // 计损谷电量 + startIndex += length; + byte[] valleyPlanLossElectricityByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.valleyPlanLossElectricity = YKCUtils.convertDecimalPoint(valleyPlanLossElectricityByteArr, 4); + + // 谷金额 + startIndex += length; + byte[] valleyAmountByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.valleyAmount = YKCUtils.convertDecimalPoint(valleyAmountByteArr, 4); + + // 电表总起值 + startIndex += length; + length = 5; + byte[] ammeterTotalStartByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.ammeterTotalStart = YKCUtils.convertDecimalPoint(ammeterTotalStartByteArr, 4); + + // 电表总止值 + startIndex += length; + byte[] ammeterTotalEndByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.ammeterTotalEnd = YKCUtils.convertDecimalPoint(ammeterTotalEndByteArr, 4); + + // 总电量 + startIndex += length; + length = 4; + byte[] totalElectricityByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.totalElectricity = YKCUtils.convertDecimalPoint(totalElectricityByteArr, 4); + + // 计损总电量 + startIndex += length; + byte[] planLossTotalElectricityByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.planLossTotalElectricity = YKCUtils.convertDecimalPoint(planLossTotalElectricityByteArr, 4); + + // 消费金额 精确到小数点后四位,包含电费、 服务费 + startIndex += length; + byte[] consumptionAmountByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.consumptionAmount = YKCUtils.convertDecimalPoint(consumptionAmountByteArr, 4); + + // VIN 码 VIN 码,此处 VIN 码和充电时 VIN 码不同, 正序直接上传, 无需补 0 和反序 + startIndex += length; + length = 17; + byte[] vinCodeByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.vinCode = YKCUtils.parseVin(vinCodeByteArr); // 解析vin + + /** + * 交易标识 + * 0x01: app 启动 + * 0x02:卡启动 + * 0x04:离线卡启动 + * 0x05: vin 码启动充电 + */ + startIndex += length; + length = 1; + byte[] transactionIdentifierByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.transactionIdentifier = BytesUtil.bcd2Str(transactionIdentifierByteArr); + + // 交易时间 CP56Time2a 格式 + startIndex += length; + length = 7; + byte[] transactionTimeByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + Date transactionDate = Cp56Time2aUtil.byte2Hdate(transactionTimeByteArr); + this.transactionTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, transactionDate); + + // 停止原因 + startIndex += length; + length = 1; + byte[] stopReasonByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + this.stopReason = BytesUtil.bin2HexStr(stopReasonByteArr); + this.stopReasonMsg = YKCChargingStopReasonEnum.getMsgByCode(Integer.parseInt(stopReason, 16)); + + // 物理卡号 不足 8 位补 0 + startIndex += length; + length = 8; + byte[] cardNumByteArr = BytesUtil.copyBytes(messageBytes, startIndex, length); + // log.info("交易记录确认cardNumByteArr:{}", cardNumByteArr); + this.logicCard = BytesUtil.binary(cardNumByteArr, 16); + } +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x3D.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x3D.java new file mode 100644 index 000000000..8a33dc16c --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x3D.java @@ -0,0 +1,10 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x3D { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x41.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x41.java new file mode 100644 index 000000000..73fa201ba --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x41.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x41 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x43.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x43.java new file mode 100644 index 000000000..43e57750a --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x43.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x43 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x45.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x45.java new file mode 100644 index 000000000..1206aa593 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x45.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x45 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x47.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x47.java new file mode 100644 index 000000000..d646761c7 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x47.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x47 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x51.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x51.java new file mode 100644 index 000000000..43d444857 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x51.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x51 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x55.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x55.java new file mode 100644 index 000000000..764b41217 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x55.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x55 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x57.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x57.java new file mode 100644 index 000000000..dffef8567 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x57.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x57 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x59.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x59.java new file mode 100644 index 000000000..232e56d61 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x59.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x59 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x61.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x61.java new file mode 100644 index 000000000..e7c78a878 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x61.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x61 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x63.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x63.java new file mode 100644 index 000000000..df134237b --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x63.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x63 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x91.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x91.java new file mode 100644 index 000000000..72e1bcc6b --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x91.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x91 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x93.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x93.java new file mode 100644 index 000000000..5f2036100 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0x93.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x93 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0xA1.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0xA1.java new file mode 100644 index 000000000..e64f1ff72 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0xA1.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0xA1 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0xA4.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0xA4.java new file mode 100644 index 000000000..1a86c223b --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0xA4.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0xA4 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0xF1.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0xF1.java new file mode 100644 index 000000000..e4fad1b19 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/device2platform/Data0xF1.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.device2platform; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0xF1 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x02.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x02.java new file mode 100644 index 000000000..dacb739cf --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x02.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x02 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x04.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x04.java new file mode 100644 index 000000000..809f30e9d --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x04.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x04 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x06.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x06.java new file mode 100644 index 000000000..cc4f6fe72 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x06.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x06 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x0A.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x0A.java new file mode 100644 index 000000000..2addfb2b4 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x0A.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x0A extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x12.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x12.java new file mode 100644 index 000000000..590171b14 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x12.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x12 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x26.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x26.java new file mode 100644 index 000000000..af9af9616 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x26.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x26 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x32.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x32.java new file mode 100644 index 000000000..2324aadd1 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x32.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x32 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x34.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x34.java new file mode 100644 index 000000000..3fe323c57 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x34.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x34 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x36.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x36.java new file mode 100644 index 000000000..8a4531e2e --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x36.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x36 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x40.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x40.java new file mode 100644 index 000000000..2909a0aca --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x40.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x40 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x42.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x42.java new file mode 100644 index 000000000..41e8a5c54 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x42.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x42 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x44.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x44.java new file mode 100644 index 000000000..b20483e78 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x44.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x44 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x46.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x46.java new file mode 100644 index 000000000..646f518e4 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x46.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x46 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x48.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x48.java new file mode 100644 index 000000000..2f30e9aea --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x48.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x48 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x52.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x52.java new file mode 100644 index 000000000..4baf35997 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x52.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x52 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x56.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x56.java new file mode 100644 index 000000000..0382ec048 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x56.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x56 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x58.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x58.java new file mode 100644 index 000000000..af8df8d18 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x58.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x58 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x60.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x60.java new file mode 100644 index 000000000..334e0dd03 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x60.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x60 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x62.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x62.java new file mode 100644 index 000000000..0cf926bfa --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x62.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x62 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x92.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x92.java new file mode 100644 index 000000000..e143f77b7 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x92.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x92 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x94.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x94.java new file mode 100644 index 000000000..003ff4d7f --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0x94.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0x94 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0xA2.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0xA2.java new file mode 100644 index 000000000..f06e2b216 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0xA2.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0xA2 extends YKCBaseMessage { +} diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0xA3.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0xA3.java new file mode 100644 index 000000000..46650a185 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/platform2device/Data0xA3.java @@ -0,0 +1,11 @@ +package com.jsowell.common.core.domain.ykc.platform2device; + +import com.jsowell.common.core.domain.ykc.YKCBaseMessage; +import lombok.Data; + +/** + * 计费模板验证请求数据 + */ +@Data +public class Data0xA3 extends YKCBaseMessage { +}