package com.sptg.pay.biz.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.sptg.common.core.beans.ResultBean;
import com.sptg.pay.api.dto.PayCertificateDto;
import com.sptg.pay.api.entity.PayCertificate;

import java.util.List;

/**
 * @author zwx
 * @create 2020/5/25 10:16
 */
public interface PayCertificateServiceInterface extends IService<PayCertificate> {

    /**
     * 功能描述:支付凭证列表查询（含分页）
     * @param payCertificateDto 支付凭证业务对象（含分页及查询条件）
     * @return  ResultBean<Page<PayCertificate>>
     *
     *
     */
    ResultBean<Page<PayCertificate>> showPayCertificatePage(PayCertificateDto payCertificateDto);

    /**
     * 功能描述:新增支付凭证
     * @param payCertificateDto
     * @return ResultBean<Boolean>
     *
     *
     */
    ResultBean<Boolean> addPayCertificate(PayCertificateDto payCertificateDto);

    /**
     * 功能描述：新增支付凭证模板导入
     * @param payCertificateDto
     * @return
     */
    PayCertificate addPayCertificateByImport(PayCertificateDto payCertificateDto);

    /**
     * 功能描述:更新支付凭证
     * @param payCertificate
     * @return ResultBean<Boolean>
     *
     *
     */
    ResultBean<Boolean> updatePayCertificate(PayCertificate payCertificate);

    /**
     * 功能描述:根据Id查找支付凭证
     * @param id 必填
     * @return PayCertificate
     *
     *
     */
    PayCertificate findPayCertificateById(Long id);

    /**
     * 功能描述:根据条件查询支付凭证
     * @param payCertificateDto 支付凭证业务对象
     * @return PayCertificate 支付凭证对象
     *
     *
     */
    PayCertificate findPayCertificateByCondition(PayCertificateDto payCertificateDto);

    /**
     * 功能描述:根据条件查询支付凭证列表
     * @param payCertificateDto 支付凭证业务对象
     * @return PayCertificate 支付凭证对象
     *
     *
     */
    List<PayCertificate> findPayCertificateListByCondition(PayCertificateDto payCertificateDto);

}
