package com.clx.performance.service.settle;

import com.clx.performance.model.settle.SettlementDriverDetail;
import com.clx.performance.vo.mq.*;
import com.clx.performance.vo.mq.settle.*;

public interface SettlementMqHandlerService {

    void settlementDetailAdd(SettlementDetailAddMqParam mq);

    void settlementStatistics(SettlementStatisticsMqParam mq);
    void settlementDriverSettlement(SettlementDriverSettleMqParam mq);

    void settle(SettlementSettleMqParam mq);

    void invoiceTypeSync(SettlementInvoiceTypeSyncMqParam mq);
    void driverPayAcceptSync(SettlementDriverPayAcceptSyncMqParam mq);

    void invoiceStatusSync(SettlementInvoiceStatusSyncMqParam mq);

    void payStatusSync(SettlementPayStatusSyncMqParam mq);

    void settlementDriverNotify(String childNo,Integer payType,String payErrorMsg);

    String paySettlementDriver(SettlementDriverDetail detail);

    String settlementNoGenerate();

    void riskAdd(SettlementOrderChildRiskAddMqParam mq);
    void riskProcess(SettlementOrderChildRiskProcessMqParam mq);

    void invoiceCompanyUpdate(SettlementOwnerDetialInvoiceCompanyUpdateMqParam mq);

    void settlementPlatformAutoConfirm(SettlementPlatformAutoConfirmMqParam mq);

    void settlementInvoiceStatusUpdate(SettlementInvoiceStatusUpdateMqParam mq);

    void settlementDriverConfirm(SettlementDriverConfirmMqParam mq);

    void settlementOrderChildBrokerSync(OrderChildBrokerSyncMqParam mq);

}
