From 0c29b611124679e564f2e5bd63f10f8c8ac0ba81 Mon Sep 17 00:00:00 2001
From: 17808 <1780814303@qq.com>
Date: 星期四, 09 十一月 2023 12:09:22 +0800
Subject: [PATCH] 成绩统计后端

---
 src/main/java/com/mindskip/xzs/controller/student/DashboardController.java |   25 +++++++++++++++++++------
 1 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/mindskip/xzs/controller/student/DashboardController.java b/src/main/java/com/mindskip/xzs/controller/student/DashboardController.java
index faf08df..ad764be 100644
--- a/src/main/java/com/mindskip/xzs/controller/student/DashboardController.java
+++ b/src/main/java/com/mindskip/xzs/controller/student/DashboardController.java
@@ -2,10 +2,7 @@
 
 import com.mindskip.xzs.base.BaseApiController;
 import com.mindskip.xzs.base.RestResponse;
-import com.mindskip.xzs.domain.TaskExam;
-import com.mindskip.xzs.domain.TaskExamCustomerAnswer;
-import com.mindskip.xzs.domain.TextContent;
-import com.mindskip.xzs.domain.User;
+import com.mindskip.xzs.domain.*;
 import com.mindskip.xzs.domain.enums.ExamPaperTypeEnum;
 import com.mindskip.xzs.domain.task.TaskItemAnswerObject;
 import com.mindskip.xzs.domain.task.TaskItemObject;
@@ -33,15 +30,17 @@
     private final TaskExamService taskExamService;
     private final TaskExamCustomerAnswerService taskExamCustomerAnswerService;
     private final TextContentService textContentService;
+    private final ExamPaperUserService examPaperUserService;
 
     @Autowired
-    public DashboardController(UserService userService, ExamPaperService examPaperService, QuestionService questionService, TaskExamService taskExamService, TaskExamCustomerAnswerService taskExamCustomerAnswerService, TextContentService textContentService) {
+    public DashboardController(UserService userService, ExamPaperService examPaperService, QuestionService questionService, TaskExamService taskExamService, TaskExamCustomerAnswerService taskExamCustomerAnswerService, TextContentService textContentService, ExamPaperUserService examPaperUserService) {
         this.userService = userService;
         this.examPaperService = examPaperService;
         this.questionService = questionService;
         this.taskExamService = taskExamService;
         this.taskExamCustomerAnswerService = taskExamCustomerAnswerService;
         this.textContentService = textContentService;
+        this.examPaperUserService = examPaperUserService;
     }
 
     @RequestMapping(value = "/index", method = RequestMethod.POST)
@@ -61,6 +60,7 @@
         timeLimitPaperFilter.setGradeLevel(user.getUserLevel());
         Integer[] time = {ExamPaperTypeEnum.TimeLimit.getCode()};
         timeLimitPaperFilter.setExamPaperType(time);
+        timeLimitPaperFilter.setUserId(user.getId());
 
         List<PaperInfo> limitPaper = examPaperService.indexPaper(timeLimitPaperFilter);
         List<PaperInfoVM> paperInfoVMS = limitPaper.stream().map(d -> {
@@ -77,7 +77,20 @@
     @RequestMapping(value = "/task", method = RequestMethod.POST)
     public RestResponse<List<TaskItemVm>> task() {
         User user = getCurrentUser();
-        List<TaskExam> taskExams = taskExamService.getByGradeLevel(user.getUserLevel());
+        Integer[] ids = examPaperUserService.getByUserId(user.getId())
+                .stream().map(ExamPaperUser::getExamPaperId).toArray(Integer[]::new);
+        List<TaskExam> taskExams = new ArrayList<>();
+        if(ids.length!=0){
+             List<ExamPaper> list = examPaperService.gets(ids).stream()
+                    .filter(e -> e.getPaperType() == 6).collect(Collectors.toList());
+             if(list.size() != 0){
+                 Integer[] taskIds = list.stream().map(ExamPaper::getTaskExamId).toArray(Integer[]::new);
+                 taskExams = taskExamService.gets(taskIds);
+             }
+
+        }
+
+//        List<TaskExam> taskExams = taskExamService.getByGradeLevel(user.getUserLevel());
         if (taskExams.size() == 0) {
             return RestResponse.ok(new ArrayList<>());
         }

--
Gitblit v1.8.0