/**
 * @filename:PaymentBasicService 2024-10-24
 * @project KJT v1.1.0 Copyright(c) 2024 wanglang Co. Ltd. All right reserved.
 */
package com.trade.admin.business.payment.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.trade.admin.business.payment.domain.PaymentBasic;
import com.trade.admin.business.payment.dto.PaymentApproveDto;
import com.trade.admin.business.payment.dto.PaymentSearchDto;
import com.trade.admin.business.payment.vo.PaymentDetailPageVo;
import com.trade.admin.business.payment.vo.PaymentOperatePageVo;
import com.trade.admin.business.payment.vo.PaymentPageVo;
import com.trade.common.core.page.GridPage;
import com.trade.service.business.separateaccounts.domain.SeparateAccounts;
import com.trade.service.business.separateaccounts.domain.SeparateAccountsInfo;

/**
 * @Description:支付基础表服务层
 * @version: v1.1.0
 * @author: wanglang
 */
public interface PaymentBasicService extends IService<PaymentBasic> {

    /**
     * 保存支付基础表
     * 
     * @param separateAccounts
     * @param separateAccountsInfo
     * @param operator
     * @return boolean
     */
    boolean savePaymentBasic(SeparateAccounts separateAccounts, SeparateAccountsInfo separateAccountsInfo,
            String operator);

    /**
     * 分页查询分账记录
     *
     * @param searchDto 查询条件
     * @return GridPage<PaymentPageVo>
     */
    GridPage<PaymentPageVo> queryListByPage(PaymentSearchDto searchDto);

    /**
     * 获取支付审核页面信息
     * 
     * @param id 支付基础表id
     * @return PaymentOperatePageVo
     */
    PaymentOperatePageVo getPaymentOperatePage(Long id);

    /**
     * 审核支付
     * 
     * @param approveDto
     * @return boolean
     */
    Boolean approvePayment(PaymentApproveDto approveDto);

    PaymentDetailPageVo getPaymentDetailPage(Long id);
}
