From 46b5c138b7b35f1ea0232cc19a9ec49a9229b15c Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期五, 12 七月 2024 19:21:44 +0800
Subject: [PATCH] fix:学生端登录必须录入出生年月
---
src/main/java/com/mindskip/xzs/controller/student/DashboardController.java | 126 ++++++++++++++++++++++++++++++++++++++---
1 files changed, 116 insertions(+), 10 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 a3b7fe8..0cbb263 100644
--- a/src/main/java/com/mindskip/xzs/controller/student/DashboardController.java
+++ b/src/main/java/com/mindskip/xzs/controller/student/DashboardController.java
@@ -2,23 +2,29 @@
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;
+import com.mindskip.xzs.domain.vo.ExamTemplatesUserCountVO;
+import com.mindskip.xzs.domain.vo.ExamTemplatesVO;
+import com.mindskip.xzs.repository.ExamPaperAnswerMapper;
+import com.mindskip.xzs.repository.ExamTemplatesMapper;
+import com.mindskip.xzs.repository.ExamTemplatesUserCountMapper;
+import com.mindskip.xzs.repository.ExamTemplatesUserMapper;
import com.mindskip.xzs.service.*;
import com.mindskip.xzs.utility.DateTimeUtil;
import com.mindskip.xzs.utility.JsonUtil;
import com.mindskip.xzs.viewmodel.student.dashboard.*;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
+import java.time.LocalDateTime;
import java.util.ArrayList;
+import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -33,15 +39,45 @@
private final TaskExamService taskExamService;
private final TaskExamCustomerAnswerService taskExamCustomerAnswerService;
private final TextContentService textContentService;
+ private final ExamPaperUserService examPaperUserService;
+ private final ExamPaperAnswerMapper answerMapper;
+ private final ExamTemplatesMapper templatesMapper;
+ private final ExamTemplatesUserCountMapper templatesUserCountMapper;
+ private final ExamTemplatesUserMapper examTemplatesUserMapper;
@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,
+ ExamPaperAnswerMapper answerMapper, ExamTemplatesMapper templatesMapper, ExamTemplatesUserCountMapper templatesUserCountMapper, ExamTemplatesUserMapper examTemplatesUserMapper) {
this.userService = userService;
this.examPaperService = examPaperService;
this.questionService = questionService;
this.taskExamService = taskExamService;
this.taskExamCustomerAnswerService = taskExamCustomerAnswerService;
this.textContentService = textContentService;
+ this.examPaperUserService = examPaperUserService;
+ this.answerMapper = answerMapper;
+ this.templatesMapper = templatesMapper;
+ this.templatesUserCountMapper = templatesUserCountMapper;
+ this.examTemplatesUserMapper = examTemplatesUserMapper;
+ }
+
+ @RequestMapping(value = "/qualification/{paperId}", method = RequestMethod.GET)
+ public RestResponse qualification(@PathVariable("paperId") String paperId) {
+ User user = getCurrentUser();
+ ExamTemplatesUserCount count = new ExamTemplatesUserCount();
+ List<ExamTemplatesUserCount> examTemplatesUserCountList = new ArrayList<>();
+ List<PaperInfo> paperInfos = new ArrayList<>();
+ count.setUserId(user.getId());
+ count.setExamPaperId(Integer.parseInt(paperId));
+ examTemplatesUserCountList.add(count);
+ List<ExamPaperAnswer> list1 = answerMapper.getByExamPaperIdAndUserId(examTemplatesUserCountList);
+ if(list1.size()>0){
+ return RestResponse.fail(500,"褰撳墠璇曞嵎宸插畬鎴愯�冭瘯锛�");
+ }
+ return RestResponse.ok();
}
@RequestMapping(value = "/index", method = RequestMethod.POST)
@@ -51,16 +87,73 @@
PaperFilter fixedPaperFilter = new PaperFilter();
fixedPaperFilter.setGradeLevel(user.getUserLevel());
- fixedPaperFilter.setExamPaperType(ExamPaperTypeEnum.Fixed.getCode());
- indexVM.setFixedPaper(examPaperService.indexPaper(fixedPaperFilter));
+ Integer[] type = {ExamPaperTypeEnum.Fixed.getCode(),ExamPaperTypeEnum.Random.getCode()};
+ fixedPaperFilter.setExamPaperType(type);
+ fixedPaperFilter.setUserId(user.getId());
+ //璇曞嵎
+ List<PaperInfo> list = examPaperService.indexPaper(fixedPaperFilter);
+ ExamTemplatesUserCount count = new ExamTemplatesUserCount();
+ List<ExamTemplatesUserCount> examTemplatesUserCountList = new ArrayList<>();
+ List<PaperInfo> paperInfos = new ArrayList<>();
+ for (PaperInfo info : list) {
+ count.setUserId(user.getId());
+ count.setExamPaperId(info.getId());
+ examTemplatesUserCountList.add(count);
+ List<ExamPaperAnswer> list1 = answerMapper.getByExamPaperIdAndUserId(examTemplatesUserCountList);
+ examTemplatesUserCountList.clear();
+ if(list1.size()>0){
+ continue;
+ }
+ info.setStatus("0");
+ paperInfos.add(info);
+ }
+
+ ExamTemplatesVO vo = new ExamTemplatesVO();
+ vo.setStatus("0");
+ vo.setUserId(user.getId());
+ vo.setNow(LocalDateTime.now());
+ List<ExamTemplates> gets = templatesMapper.gets(vo);
+ ExamTemplatesUserCountVO templatesUserCountVO = new ExamTemplatesUserCountVO();
+ templatesUserCountVO.setUserId(user.getId());
+
+ for (ExamTemplates get : gets) {
+ templatesUserCountVO.setId(get.getId());
+ Integer number = templatesUserCountMapper.getCountByUserIdAndTemplatesId(templatesUserCountVO);
+ if(number==0){
+ PaperInfo info = new PaperInfo();
+ info.setId(get.getId());
+ info.setName(get.getName());
+ info.setStatus("1");
+ info.setCreateTime(get.getCtime());
+ paperInfos.add(info);
+ }
+ }
+ paperInfos = paperInfos.stream().sorted(Comparator.comparing(PaperInfo::getCreateTime).reversed()).collect(Collectors.toList());
+ indexVM.setFixedPaper(paperInfos);
PaperFilter timeLimitPaperFilter = new PaperFilter();
timeLimitPaperFilter.setDateTime(new Date());
timeLimitPaperFilter.setGradeLevel(user.getUserLevel());
- timeLimitPaperFilter.setExamPaperType(ExamPaperTypeEnum.TimeLimit.getCode());
+ Integer[] time = {ExamPaperTypeEnum.TimeLimit.getCode()};
+ timeLimitPaperFilter.setExamPaperType(time);
+ timeLimitPaperFilter.setUserId(user.getId());
+ ExamTemplatesUserCount count1 = new ExamTemplatesUserCount();
+ List<ExamTemplatesUserCount> examTemplatesUserCountList1 = new ArrayList<>();
+ List<PaperInfo> paperInfos1 = new ArrayList<>();
List<PaperInfo> limitPaper = examPaperService.indexPaper(timeLimitPaperFilter);
- List<PaperInfoVM> paperInfoVMS = limitPaper.stream().map(d -> {
+ for (PaperInfo info : limitPaper) {
+ count1.setUserId(user.getId());
+ count1.setExamPaperId(info.getId());
+ examTemplatesUserCountList1.add(count1);
+ List<ExamPaperAnswer> list1 = answerMapper.getByExamPaperIdAndUserId(examTemplatesUserCountList1);
+ examTemplatesUserCountList1.clear();
+ if(list1.size()>0){
+ continue;
+ }
+ paperInfos1.add(info);
+ }
+ List<PaperInfoVM> paperInfoVMS = paperInfos1.stream().map(d -> {
PaperInfoVM vm = modelMapper.map(d, PaperInfoVM.class);
vm.setStartTime(DateTimeUtil.dateFormat(d.getLimitStartTime()));
vm.setEndTime(DateTimeUtil.dateFormat(d.getLimitEndTime()));
@@ -74,7 +167,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