新增 宁波点行平台Service

This commit is contained in:
Lemon
2024-05-13 11:00:16 +08:00
parent 09a32ab467
commit 60039af78c
5 changed files with 90 additions and 31 deletions

View File

@@ -120,25 +120,39 @@ public class CRC16Util {
// 测试
public static void main(String[] args) {
// 序列号域
byte[] serialNumber = BytesUtil.str2Bcd("3c40");
// // 序列号域
// byte[] serialNumber = BytesUtil.str2Bcd("3c40");
//
// // 加密标志
// byte[] encryptFlag = BytesUtil.str2Bcd("00");
//
// // 帧类型标志
// byte[] frameType = BytesUtil.str2Bcd("03");
//
// // 消息体
// byte[] msgBody = BytesUtil.str2Bcd("880000000000270100");
//
// byte[] data = Bytes.concat(serialNumber, encryptFlag, frameType, msgBody);
//
// String old_crc = String.format("%04x", CRC16Util.calcCrc16Old(data));
// String crc = String.format("%04x", CRC16Util.calcCrc16(data));
// 加密标志
byte[] encryptFlag = BytesUtil.str2Bcd("00");
// System.out.println("old_低位在前高位在后:" + old_crc);
// System.out.println("new_低位在前高位在后:" + crc);
// 帧类型标志
byte[] frameType = BytesUtil.str2Bcd("03");
// 获取 年月日 日期
String dateStr = DateUtils.dateTimeNow(DateUtils.YYMMDD);
int dateInt = Integer.parseInt(dateStr);
// 将年月日加上 160829
String data = String.valueOf(dateInt + 160829);
byte[] bytes = BytesUtil.str2Bcd(data);
// crc16加密
String crc = String.format("%04x", CRC16Util.calcCrc16(bytes));
System.out.println(crc);
// 将16进制转成10进制
int i = Integer.parseInt(crc, 16);
System.out.println(i);
// 消息体
byte[] msgBody = BytesUtil.str2Bcd("880000000000270100");
byte[] data = Bytes.concat(serialNumber, encryptFlag, frameType, msgBody);
String old_crc = String.format("%04x", CRC16Util.calcCrc16Old(data));
String crc = String.format("%04x", CRC16Util.calcCrc16(data));
System.out.println("old_低位在前高位在后:" + old_crc);
System.out.println("new_低位在前高位在后:" + crc);
}
/**