package com.jeethink.using.service;

import com.jeethink.bean.domain.ArchivesMaster;
import com.jeethink.using.domain.ArchivesBorrow;
import com.jeethink.using.vo.BorrowVO;

import java.util.List;

public interface IBorrowService {

    /**
     * 获取可借阅档案
     * @param archives
     * @return
     */
    List<ArchivesMaster> selectArchivesList(ArchivesMaster archives);

    /**
     * 申请借阅
     * @param borrow
     */
    void applyBorrow(ArchivesBorrow borrow);

    /**
     * 获取我的借阅记录
     * @param borrow
     * @return
     */
    List<ArchivesBorrow> selectMyBorrowList(ArchivesBorrow borrow);

    /**
     * 撤销借阅申请
     * @param borrowId
     */
    void revocationBorrow(String borrowId);

    /**
     * 获取借阅详情
     * @param borrowId
     * @return
     */
    BorrowVO selectById(String borrowId);

    /**
     * 获取借阅历史
     * @param borrow
     * @return
     */
    List<ArchivesBorrow> selectBorrowHistory(ArchivesBorrow borrow);

    /**
     * 申请归还
     * @param borrowId
     */
    void reback(String borrowId);

    void cancelReback(String borrowId);
}
