diff --git a/jcpp-app/src/main/java/sanbing/jcpp/app/adapter/TestController.java b/jcpp-app/src/main/java/sanbing/jcpp/app/adapter/TestController.java index b66f392..49e769d 100644 --- a/jcpp-app/src/main/java/sanbing/jcpp/app/adapter/TestController.java +++ b/jcpp-app/src/main/java/sanbing/jcpp/app/adapter/TestController.java @@ -37,6 +37,14 @@ public class TestController { return ResponseEntity.ok("success"); } + @GetMapping("/api/stopCharge") + public ResponseEntity stopCharge() { + + pileProtocolService.stopCharge("20231212000010", "01"); + + return ResponseEntity.ok("success"); + } + @GetMapping("/api/restartPile") public ResponseEntity restartPile() { diff --git a/jcpp-app/src/main/java/sanbing/jcpp/app/service/PileProtocolService.java b/jcpp-app/src/main/java/sanbing/jcpp/app/service/PileProtocolService.java index 88a135a..43b9584 100644 --- a/jcpp-app/src/main/java/sanbing/jcpp/app/service/PileProtocolService.java +++ b/jcpp-app/src/main/java/sanbing/jcpp/app/service/PileProtocolService.java @@ -78,6 +78,11 @@ public interface PileProtocolService { */ void startCharge(String pileCode, String gunCode, BigDecimal limitYuan, String orderNo); + /** + * 停止充电 + */ + void stopCharge(String pileCode, String gunCode); + /** * 重启充电 */ diff --git a/jcpp-app/src/main/java/sanbing/jcpp/app/service/impl/DefaultPileProtocolService.java b/jcpp-app/src/main/java/sanbing/jcpp/app/service/impl/DefaultPileProtocolService.java index 3326b00..921a141 100644 --- a/jcpp-app/src/main/java/sanbing/jcpp/app/service/impl/DefaultPileProtocolService.java +++ b/jcpp-app/src/main/java/sanbing/jcpp/app/service/impl/DefaultPileProtocolService.java @@ -6,8 +6,8 @@ */ package sanbing.jcpp.app.service.impl; -import com.fasterxml.jackson.databind.node.ObjectNode; import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.databind.node.ObjectNode; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -303,6 +303,27 @@ public class DefaultPileProtocolService implements PileProtocolService { downlinkCallService.sendDownlinkMessage(downlinkRequestMessageBuilder, pileCode); } + @Override + public void stopCharge(String pileCode, String gunCode) { + + 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_STOP_CHARGING.name()) + .setRemoteStopChargingRequest(RemoteStopChargingRequest.newBuilder() + .setPileCode(pileCode) + .setGunCode(gunCode) + .build()); + + downlinkCallService.sendDownlinkMessage(downlinkRequestMessageBuilder, pileCode); + } + @Override public void restartPile(String pileCode, Integer type) { diff --git a/jcpp-protocol-yunkuaichong/src/main/java/sanbing/jcpp/protocol/yunkuaichong/enums/YunKuaiChongDownlinkCmdEnum.java b/jcpp-protocol-yunkuaichong/src/main/java/sanbing/jcpp/protocol/yunkuaichong/enums/YunKuaiChongDownlinkCmdEnum.java index ce1af28..c2da910 100644 --- a/jcpp-protocol-yunkuaichong/src/main/java/sanbing/jcpp/protocol/yunkuaichong/enums/YunKuaiChongDownlinkCmdEnum.java +++ b/jcpp-protocol-yunkuaichong/src/main/java/sanbing/jcpp/protocol/yunkuaichong/enums/YunKuaiChongDownlinkCmdEnum.java @@ -44,7 +44,6 @@ public enum YunKuaiChongDownlinkCmdEnum { OFFLINE_CARD_SYNC_REQUEST(0x44), - SYNC_TIME_REQUEST(0x56), ;