package com.ruoyi.system.service;

import com.ruoyi.system.domain.PostCollectionsSystem;
import com.ruoyi.system.domain.vo.CollectionsVo;

import java.util.Date;
import java.util.List;

/**
 * 藏品套系Service接口
 *
 * @author ruoyi
 * @date 2023-02-15
 */
public interface IPostCollectionsSystemService
{

    /**
     * 查询藏品套系
     *
     * @param id 藏品套系主键
     * @return 藏品套系
     */
    public PostCollectionsSystem selectPostCollectionsSystemById(Long id);

    /**
     * 查询藏品套系列表
     *
     * @param postCollectionsSystem 藏品套系
     * @return 藏品套系集合
     */
    public List<PostCollectionsSystem> selectPostCollectionsSystemList(PostCollectionsSystem postCollectionsSystem);

    /**
     * 新增藏品套系
     *
     * @param postCollectionsSystem 藏品套系
     * @return 结果
     */
    public int insertPostCollectionsSystem(PostCollectionsSystem postCollectionsSystem);

    /**
     * 修改藏品套系
     *
     * @param postCollectionsSystem 藏品套系
     * @return 结果
     */
    public int updatePostCollectionsSystem(PostCollectionsSystem postCollectionsSystem);

    /**
     * 批量删除藏品套系
     *
     * @param ids 需要删除的藏品套系主键集合
     * @return 结果
     */
    public int deletePostCollectionsSystemByIds(Long[] ids);

    /**
     * 删除藏品套系信息
     *
     * @param id 藏品套系主键
     * @return 结果
     */
    public int deletePostCollectionsSystemById(Long id);
    //搜索功能
    public List<PostCollectionsSystem> selectByTitleAndTime(String title, Date timeLeft, Date timeRight);

    /**
     *  分页
     * @param postCollectionsSystem
     * @return
     */
    List<CollectionsVo> selectPostCollectionsSystemListPage(PostCollectionsSystem postCollectionsSystem);
    /**
     *  获取藏品数量
     * @param id
     * @return 该套系下藏品数量
     */
    public int getCopies(Long id);

    public Date getEndTime(Long id);


    /**
     *  用套系名称进行查询
     * @param postCollectionsSystem
     */
    int selectPostCollectionsSystemByName(PostCollectionsSystem postCollectionsSystem);

    /**
     * 通过ids 查询套系
     * @param ids
     * @return
     */
    List<PostCollectionsSystem> listByIds(List<Long> ids);

    /**
     *  批量更新
     *
     * @param postCollectionsSystemList
     * @return
     */
    int updateBatchById(List<PostCollectionsSystem> postCollectionsSystemList);

}



