package com.gxwebsoft.bszx.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.bszx.entity.BszxPay;
import com.gxwebsoft.bszx.param.BszxPayParam;

import java.math.BigDecimal;
import java.util.List;

/**
 * 百色中学-捐款记录Service
 *
 * @author 科技小王子
 * @since 2025-03-06 22:50:25
 */
public interface BszxPayService extends IService<BszxPay> {

    /**
     * 分页关联查询
     *
     * @param param 查询参数
     * @return PageResult<BszxPay>
     */
    PageResult<BszxPay> pageRel(BszxPayParam param);

    /**
     * 关联查询全部
     *
     * @param param 查询参数
     * @return List<BszxPay>
     */
    List<BszxPay> listRel(BszxPayParam param);

    /**
     * 根据id查询
     *
     * @param id ID
     * @return BszxPay
     */
    BszxPay getByIdRel(Integer id);

    /**
     * 生成捐款证书
     */
    String generatePayCert(Integer id) throws Exception;

    BigDecimal sumMoney(LambdaQueryWrapper<BszxPay> between);

    /**
     * 统计捐款总金额
     *
     * @return 捐款总金额
     */
    BigDecimal total();
}
