2024-10-08 09:38:54 +08:00
|
|
|
|
/**
|
2025-03-04 10:42:17 +08:00
|
|
|
|
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
|
|
|
|
|
* 微信:mohan_88888
|
|
|
|
|
|
* 抖音:程序员三丙
|
|
|
|
|
|
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
2024-10-08 09:38:54 +08:00
|
|
|
|
*/
|
|
|
|
|
|
package sanbing.jcpp.app.service;
|
|
|
|
|
|
|
|
|
|
|
|
import sanbing.jcpp.infrastructure.queue.Callback;
|
2025-09-12 14:40:18 +08:00
|
|
|
|
import sanbing.jcpp.proto.gen.DownlinkProto.OfflineCardBalanceUpdateRequest;
|
|
|
|
|
|
import sanbing.jcpp.proto.gen.DownlinkProto.OfflineCardSyncRequest;
|
|
|
|
|
|
import sanbing.jcpp.proto.gen.DownlinkProto.OtaRequest;
|
|
|
|
|
|
import sanbing.jcpp.proto.gen.DownlinkProto.SetPricingRequest;
|
|
|
|
|
|
import sanbing.jcpp.proto.gen.UplinkProto.UplinkQueueMessage;
|
2024-10-08 09:38:54 +08:00
|
|
|
|
|
2024-10-24 15:41:26 +08:00
|
|
|
|
import java.math.BigDecimal;
|
2025-08-25 09:26:26 +00:00
|
|
|
|
import java.time.LocalDateTime;
|
2024-10-24 15:41:26 +08:00
|
|
|
|
|
2024-10-08 09:38:54 +08:00
|
|
|
|
/**
|
2025-09-09 08:23:59 +00:00
|
|
|
|
* @author 九筒
|
2024-10-08 09:38:54 +08:00
|
|
|
|
*/
|
|
|
|
|
|
public interface PileProtocolService {
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 桩登录
|
|
|
|
|
|
*/
|
|
|
|
|
|
void pileLogin(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 充电桩心跳
|
|
|
|
|
|
*/
|
|
|
|
|
|
void heartBeat(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
|
|
|
|
|
|
2025-09-09 08:23:59 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* 处理会话关闭事件
|
|
|
|
|
|
*/
|
|
|
|
|
|
void onSessionCloseEvent(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
|
|
|
|
|
|
2024-10-08 09:38:54 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 校验计费模型
|
|
|
|
|
|
*/
|
|
|
|
|
|
void verifyPricing(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 查询计费策略
|
|
|
|
|
|
*/
|
|
|
|
|
|
void queryPricing(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 上报电桩运行状态
|
|
|
|
|
|
*/
|
|
|
|
|
|
void postGunRunStatus(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 上报充电进度
|
|
|
|
|
|
*/
|
|
|
|
|
|
void postChargingProgress(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 费率下发反馈
|
|
|
|
|
|
*/
|
|
|
|
|
|
void onSetPricingResponse(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 远程启动反馈
|
|
|
|
|
|
*
|
|
|
|
|
|
*/
|
|
|
|
|
|
void onRemoteStartChargingResponse(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 远程停止反馈
|
|
|
|
|
|
*/
|
|
|
|
|
|
void onRemoteStopChargingResponse(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 交易记录上报
|
|
|
|
|
|
*/
|
2025-08-18 15:16:25 +08:00
|
|
|
|
void onTransactionRecordRequest(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
2024-10-24 15:41:26 +08:00
|
|
|
|
|
2025-09-12 05:44:33 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* 充电桩主动申请启动充电
|
|
|
|
|
|
*/
|
|
|
|
|
|
void onStartChargeRequest(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
|
|
|
|
|
|
2024-10-24 15:41:26 +08:00
|
|
|
|
/**
|
2025-08-25 14:04:25 +00:00
|
|
|
|
* 启动充电(支持卡号和并充序号)
|
|
|
|
|
|
* 当 parallelNo 不为空时,自动使用并充启机命令
|
2024-10-24 15:41:26 +08:00
|
|
|
|
*/
|
2025-09-09 08:23:59 +00:00
|
|
|
|
void startCharge(String pileCode, String gunCode, BigDecimal limitYuan, String orderNo,
|
|
|
|
|
|
String logicalCardNo, String physicalCardNo, String parallelNo);
|
2025-04-14 20:54:20 +08:00
|
|
|
|
|
2025-08-25 09:39:23 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* 停止充电
|
|
|
|
|
|
*/
|
|
|
|
|
|
void stopCharge(String pileCode, String gunCode);
|
|
|
|
|
|
|
2025-08-05 11:24:13 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* 重启充电
|
|
|
|
|
|
*/
|
|
|
|
|
|
void restartPile(String pileCode, Integer type);
|
|
|
|
|
|
|
2025-04-14 20:54:20 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 下发计费
|
|
|
|
|
|
*/
|
|
|
|
|
|
void setPricing(String pileCode, SetPricingRequest setPricingRequest);
|
2025-08-01 03:00:50 +00:00
|
|
|
|
|
2025-08-01 06:36:31 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* 充电桩与 BMS 充电错误上报
|
|
|
|
|
|
*/
|
|
|
|
|
|
void onBmsChargingErrorProto(UplinkQueueMessage uplinkQueueMsg, Callback callback);
|
|
|
|
|
|
|
2025-08-01 03:00:50 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* 充电桩与 BMS 参数配置阶段报文
|
|
|
|
|
|
*/
|
|
|
|
|
|
void onBmsParamConfigReport(UplinkQueueMessage uplinkQueueMsg, Callback callback);
|
2025-08-01 07:20:12 +00:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 充电过程BMS信息
|
|
|
|
|
|
*/
|
|
|
|
|
|
void onBmsCharingInfo(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
2025-08-05 07:32:39 +00:00
|
|
|
|
|
2025-08-05 11:24:13 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* 远程重启反馈
|
|
|
|
|
|
*/
|
|
|
|
|
|
void onRestartPileResponse(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
|
|
|
|
|
|
2025-08-05 07:32:39 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* 充电阶段BMS中止
|
|
|
|
|
|
*/
|
2025-08-21 14:31:22 +08:00
|
|
|
|
void postBmsAbort(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
2025-08-05 07:32:39 +00:00
|
|
|
|
|
2025-08-07 23:03:18 +08:00
|
|
|
|
/**
|
2025-09-09 08:23:59 +00:00
|
|
|
|
* 远程更新
|
2025-08-13 10:47:49 +00:00
|
|
|
|
*/
|
2025-09-09 08:23:59 +00:00
|
|
|
|
void otaRequest(OtaRequest request);
|
2025-08-13 10:47:49 +00:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 远程更新应答
|
|
|
|
|
|
*/
|
2025-08-13 20:02:41 +08:00
|
|
|
|
void onOtaResponse(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
2025-08-13 10:47:49 +00:00
|
|
|
|
|
2025-08-20 11:37:38 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* 处理BMS握手信息
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param uplinkQueueMessage 上行消息
|
|
|
|
|
|
* @param callback 回调
|
2025-08-07 23:03:18 +08:00
|
|
|
|
*/
|
2025-08-21 14:31:22 +08:00
|
|
|
|
void postBmsHandshake(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
2025-08-07 23:03:18 +08:00
|
|
|
|
|
2025-08-20 11:37:38 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* 处理地锁状态信息
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param uplinkQueueMessage 上行消息
|
|
|
|
|
|
* @param callback 回调
|
|
|
|
|
|
*/
|
2025-08-21 14:31:22 +08:00
|
|
|
|
void postLockStatus(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
2025-08-20 11:37:38 +00:00
|
|
|
|
|
2025-08-25 03:05:54 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* 远程账户余额更新
|
|
|
|
|
|
*/
|
2025-08-25 11:44:58 +08:00
|
|
|
|
void offlineCardBalanceUpdateRequest(OfflineCardBalanceUpdateRequest request);
|
2025-08-25 03:05:54 +00:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 远程账户余额更新应答
|
|
|
|
|
|
*/
|
2025-08-25 11:44:58 +08:00
|
|
|
|
void onOfflineCardBalanceUpdateResponse(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
2025-08-25 03:05:54 +00:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 离线卡数据同步
|
|
|
|
|
|
*/
|
2025-08-25 11:44:58 +08:00
|
|
|
|
void offlineCardSyncRequest(OfflineCardSyncRequest request);
|
2025-08-25 03:05:54 +00:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 离线卡数据同步应答
|
|
|
|
|
|
*/
|
|
|
|
|
|
void onOfflineCardSyncResponse(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
2025-08-25 14:04:25 +00:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 实时同步桩时间
|
|
|
|
|
|
*/
|
2025-08-25 09:26:26 +00:00
|
|
|
|
void timeSync(String pileCode, LocalDateTime time);
|
|
|
|
|
|
|
2025-08-25 14:04:25 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* 实时同步桩时间应答
|
|
|
|
|
|
*/
|
|
|
|
|
|
void onTimeSyncResponse(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
2025-08-25 09:26:26 +00:00
|
|
|
|
|
2025-09-09 08:23:59 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* 充电过程BMS需求与充电机输出
|
|
|
|
|
|
*/
|
|
|
|
|
|
void postBmsDemandChargerOutput(UplinkQueueMessage uplinkQueueMessage, Callback callback);
|
|
|
|
|
|
|
2024-10-08 09:38:54 +08:00
|
|
|
|
}
|