!15 增加0x92远程重启和0x91远程重启应答

* Merge remote-tracking branch 'refs/remotes/upstream/master' into maste…
* 0x92远程重启和0x91远程重启应答
* 0x92远程重启和0x91远程重启应答测试
* 0x92远程重启和0x91远程重启应答
This commit is contained in:
红中
2025-08-05 11:24:13 +00:00
committed by 三丙
parent b225cadde9
commit 5c2c718d34
10 changed files with 189 additions and 1 deletions

View File

@@ -33,6 +33,14 @@ public class TestController {
return ResponseEntity.ok("success");
}
@GetMapping("/api/reStartCharge")
public ResponseEntity<String> reStartCharge() {
pileProtocolService.restartPile("20231212000010", 1);
return ResponseEntity.ok("success");
}
@GetMapping("/api/setPricing")
public ResponseEntity<String> setPricing() {

View File

@@ -74,6 +74,12 @@ public interface PileProtocolService {
*/
void startCharge(String pileCode, String gunCode, BigDecimal limitYuan, String orderNo);
/**
* 重启充电
*/
void restartPile(String pileCode, Integer type);
/**
* 下发计费
*/
@@ -94,6 +100,12 @@ public interface PileProtocolService {
*/
void onBmsCharingInfo(UplinkQueueMessage uplinkQueueMessage, Callback callback);
/**
* 远程重启反馈
*/
void onRestartPileResponse(UplinkQueueMessage uplinkQueueMessage, Callback callback);
/**
* 充电阶段BMS中止
*/

View File

@@ -297,6 +297,28 @@ public class DefaultPileProtocolService implements PileProtocolService {
downlinkCallService.sendDownlinkMessage(downlinkRequestMessageBuilder, pileCode);
}
@Override
public void restartPile(String pileCode, Integer type) {
UUID messageId = UUID.randomUUID();
UUID requestId = UUID.randomUUID();
DownlinkRequestMessage.Builder downlinkRequestMessageBuilder = DownlinkRequestMessage.newBuilder()
.setMessageIdMSB(messageId.getMostSignificantBits())
.setMessageIdLSB(messageId.getLeastSignificantBits())
.setPileCode(pileCode)
.setRequestIdMSB(requestId.getMostSignificantBits())
.setRequestIdLSB(requestId.getLeastSignificantBits())
.setDownlinkCmd(DownlinkCmdEnum.REMOTE_RE_START_CHARGING.name())
.setRestartPileRequest(RestartPileRequest.newBuilder()
.setPileCode(pileCode)
.setType(type)
.build());
downlinkCallService.sendDownlinkMessage(downlinkRequestMessageBuilder, pileCode);
}
@Override
public void setPricing(String pileCode, SetPricingRequest setPricingRequest) {
UUID messageId = UUID.randomUUID();
@@ -347,6 +369,15 @@ public class DefaultPileProtocolService implements PileProtocolService {
callback.onSuccess();
}
@Override
public void onRestartPileResponse(UplinkQueueMessage uplinkQueueMessage, Callback callback) {
log.info("接收到充电桩重启结果反馈 {}", uplinkQueueMessage);
// TODO 处理相关业务逻辑
callback.onSuccess();
}
private static Period createPeriod(int sn, LocalTime beginTime, LocalTime endTime, PricingModelFlag flag) {
Period period = new Period();
period.setSn(sn);

View File

@@ -208,6 +208,10 @@ public class ProtocolUplinkConsumerService extends AbstractConsumerService imple
pileProtocolService.onBmsAbort(uplinkQueueMsg, callback);
} else if (uplinkQueueMsg.hasRestartPileResponse()) {
pileProtocolService.onRestartPileResponse(uplinkQueueMsg, callback);
} else {
callback.onSuccess();