package com.yingpai.stock.service;

import com.yingpai.stock.domain.bo.StockPoolHistoryBo;
import com.yingpai.stock.domain.vo.StockPoolHistoryVo;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;

import java.util.Collection;
import java.util.List;

/**
 * 股票池历史服务接口
 */
public interface IStockPoolHistoryService {

    /**
     * 查询历史数据列表（分页）
     */
    TableDataInfo<StockPoolHistoryVo> queryPageList(StockPoolHistoryBo bo, PageQuery pageQuery);

    /**
     * 查询历史数据列表
     */
    List<StockPoolHistoryVo> queryList(StockPoolHistoryBo bo);

    /**
     * 根据ID查询历史数据详情
     */
    StockPoolHistoryVo queryById(Long id);

    /**
     * 新增历史数据
     */
    Boolean insertByBo(StockPoolHistoryBo bo);

    /**
     * 修改历史数据
     */
    Boolean updateByBo(StockPoolHistoryBo bo);

    /**
     * 批量删除历史数据
     */
    Boolean deleteWithValidByIds(Collection<Long> ids);

    /**
     * 导入历史数据（Excel）
     * @param file Excel文件
     * @param recordDate 管理员指定的记录日期（格式：yyyy-MM-dd）
     * @param updateSupport 是否更新已存在的数据
     */
    String importData(MultipartFile file, String recordDate, Boolean updateSupport) throws Exception;
}
