绿能3.4 修正绿能的对时下发

This commit is contained in:
三丙
2025-08-21 14:31:22 +08:00
parent 249d25576f
commit 361c00687a
4 changed files with 12 additions and 18 deletions

View File

@@ -75,7 +75,6 @@ public interface PileProtocolService {
*/ */
void startCharge(String pileCode, String gunCode, BigDecimal limitYuan, String orderNo); void startCharge(String pileCode, String gunCode, BigDecimal limitYuan, String orderNo);
/** /**
* 重启充电 * 重启充电
*/ */
@@ -106,11 +105,10 @@ public interface PileProtocolService {
*/ */
void onRestartPileResponse(UplinkQueueMessage uplinkQueueMessage, Callback callback); void onRestartPileResponse(UplinkQueueMessage uplinkQueueMessage, Callback callback);
/** /**
* 充电阶段BMS中止 * 充电阶段BMS中止
*/ */
void onBmsAbort(UplinkQueueMessage uplinkQueueMessage, Callback callback); void postBmsAbort(UplinkQueueMessage uplinkQueueMessage, Callback callback);
/** /**
* 远程更新 * 远程更新
@@ -128,7 +126,7 @@ public interface PileProtocolService {
* @param uplinkQueueMessage 上行消息 * @param uplinkQueueMessage 上行消息
* @param callback 回调 * @param callback 回调
*/ */
void onBmsHandshake(UplinkQueueMessage uplinkQueueMessage, Callback callback); void postBmsHandshake(UplinkQueueMessage uplinkQueueMessage, Callback callback);
/** /**
* 处理地锁状态信息 * 处理地锁状态信息
@@ -136,6 +134,6 @@ public interface PileProtocolService {
* @param uplinkQueueMessage 上行消息 * @param uplinkQueueMessage 上行消息
* @param callback 回调 * @param callback 回调
*/ */
void onLockStatus(UplinkQueueMessage uplinkQueueMessage, Callback callback); void postLockStatus(UplinkQueueMessage uplinkQueueMessage, Callback callback);
} }

View File

@@ -346,7 +346,7 @@ public class DefaultPileProtocolService implements PileProtocolService {
log.info("充电桩与 BMS 充电错误上报 {}", uplinkQueueMessage); log.info("充电桩与 BMS 充电错误上报 {}", uplinkQueueMessage);
} }
public void onBmsAbort(UplinkQueueMessage uplinkQueueMessage, Callback callback) { public void postBmsAbort(UplinkQueueMessage uplinkQueueMessage, Callback callback) {
log.info("接收到充电阶段BMS中止报文 {}", uplinkQueueMessage); log.info("接收到充电阶段BMS中止报文 {}", uplinkQueueMessage);
// TODO 处理相关业务逻辑 // TODO 处理相关业务逻辑
callback.onSuccess(); callback.onSuccess();
@@ -412,7 +412,7 @@ public class DefaultPileProtocolService implements PileProtocolService {
} }
@Override @Override
public void onBmsHandshake(UplinkQueueMessage uplinkQueueMessage, Callback callback) { public void postBmsHandshake(UplinkQueueMessage uplinkQueueMessage, Callback callback) {
log.info("接收到BMS充电握手信息 {}", uplinkQueueMessage); log.info("接收到BMS充电握手信息 {}", uplinkQueueMessage);
BmsHandshakeProto bmsHandshakeProto = uplinkQueueMessage.getBmsHandshakeProto(); BmsHandshakeProto bmsHandshakeProto = uplinkQueueMessage.getBmsHandshakeProto();
String tradeNo = bmsHandshakeProto.getTradeNo(); String tradeNo = bmsHandshakeProto.getTradeNo();
@@ -435,7 +435,7 @@ public class DefaultPileProtocolService implements PileProtocolService {
} }
@Override @Override
public void onLockStatus(UplinkQueueMessage uplinkQueueMessage, Callback callback) { public void postLockStatus(UplinkQueueMessage uplinkQueueMessage, Callback callback) {
log.info("接收到地锁状态信息 {}", uplinkQueueMessage); log.info("接收到地锁状态信息 {}", uplinkQueueMessage);
GroundLockStatusProto groundLockStatusProto = uplinkQueueMessage.getGroundLockStatusProto(); GroundLockStatusProto groundLockStatusProto = uplinkQueueMessage.getGroundLockStatusProto();
String pileCode = groundLockStatusProto.getPileCode(); String pileCode = groundLockStatusProto.getPileCode();

View File

@@ -206,7 +206,7 @@ public class ProtocolUplinkConsumerService extends AbstractConsumerService imple
} else if (uplinkQueueMsg.hasBmsAbortProto()) { } else if (uplinkQueueMsg.hasBmsAbortProto()) {
pileProtocolService.onBmsAbort(uplinkQueueMsg, callback); pileProtocolService.postBmsAbort(uplinkQueueMsg, callback);
} else if (uplinkQueueMsg.hasRestartPileResponse()) { } else if (uplinkQueueMsg.hasRestartPileResponse()) {
@@ -214,15 +214,15 @@ public class ProtocolUplinkConsumerService extends AbstractConsumerService imple
} else if (uplinkQueueMsg.hasBmsHandshakeProto()) { } else if (uplinkQueueMsg.hasBmsHandshakeProto()) {
pileProtocolService.onBmsHandshake(uplinkQueueMsg, callback); pileProtocolService.postBmsHandshake(uplinkQueueMsg, callback);
} else if (uplinkQueueMsg.hasOtaResponse()) { } else if (uplinkQueueMsg.hasOtaResponse()) {
pileProtocolService.onOtaResponse(uplinkQueueMsg, callback); pileProtocolService.onOtaResponse(uplinkQueueMsg, callback);
} else if (uplinkQueueMsg.hasGroundLockStatusProto()) { } else if (uplinkQueueMsg.hasGroundLockStatusProto()) {
pileProtocolService.onLockStatus(uplinkQueueMsg, callback); pileProtocolService.postLockStatus(uplinkQueueMsg, callback);
} else { } else {

View File

@@ -11,7 +11,6 @@ import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled; import io.netty.buffer.Unpooled;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import sanbing.jcpp.infrastructure.util.codec.BCDUtil; import sanbing.jcpp.infrastructure.util.codec.BCDUtil;
import sanbing.jcpp.infrastructure.util.codec.CP56Time2aUtil;
import sanbing.jcpp.infrastructure.util.jackson.JacksonUtil; import sanbing.jcpp.infrastructure.util.jackson.JacksonUtil;
import sanbing.jcpp.infrastructure.util.mdc.MDCUtils; import sanbing.jcpp.infrastructure.util.mdc.MDCUtils;
import sanbing.jcpp.infrastructure.util.trace.TracerContextUtil; import sanbing.jcpp.infrastructure.util.trace.TracerContextUtil;
@@ -108,11 +107,8 @@ public class LvnengV340LoginAckDLCmd extends LvnengDownlinkCmdExe {
TracerContextUtil.newTracer(); TracerContextUtil.newTracer();
MDCUtils.recordTracer(); MDCUtils.recordTracer();
log.info("{} 绿能3.4开始下发对时报文", tcpSession); log.info("{} 绿能3.4开始下发对时报文", tcpSession);
ByteBuf syncTimeMsgBody = Unpooled.buffer(14);
syncTimeMsgBody.writeBytes(pileCodeBytes);
syncTimeMsgBody.writeBytes(CP56Time2aUtil.encode(LocalDateTime.now()));
ByteBuf msgBodyBuf = Unpooled.buffer(); ByteBuf msgBodyBuf = Unpooled.buffer(20);
// 预留1 // 预留1
msgBodyBuf.writeShortLE(0); msgBodyBuf.writeShortLE(0);
// 预留1 // 预留1
@@ -128,7 +124,7 @@ public class LvnengV340LoginAckDLCmd extends LvnengDownlinkCmdExe {
encodeAndWriteFlush(SYNC_TIME, encodeAndWriteFlush(SYNC_TIME,
tcpSession.nextSeqNo(SequenceNumberLength.SHORT), tcpSession.nextSeqNo(SequenceNumberLength.SHORT),
requestData.getEncryptionFlag(), requestData.getEncryptionFlag(),
syncTimeMsgBody, msgBodyBuf,
tcpSession); tcpSession);
} }