package com.clx.performance.service.breakcontract;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.model.OrderChild;
import com.clx.performance.param.app.breakcontract.DriverPageBreakContractDriverRecordParam;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractDriverRecordAddParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractDriverRecordParam;
import com.clx.performance.vo.app.breakcontract.DriverBreakContractDriverRecordVO;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractDriverRecordVO;

import java.math.BigDecimal;

/**
 * @author liruixin
 * Date 2023-10-24
 * Time 16:02
 */
public interface BreakContractDriverRecordService  {

    void saveRecord(BreakContractDriverRecordAddParam param);

    IPage<BreakContractDriverRecordVO> pageRecord(PageBreakContractDriverRecordParam param);

    IPage<DriverBreakContractDriverRecordVO> driverPageRecord(DriverPageBreakContractDriverRecordParam param);

    String breakNoGenerate();

    void saveDriverRecordOfOrderChildCancel(OrderChild orderChild, Long createBy, String createName);

    void saveDriverRecordOfArriveSendAddressTimeout(OrderChild orderChild, Long createBy, String createName);

    void saveDriverRecordOfArriveReceiveAddress(OrderChild orderChild, Long createBy, String createName);


    BigDecimal getBreakContractFigure(String childNo);

    Integer getChildTruckDemand(String childNo);

    Integer getShowBreakContractRed();

    void updateBreakContractRead();
}
