package com.gz.mapper.welcome;

import com.gz.rvo.borrow.ArchiveBorrowHistoryRVO;
import com.gz.rvo.welcome.ArchiveCountRVO;
import com.gz.rvo.welcome.BorrowRecordRVO;

import java.util.List;

public interface StatisticsMapper {

    /**
     * @description 查询所有待处理记录
     * @author LiuChangLan
     * @since 2021/3/2 11:49
     */
    List<BorrowRecordRVO> selectWaitHandleRecord();

    /**
     * @description 查询所有待归还记录
     * @author LiuChangLan
     * @since 2021/3/2 11:49
     */
    List<BorrowRecordRVO> selectWaitReturnRecord();

    /**
     * @description 根据门类统计数量
     * @author LiuChangLan
     * @since 2021/3/2 11:50
     */
    List<ArchiveCountRVO> selectArchiveByMl();

    /**
     * @description 根据归档年度统计数量
     * @author LiuChangLan
     * @since 2021/3/2 11:50
     */
    List<ArchiveCountRVO> selectArchiveByYear();

    /**
     * @description 查询我的到期未归还记录
     * @author LiuChangLan
     * @since 2021/3/2 11:50
     */
    List<BorrowRecordRVO> selectMyWaitReturnRecord(String userId);

    /**
     * @description 查询我的三天内到期的记录
     * @author LiuChangLan
     * @since 2021/3/2 11:50
     */
    List<BorrowRecordRVO> selectMyDueSoonRecord(String userId);

    /**
     * @description 查询借阅历史数量
     * @author LiuChangLan
     * @since 2021/3/2 12:50
     */
    Integer selectMyHistoryBorrowCount(String userId);

    /**
     * @description 申请未处理数量
     * @author LiuChangLan
     * @since 2021/3/2 12:51
     */
    Integer selectRuditNotHandleCount(String userId);


    /**
     * @description 查询近一年的借阅记录
     * @author LiuChangLan
     * @since 2021/3/5 13:14
     */
    List<ArchiveBorrowHistoryRVO> selectBorrowCountByDate();
}
