package com.clx.performance.dao.loan;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.loan.OwnerLoanAccountRunningWaterRecordMapper;
import com.clx.performance.model.loan.OwnerLoanAccountRunningWaterRecord;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountWaterRecordOfOwnerParam;
import com.clx.performance.param.pc.loan.owner.PageOwnerLoanRunWaterRecordParam;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountRunningWaterRecordVO;
import com.msl.common.dao.BaseDao;

import java.util.List;

/**
 * @author kavin
 * Date 2024-01-20
 * Time 13:31
 */
public interface OwnerLoanAccountRunningWaterRecordDao extends BaseDao<OwnerLoanAccountRunningWaterRecordMapper, OwnerLoanAccountRunningWaterRecord, Integer> {

    IPage<OwnerLoanAccountRunningWaterRecordVO> pageByParam(PageOwnerLoanAccountWaterRecordOfOwnerParam param);

    IPage<OwnerLoanAccountRunningWaterRecord> pageOwnerLoanRunWaterRecord(Long userNo, PageOwnerLoanRunWaterRecordParam param);

    List<OwnerLoanAccountRunningWaterRecord> listOwnerLoanRunWaterRecord(Long userNo, PageOwnerLoanRunWaterRecordParam param);

    List<OwnerLoanAccountRunningWaterRecord> getOneByChildNoAndStatus(String childNo, Integer type);

    List<OwnerLoanAccountRunningWaterRecord> getListByChildNoAndRunningWaterType(String childNo, Integer runningWaterType);

    List<OwnerLoanAccountRunningWaterRecord> getListByChildNoAndRunningWaterType(String childNo);

    List<OwnerLoanAccountRunningWaterRecord> selectLoanRunningWatterRecord(Long loanNo);

    List<OwnerLoanAccountRunningWaterRecord> selectLoanRunningWatterRecord(Long loanNo, Integer runningWaterType);

    List<OwnerLoanAccountRunningWaterRecord> getListByChildNoAndRunningWaterType(List<String> childNoList, Integer runningWaterType);

    //单独用,别复用
    List<OwnerLoanAccountRunningWaterRecord> selectLoanRunningWatterRecordByLoanNoForRepay(Long loanNo);

}
