package com.chinaweal.aiccs.crgs.transfor.service;

import com.chinaweal.aiccs.crgs.transfor.entity.OtNcaseDownloadLog;
import com.chinaweal.aiccs.crgs.transfor.entity.dto.StatisticLoadDto;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseService;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import java.io.File;
import java.io.IOException;
import java.util.List;

/**
 * <p>
 * 行政处罚信息下载清单记录 服务类
 * </p>
 *
 * @author <a href="https://blog.lroyia.top">lroyia</a>
 * @since 2021-11-05
 */
public interface OtNcaseDownloadLogService extends BaseService<OtNcaseDownloadLog> {

    /**
     * 读取保存下载文件的数据
     * @param file  下载的文件
     * @return  保存的条数
     * @throws IOException  IO异常
     * @author lroyia
     * @since  2021年11月5日 17:18:55
     */
    List<OtNcaseDownloadLog> saveDownloadData(File file) throws IOException;


    /**
     * 生成下载行政处罚信息的excel
     * @param ids   数据id
     * @return  excel
     * @author lroyia
     * @since  2021年11月3日 15:08:06
     */
    HSSFWorkbook download(String ids);

    /**
     * 统计下载总数
     * @param startDate 上传日期
     * @param endDate   下载日期
     * @return  上传和下载结果
     * @author lroyia
     * @since  2021年11月8日 15:12:10
     */
    List<StatisticLoadDto> statisticDownloadCount(String startDate, String endDate);
}
