update 解析VIN

This commit is contained in:
Guoqs
2025-12-11 18:15:40 +08:00
parent 0d5b230650
commit ef8e55afde
3 changed files with 9 additions and 4 deletions

View File

@@ -19,6 +19,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@@ -328,7 +329,8 @@ public class YKCUtils {
* 解析vin
*/
public static String parseVin(byte[] vinCodeByteArr) {
return BytesUtil.ascii2Str(vinCodeByteArr);
// return BytesUtil.ascii2Str(vinCodeByteArr);
return new String(vinCodeByteArr, StandardCharsets.US_ASCII);
}
/**

View File

@@ -118,7 +118,8 @@ public class ConfirmStartChargingRequestHandler extends AbstractYkcHandler {
startIndex += length;
length = 17;
byte[] vinCodeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String vinCode = BytesUtil.ascii2StrLittle(vinCodeByteArr);
// String vinCode = BytesUtil.ascii2StrLittle(vinCodeByteArr);
String vinCode = YKCUtils.parseVin(vinCodeByteArr);
ConfirmStartChargingData confirmStartChargingData = ConfirmStartChargingData.builder()
.pileSn(pileSn)
@@ -183,7 +184,8 @@ public class ConfirmStartChargingRequestHandler extends AbstractYkcHandler {
startIndex += length;
length = 17;
byte[] vinCodeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String vinCode = BytesUtil.ascii2StrLittle(vinCodeByteArr).replaceAll("\\u0000", "");
// String vinCode = BytesUtil.ascii2StrLittle(vinCodeByteArr).replaceAll("\\u0000", "");
String vinCode = YKCUtils.parseVin(vinCodeByteArr);
ConfirmStartChargingData confirmStartChargingData = ConfirmStartChargingData.builder()
.pileSn(pileSn)

View File

@@ -111,7 +111,8 @@ public class ConfirmStartChargingStrategy implements AbstractYkcStrategy {
startIndex += length;
length = 17;
byte[] vinCodeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String vinCode = BytesUtil.ascii2StrLittle(vinCodeByteArr);
// String vinCode = BytesUtil.ascii2StrLittle(vinCodeByteArr);
String vinCode = YKCUtils.parseVin(vinCodeByteArr);
ConfirmStartChargingData confirmStartChargingData = ConfirmStartChargingData.builder()
.pileSn(pileSn)