package com.gz.service.archive;

import com.github.pagehelper.PageInfo;
import com.gz.dto.archive.ArchiveDTO;
import com.gz.rvo.archive.ArchiveRVO;
import com.gz.rvo.borrow.ArchiveBorrowListRVO;
import com.gz.vo.PageVO;
import com.gz.vo.archive.InsertArchiveVO;
import com.gz.vo.archive.SearchArchiveVO;

import java.util.List;

public interface ArchiveService {
    /**
     * @description 增
     * @author LiuChangLan
     * @since 2020/9/4 14:46
     * @param vo
     */
    Integer insert(InsertArchiveVO vo) throws Exception;

    /**
     * @description 删
     * @author LiuChangLan
     * @since 2020/9/4 14:46
     */
    Integer delete(Integer id);

    /**
     * @description 改
     * @author LiuChangLan
     * @since 2020/9/4 14:46
     */
    Integer update(ArchiveDTO dto);

    /**
     * @description 查
     * @author LiuChangLan
     * @since 2020/9/4 14:46
     */
    List<ArchiveDTO> selectAll();

    /**
     * @description 分页查询
     * @author LiuChangLan
     * @since 2020/9/4 14:46
     */
    PageInfo<ArchiveRVO> selectByPage(SearchArchiveVO vo);

    /**
     * @description 根据主键查询
     * @author LiuChangLan
     * @since 2020/9/4 16:36
     */
    ArchiveDTO selectByPrimaryKey(Integer id);

    /**
     * @description 查询借阅列表
     * @author LiuChangLan
     * @since 2021/2/27 15:45
     * @return
     */
    PageInfo<ArchiveBorrowListRVO> selectBorrowList(PageVO vo);
}
