/**
 * @filename:!BillingDisbursementService 2024-10-28
 * @project KJT v1.1.0 Copyright(c) 2024 wanglang Co. Ltd. All right reserved.
 */
package com.trade.service.finance.disbursement.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.trade.common.core.page.GridPage;
import com.trade.service.finance.disbursement.domain.BillingDisbursement;
import com.trade.service.finance.disbursement.dto.DisbursementSearchDto;
import com.trade.service.finance.disbursement.dto.ExportTaxRefundSelfDto;
import com.trade.service.finance.disbursement.dto.ReceivePaymentSearchDto;
import com.trade.service.finance.disbursement.vo.BillingDisbursementPageVo;
import com.trade.service.finance.disbursement.vo.ReceivePaymentPageVo;
import com.trade.service.finance.paymentcollection.domain.OrderIncomeAssociation;

import java.util.List;

/**
 * @Description:出账表服务层
 * @version: v1.1.0
 * @author: wanglang
 */
public interface BillingDisbursementService extends IService<BillingDisbursement> {

    /**
     * 分页查询
     *
     * @param searchDto
     * @return GridPage<BillingDisbursementPageVo>
     */
    GridPage<BillingDisbursementPageVo> queryListByPage(DisbursementSearchDto searchDto);

    /**
     * 分页查询 C端
     *
     * @param searchDto
     * @return
     */
    List<ReceivePaymentPageVo> queryPageForCustomer(ReceivePaymentSearchDto searchDto);

    /**
     * 保存自营的出口退税信息
     * 
     * @param selfDtos
     * @return true/false
     */
    boolean saveSelfTaxRefund(List<ExportTaxRefundSelfDto> selfDtos);

    /**
     * 保存订单入账信息
     * 
     * @param orderIncomeAssociation 订单入账信息
     * @return Long
     */
    Long saveOrderDisbursement(OrderIncomeAssociation orderIncomeAssociation);
}
