package com.clx.performance.dao.breakcontract;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.breakcontract.BreakContractSettlementOwnerMapper;
import com.clx.performance.model.breakcontract.BreakContractSettlementOwner;
import com.clx.performance.param.pc.breakcontract.carrier.CarrierBreakContractSavePayeeParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementOwnerParam;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao;
import org.apache.ibatis.annotations.Param;

/**
 * @author liruixin
 * Date 2023-10-24
 * Time 16:02
 */
public interface BreakContractSettlementOwnerDao extends BaseDao<BreakContractSettlementOwnerMapper, BreakContractSettlementOwner, Integer> {

    IPage<BreakContractSettlementOwner> pageCarrierBreakContractSettlementOwnerList(PageCarrierBreakContractSettlementOwnerParam param);

    boolean uploadInvoiceImg(@Param("id")Integer id, @Param("invoiceImg")String invoiceImg);

    boolean updateStatus(@Param("id")Integer id,@Param("from")Integer from,@Param("to")Integer to);

    boolean saveCarrierBreakContractPayee(CarrierBreakContractSavePayeeParam param);

    Optional<BreakContractSettlementOwner> getDetailBySettlementNo(@Param("settlementNo") String settlementNo);

}
