// PointsRechargeService.java
package com.yami.shop.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yami.shop.bean.model.PointsRecharge;
import com.yami.shop.bean.vo.PointsRechargeVO;
import com.yami.shop.common.util.PageParam;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 积分充值 Service接口
 *
 * @author fbj
 * @since 2025-09-XX
 */
public interface PointsRechargeService extends IService<PointsRecharge> {
    /**
     * 导出积分充值导入模板
     * @param response HTTP响应对象
     * @throws Exception 导出异常
     */
    void exportTemplate(HttpServletResponse response) throws Exception;

    /**
     * 导入积分充值数据
     * @param file 导入文件
     * @param userId 当前操作人
     * @return 导入结果
     * @throws Exception 导入异常
     */
    String importPointsRecharge(MultipartFile file, Long userId) throws Exception;



    /**
     * 获取积分充值统计列表
     * @param pointsRecharge 查询参数
     * @return 积分充值统计列表
     */
    IPage<PointsRechargeVO> statisticsList(PointsRecharge pointsRecharge);

    void export(PointsRecharge pointsRecharge, HttpServletResponse response);

    IPage<PointsRecharge> findPage(PageParam<PointsRecharge> pageParam, PointsRecharge pointsRecharge);
}
