package com.ruoyi.system.mapper;

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

import com.ruoyi.system.domain.PostCollections;
import com.ruoyi.system.domain.PostCollectionsSystem;
import org.apache.ibatis.annotations.Param;

/**
 * 藏品套系Mapper接口
 *
 * @author ruoyi
 * @date 2023-02-15
 */
public interface PostCollectionsSystemMapper
{
    /**
     * 查询藏品套系
     *
     * @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 id 藏品套系主键
     * @return 结果
     */
    public int deletePostCollectionsSystemById(Long id);

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


    //套系搜索功能
    List<PostCollectionsSystem> selectPostListByTitleOrTime(@Param("title") String title,
                                                            @Param("timeLeft") Date timeLeft,
                                                            @Param("timeRight") Date timeRight);
    // 获取套系藏品 数量
    Integer getCopiesById(Long id);


    // 查询该套系名 数量
    int selectPostCollectionsSystemByName(PostCollectionsSystem postCollectionsSystem);

    //查询该套系状态status
    String selectPostCollectionsSystemByStatus(Long systemId);

    //通过ids 查询套系
    List<PostCollectionsSystem> selectPostCollectionsSystemByIds(List<Long> ids);
    //通过id批量修改
    int updateBatchById(List<PostCollectionsSystem> postCollectionsSystemList);

    int shelvesUpdatePostCollectionsSystem(PostCollectionsSystem postCollectionsSystem);

    Date getEndTime(Long id);

    public List<PostCollectionsSystem>  selectListEqStatus(Long[] ids);
    //查询多个套系
    List<PostCollectionsSystem> selectPostCollectionsSystemByIdList(List<Long> systemId);
}
