package com.guo.learningprogresstracker.service; import com.google.protobuf.ServiceException; import com.guo.learningprogresstracker.dto.response.StudySessionResponse; import com.guo.learningprogresstracker.entity.StudyReportFragmentsEntity; import com.guo.learningprogresstracker.entity.StudyReportsEntity; import com.guo.learningprogresstracker.entity.StudySessionsEntity; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.guo.learningprogresstracker.exception.ErrorParameterException; import java.time.LocalDateTime; import java.util.ArrayList; /** * @author guo * @description 针对表【study_sessions(记录每次学习会话的具体数据)】的数据库操作Service * @createDate 2024-06-09 15:28:48 */ public interface StudySessionsService extends IService { StudySessionResponse getNotEndedStudySessionByTaskNum(String taskNum) throws ErrorParameterException; ArrayList getAllFragments(String sessionNum) throws ErrorParameterException; String endedStudySession(String sessionNum, String content) throws ErrorParameterException; void pauseStudySession(String sessionNum, LocalDateTime endTime) throws ErrorParameterException, ServiceException; void continueStudySession(String sessionNum) throws ErrorParameterException, ServiceException; Page getTaskFragments(String taskNum, int page, int size, String keyword); Page getTaskReports(String taskNum, int page, int size, String keyword); StudySessionResponse getActiveSession(String excludeTaskNum); }