package com.jwipc.finance.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jwipc.finance.entity.PaymentAdvanceRefundTransferApplyDetail;
import com.jwipc.finance.model.po.PaymentAdvanceRefundTransferApplyDetailPO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author qzc
 * @since 2025-07-21
 */
public interface PaymentAdvanceRefundTransferApplyDetailMapper extends BaseMapper<PaymentAdvanceRefundTransferApplyDetail> {

    List<PaymentAdvanceRefundTransferApplyDetailPO> findRefundTransferApplyDetailByRefundId(@Param("applyId") Long applyId );

    List<PaymentAdvanceRefundTransferApplyDetail> findByAppId(@Param("appId")Long appId);

    void delDetailByApplyId(@Param("applyIdList") List<Long> applyIdList);

    List<PaymentAdvanceRefundTransferApplyDetail> findRefundTransferApplyDetailByDateKey(@Param("dataKeys")List<String> dataKeys);


    List<PaymentAdvanceRefundTransferApplyDetail> findRefundTransferApplyDetailByChangeId(@Param("changeIds")List<Long> changeIds);


    List<PaymentAdvanceRefundTransferApplyDetail> findRefundTransferApplyDetailByReferOrderKey(@Param("dataKeys")List<String> dataKeys);

    List<PaymentAdvanceRefundTransferApplyDetail> findRefundTransferApplyDetailSumRefundAmountByDateKey(@Param("prepaymentKeyword")List<String> prepaymentKeyword);

    List<PaymentAdvanceRefundTransferApplyDetail> findRefundTransferApplyDetailDateKey(@Param("dataType") Integer dataType, @Param("prepaymentKeyword")List<String> prepaymentKeyword,@Param("dataKeys")List<String> dataKeys);

    List<PaymentAdvanceRefundTransferApplyDetail> findRefundTransferApplyDataTypeInfoByDateKey(@Param("dataKeys")List<String> dataKeys);

    List<PaymentAdvanceRefundTransferApplyDetail> findRefundTransferApplyDataTypeInfoByPoCodeAndItem(@Param("poCodeAndItem")List<String> poCodeAndItem);

    List<PaymentAdvanceRefundTransferApplyDetail> findRefundTApplyDataByPoCodeAndItemDateKey(@Param("dataKeys")List<String> dataKeys);
}
