diff --git a/src/main/java/com/guo/learningprogresstracker/controller/StudySessionController.java b/src/main/java/com/guo/learningprogresstracker/controller/StudySessionController.java index 62011e5..d0b5bda 100644 --- a/src/main/java/com/guo/learningprogresstracker/controller/StudySessionController.java +++ b/src/main/java/com/guo/learningprogresstracker/controller/StudySessionController.java @@ -130,4 +130,11 @@ public class StudySessionController { @RequestParam(required = false) String keyword) { return CommonResult.success(studySessionsServiceImpl.getTaskReports(taskNum, page, size, keyword)); } + + /** 查询当前是否有活跃会话(用于跨页面恢复 + 阻止多任务) */ + @GetMapping("/active") + public CommonResult getActiveSession( + @RequestParam(required = false) String excludeTaskNum) { + return CommonResult.success(studySessionsServiceImpl.getActiveSession(excludeTaskNum)); + } } diff --git a/src/main/java/com/guo/learningprogresstracker/service/StudySessionsService.java b/src/main/java/com/guo/learningprogresstracker/service/StudySessionsService.java index 3348823..9932da1 100644 --- a/src/main/java/com/guo/learningprogresstracker/service/StudySessionsService.java +++ b/src/main/java/com/guo/learningprogresstracker/service/StudySessionsService.java @@ -33,4 +33,6 @@ public interface StudySessionsService extends IService { Page getTaskFragments(String taskNum, int page, int size, String keyword); Page getTaskReports(String taskNum, int page, int size, String keyword); + + StudySessionResponse getActiveSession(String excludeTaskNum); } diff --git a/src/main/java/com/guo/learningprogresstracker/service/impl/StudySessionsServiceImpl.java b/src/main/java/com/guo/learningprogresstracker/service/impl/StudySessionsServiceImpl.java index 159e57d..7628d07 100644 --- a/src/main/java/com/guo/learningprogresstracker/service/impl/StudySessionsServiceImpl.java +++ b/src/main/java/com/guo/learningprogresstracker/service/impl/StudySessionsServiceImpl.java @@ -217,4 +217,39 @@ public class StudySessionsServiceImpl extends ServiceImpl