package com.jsowell.pile.service;

import com.jsowell.pile.domain.ykcCommond.*;

/**
 * 云快充协议，向充电桩发送命令service
 */
public interface YKCPushCommandService {

    /**
     * 发送启动充电指令
     * @param startChargingCommand
     */
    void pushStartChargingCommand(StartChargingCommand startChargingCommand);

    /**
     * 发送停止充电指令
     * @param stopChargingCommand
     */
    void pushStopChargingCommand(StopChargingCommand stopChargingCommand);

    /**
     * 读取实时监测数据命令
     * @param command
     */
    void pushGetRealTimeMonitorDataCommand(GetRealTimeMonitorDataCommand command);

    /**
     * 发送重启指令
     * @param command
     */
    void pushRebootCommand(RebootCommand command);

    /**
     * 发送下发二维码命令
     * @param command
     */
    void pushIssueQRCodeCommand(IssueQRCodeCommand command);

    /**
     * 发送对时命令
     * @param command
     */
    void pushProofreadTimeCommand(ProofreadTimeCommand command);

    /**
     * 下发计费模板命令
     * @param command
     */
    void pushPublishPileBillingTemplate(PublishPileBillingTemplateCommand command);

    /**
     * 发送远程更新命令
     * @param command
     */
    void pushUpdateFileCommand(UpdateFirmwareCommand command);

    /**
     * 发送充电桩设置命令
     */
    void pushPileSettingCommand(PileSettingCommand command);

    /**
     * 平台査询工作参数
     * @param command
     */
    void pushQueryWorkParamsCommand(QueryWorkParamsCommand command);
}
