package com.clx.performance.dao.loan;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.loan.OwnerLoanRecordMapper;
import com.clx.performance.model.loan.OwnerLoanRecord;
import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerLoanRecordParam;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanRecordOfOwner;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao;

import java.util.List;


/**
 * @author kavin
 * Date 2024-01-20
 * Time 17:05
 */
public interface OwnerLoanRecordDao extends BaseDao<OwnerLoanRecordMapper, OwnerLoanRecord, Integer> {
    IPage<OwnerLoanRecord> pageOwnerLoanRecord(PageCarrierOwnerLoanRecordParam param);

    IPage<OwnerLoanRecordVO> pageByParam(PageOwnerLoanRecordOfOwner param);

    List<OwnerLoanRecord> selectLoanBalance(Long userNo);

    Optional<OwnerLoanRecord> selectByMerchantRunningWaterNo(String merchantRunningWaterNo);

    boolean updatePay(OwnerLoanRecord item);

    boolean updateStatusById(OwnerLoanRecord item);

    OwnerLoanRecord selectOneByLoanNo(Long loanNo);

    Integer updateCasLoanRecord(OwnerLoanRecord update);
}
