!27 Merge branch 'master' into Feat_远程账户余额更新

* 离线卡数据同步(0x44) 离线卡数据同步应答(0x43)
* Merge branch 'master' into Feat_远程账户余额更新
* 离线卡数据同步(0x44) 离线卡数据同步应答(0x43)
* 下发卡个数 参数校验
* Merge branch 'master' into Feat_远程账户余额更新
* 离线卡数据同步(0x44)  离线卡数据同步应答(0x43)
* 远程账户余额更新(0x42)  余额更新应答(0x41)
This commit is contained in:
八万
2025-08-25 03:05:54 +00:00
committed by 三丙
parent 361c00687a
commit 6a8157e179
15 changed files with 495 additions and 14 deletions

View File

@@ -136,4 +136,23 @@ public interface PileProtocolService {
*/
void postLockStatus(UplinkQueueMessage uplinkQueueMessage, Callback callback);
/**
* 远程账户余额更新
*/
void limitUpdateRequest(ProtocolProto.LimitUpdateRequest request);
/**
* 远程账户余额更新应答
*/
void onLimitUpdateResponse(UplinkQueueMessage uplinkQueueMessage, Callback callback);
/**
* 离线卡数据同步
*/
void offlineCardSyncRequest(ProtocolProto.OfflineCardSyncRequest request);
/**
* 离线卡数据同步应答
*/
void onOfflineCardSyncResponse(UplinkQueueMessage uplinkQueueMessage, Callback callback);
}

View File

@@ -444,12 +444,63 @@ public class DefaultPileProtocolService implements PileProtocolService {
int parkStatus = groundLockStatusProto.getParkStatus();
int lockBattery = groundLockStatusProto.getLockBattery();
int alarmStatus = groundLockStatusProto.getAlarmStatus();
log.info("地锁状态信息: 桩编码: {}, 枪号: {}, 车位锁状态: {}, 车位状态: {}, 地锁电量: {}%, 报警状态: {}",
log.info("地锁状态信息: 桩编码: {}, 枪号: {}, 车位锁状态: {}, 车位状态: {}, 地锁电量: {}%, 报警状态: {}",
pileCode, gunCode, lockStatus, parkStatus, lockBattery, alarmStatus);
// TODO 处理相关业务逻辑,比如保存地锁状态信息到数据库
callback.onSuccess();
}
@Override
public void onLimitUpdateResponse(UplinkQueueMessage uplinkQueueMessage, Callback callback) {
log.info("接收到充电桩远程账户余额更新应答 {}", uplinkQueueMessage);
// TODO 处理相关业务逻辑
callback.onSuccess();
}
@Override
public void limitUpdateRequest(LimitUpdateRequest request) {
UUID messageId = UUID.randomUUID();
UUID requestId = UUID.randomUUID();
DownlinkRequestMessage.Builder downlinkRequestMessageBuilder = DownlinkRequestMessage.newBuilder()
.setMessageIdMSB(messageId.getMostSignificantBits())
.setMessageIdLSB(messageId.getLeastSignificantBits())
.setPileCode(request.getPileCode())
.setRequestIdMSB(requestId.getMostSignificantBits())
.setRequestIdLSB(requestId.getLeastSignificantBits())
.setDownlinkCmd(DownlinkCmdEnum.LIMIT_UPDATE_REQUEST.name())
.setLimitUpdateRequest(request);
downlinkCallService.sendDownlinkMessage(downlinkRequestMessageBuilder,request.getPileCode());
}
@Override
public void offlineCardSyncRequest(OfflineCardSyncRequest request) {
UUID messageId = UUID.randomUUID();
UUID requestId = UUID.randomUUID();
DownlinkRequestMessage.Builder downlinkRequestMessageBuilder = DownlinkRequestMessage.newBuilder()
.setMessageIdMSB(messageId.getMostSignificantBits())
.setMessageIdLSB(messageId.getLeastSignificantBits())
.setPileCode(request.getPileCode())
.setRequestIdMSB(requestId.getMostSignificantBits())
.setRequestIdLSB(requestId.getLeastSignificantBits())
.setDownlinkCmd(DownlinkCmdEnum.OFFLINE_CARD_SYNC_REQUEST.name())
.setOfflineCardSyncRequest(request);
downlinkCallService.sendDownlinkMessage(downlinkRequestMessageBuilder,request.getPileCode());
}
@Override
public void onOfflineCardSyncResponse(UplinkQueueMessage uplinkQueueMessage, Callback callback) {
log.info("接收到充电桩离线卡数据同步应答 {}", uplinkQueueMessage);
// TODO 处理相关业务逻辑
callback.onSuccess();
}

View File

@@ -223,7 +223,15 @@ public class ProtocolUplinkConsumerService extends AbstractConsumerService imple
} else if (uplinkQueueMsg.hasGroundLockStatusProto()) {
pileProtocolService.postLockStatus(uplinkQueueMsg, callback);
} else if (uplinkQueueMsg.hasLimitUpdateResponse()) {
pileProtocolService.onLimitUpdateResponse(uplinkQueueMsg, callback);
} else if (uplinkQueueMsg.hasOfflineCardSyncResponse()) {
pileProtocolService.onOfflineCardSyncResponse(uplinkQueueMsg, callback);
} else {
callback.onSuccess();