/**
 * @filename:#BillingIncomeService 2024-10-22
 * @project KJT v1.1.0 Copyright(c) 2024 wanglang Co. Ltd. All right reserved.
 */
package com.trade.service.finance.paymentcollection.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.trade.service.business.payableaccounts.domain.PayableAccounts;
import com.trade.service.finance.paymentcollection.domain.BillingIncome;
import com.trade.service.finance.paymentcollection.domain.OrderIncomeAssociation;
import com.trade.service.finance.paymentcollection.dto.BillingIncomeSearchDto;
import com.trade.service.finance.paymentcollection.dto.ExportTaxRefundDto;
import com.trade.service.finance.paymentcollection.dto.ExportTaxRefundV2Dto;
import com.trade.service.finance.paymentcollection.vo.BillingIncomePageVo;

import java.util.List;

/**
 * @Description:入账表服务层
 * @version: v1.1.0
 * @author: wanglang
 */
public interface BillingIncomeService extends IService<BillingIncome> {

    /**
     * 保存出口退税
     * 
     * @param exportTaxRefundDto 退税信息
     * @return boolean
     */
    @Deprecated
    boolean saveExportTaxRefund(ExportTaxRefundDto exportTaxRefundDto);

    /**
     * 保存出口退税
     * 
     * @param exportTaxRefundDtos 退税信息
     * @return boolean
     */
    boolean saveExportTaxRefundV2(List<ExportTaxRefundV2Dto> exportTaxRefundDtos);

    /**
     * 分页查询入账表
     * 
     * @param searchDto 查询条件
     * @return 入账表分页列表
     */
    List<BillingIncomePageVo> findByPage(BillingIncomeSearchDto searchDto);

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

    /**
     * 保存应付账款入账信息
     * @param payableAccounts 应付账款信息
     * @return boolean
     */
    Long savePayableAccountsIncome(PayableAccounts payableAccounts);
}
