update 预约

This commit is contained in:
Guoqs
2026-06-18 15:53:59 +08:00
parent c13301a1f8
commit 69ca35a26a

View File

@@ -850,8 +850,13 @@ public class YKCPushCommandServiceImpl implements YKCPushCommandService {
byte[] chargingStrategyByteArr = BytesUtil.intToBytes(0x00, 1);
byte[] chargingParamByteArr = YKCUtils.getPriceByte(BigDecimal.ZERO.toString(), 2);
byte[] systemTimeByteArr = Cp56Time2aUtil.date2Hbyte(new Date());
byte[] reservedStartTimeByteArr = Cp56Time2aUtil.date2Hbyte(getYuxinReservedStartDate(command.getReservedStartTime()));
Date reservedStartDate = getYuxinReservedStartDate(command);
byte[] reservedStartTimeByteArr = Cp56Time2aUtil.date2Hbyte(reservedStartDate);
byte[] reservationTimeoutByteArr = BytesUtil.intToBytes(getYuxinReservationTimeout(command), 1);
log.info("羽信预约充电组包, pileSn:{}, connectorCode:{}, operation:{}, reservationType:{}, reservedStartTime:{}, reservedStartDate:{}, reservationTimeout:{}",
command.getPileSn(), command.getConnectorCode(), command.getOperation(),
BytesUtil.bin2HexStr(reservationTypeByteArr), command.getReservedStartTime(),
DateUtils.formatDateTime(reservedStartDate), getYuxinReservationTimeout(command));
return Bytes.concat(transactionCodeArr, pileSnByteArr, connectorCodeByteArr, accountBalanceByteArr,
reservationTypeByteArr, chargingStrategyByteArr, chargingParamByteArr, systemTimeByteArr,
@@ -862,9 +867,13 @@ public class YKCPushCommandServiceImpl implements YKCPushCommandService {
return command.getAmount() == null ? BigDecimal.ZERO : command.getAmount();
}
private Date getYuxinReservedStartDate(LocalTime reservedStartTime) {
private Date getYuxinReservedStartDate(ReservationChargingCommand command) {
LocalDateTime now = LocalDateTime.now();
LocalTime reservedStartTime = command.getReservedStartTime();
LocalDateTime reservedStartDateTime = now.toLocalDate().atTime(reservedStartTime);
if (StringUtils.equals(command.getOperation(), "02")) {
return DateUtils.localDateTime2Date(reservedStartDateTime);
}
if (!reservedStartDateTime.isAfter(now)) {
reservedStartDateTime = reservedStartDateTime.plusDays(1);
}