package com.clx.performance.dao.breakcontract;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.breakcontract.BreakContractDriverRecordMapper;
import com.clx.performance.model.breakcontract.BreakContractDriverRecord;
import com.clx.performance.param.app.breakcontract.DriverPageBreakContractDriverRecordParam;
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 com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao;

import java.time.LocalDateTime;

/**
 * @author liruixin
 * Date 2023-10-24
 * Time 16:02
 */
public interface BreakContractDriverRecordDao extends BaseDao<BreakContractDriverRecordMapper, BreakContractDriverRecord, Integer> {

    boolean updateSettlementNo(BreakContractDriverRecord item);

    Optional<BreakContractDriverRecord> selectLastLimitTimeByDriverUserNo(Long driverUserNo, LocalDateTime time);

    IPage<BreakContractDriverRecordVO> pageByParam(PageBreakContractDriverRecordParam param);
    IPage<DriverBreakContractDriverRecordVO> driverPageByParam(DriverPageBreakContractDriverRecordParam param);

    Long getShowBreakContractRed(Long userNo);

    void updateBreakContractRead(Long userNo);
}
