package com.yingpai.stock.service;

import com.yingpai.stock.domain.bo.StockPoolBo;
import com.yingpai.stock.domain.vo.StockPoolVo;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;

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

/**
 * 股票池服务接口
 */
public interface IStockPoolService {

    /**
     * 查询股票池列表（分页，带实时数据）
     */
    TableDataInfo<StockPoolVo> queryPageList(StockPoolBo bo, PageQuery pageQuery);

    /**
     * 查询股票池列表（带实时数据）
     */
    List<StockPoolVo> queryList(StockPoolBo bo);

    /**
     * 根据ID查询股票池详情
     */
    StockPoolVo queryById(Long id);

    /**
     * 新增股票到池
     */
    Boolean insertByBo(StockPoolBo bo);

    /**
     * 修改股票池信息
     */
    Boolean updateByBo(StockPoolBo bo);

    /**
     * 批量删除股票池
     */
    Boolean deleteWithValidByIds(Collection<Long> ids);

    /**
     * 批量软删除（设置状态为无效）
     */
    Boolean softDeleteByIds(Collection<Long> ids);

    /**
     * 根据股票代码和池类型移除
     */
    Boolean removeByCodeAndType(String stockCode, Integer poolType);
}
