From 247cb86585a1d1894596ed18a6c93efecb992946 Mon Sep 17 00:00:00 2001 From: luohairen <3399054449@qq.com> Date: 星期四, 14 十一月 2024 10:34:27 +0800 Subject: [PATCH] 班级成绩图表分析 --- src/main/java/com/ycl/jxkg/controller/student/DashboardController.java | 75 +++++++++++++++++-------------------- 1 files changed, 34 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/ycl/jxkg/controller/student/DashboardController.java b/src/main/java/com/ycl/jxkg/controller/student/DashboardController.java index 26770bc..eb9fa82 100644 --- a/src/main/java/com/ycl/jxkg/controller/student/DashboardController.java +++ b/src/main/java/com/ycl/jxkg/controller/student/DashboardController.java @@ -1,19 +1,20 @@ package com.ycl.jxkg.controller.student; import com.ycl.jxkg.base.BaseApiController; -import com.ycl.jxkg.base.RestResponse; -import com.ycl.jxkg.domain.TaskExam; -import com.ycl.jxkg.domain.TaskExamCustomerAnswer; -import com.ycl.jxkg.domain.TextContent; -import com.ycl.jxkg.domain.User; -import com.ycl.jxkg.domain.enums.ExamPaperTypeEnum; +import com.ycl.jxkg.base.Result; +import com.ycl.jxkg.domain.entity.TaskExam; +import com.ycl.jxkg.domain.entity.TaskExamCustomerAnswer; +import com.ycl.jxkg.domain.entity.TextContent; +import com.ycl.jxkg.domain.entity.User; +import com.ycl.jxkg.enums.ExamPaperTypeEnum; import com.ycl.jxkg.domain.task.TaskItemAnswerObject; import com.ycl.jxkg.domain.task.TaskItemObject; import com.ycl.jxkg.service.*; -import com.ycl.jxkg.utility.DateTimeUtil; -import com.ycl.jxkg.utility.JsonUtil; -import com.ycl.jxkg.viewmodel.student.dashboard.*; -import org.springframework.beans.factory.annotation.Autowired; +import com.ycl.jxkg.utils.DateTimeUtil; +import com.ycl.jxkg.utils.JsonUtil; +import com.ycl.jxkg.domain.vo.student.dashboard.*; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @@ -23,6 +24,7 @@ import java.util.List; import java.util.stream.Collectors; +@RequiredArgsConstructor @RestController("StudentDashboardController") @RequestMapping(value = "/api/student/dashboard") public class DashboardController extends BaseApiController { @@ -34,80 +36,71 @@ private final TaskExamCustomerAnswerService taskExamCustomerAnswerService; private final TextContentService textContentService; - @Autowired - public DashboardController(UserService userService, ExamPaperService examPaperService, QuestionService questionService, TaskExamService taskExamService, TaskExamCustomerAnswerService taskExamCustomerAnswerService, TextContentService textContentService) { - this.userService = userService; - this.examPaperService = examPaperService; - this.questionService = questionService; - this.taskExamService = taskExamService; - this.taskExamCustomerAnswerService = taskExamCustomerAnswerService; - this.textContentService = textContentService; - } - @RequestMapping(value = "/index", method = RequestMethod.POST) - public RestResponse<IndexVM> index() { - IndexVM indexVM = new IndexVM(); + public Result<IndexVO> index() { + IndexVO indexVO = new IndexVO(); User user = getCurrentUser(); PaperFilter fixedPaperFilter = new PaperFilter(); fixedPaperFilter.setGradeLevel(user.getUserLevel()); fixedPaperFilter.setExamPaperType(ExamPaperTypeEnum.Fixed.getCode()); - indexVM.setFixedPaper(examPaperService.indexPaper(fixedPaperFilter)); + indexVO.setFixedPaper(examPaperService.indexPaper(fixedPaperFilter)); PaperFilter timeLimitPaperFilter = new PaperFilter(); timeLimitPaperFilter.setDateTime(new Date()); timeLimitPaperFilter.setGradeLevel(user.getUserLevel()); - timeLimitPaperFilter.setExamPaperType(ExamPaperTypeEnum.TimeLimit.getCode()); + timeLimitPaperFilter.setExamPaperType(ExamPaperTypeEnum.Random.getCode()); List<PaperInfo> limitPaper = examPaperService.indexPaper(timeLimitPaperFilter); - List<PaperInfoVM> paperInfoVMS = limitPaper.stream().map(d -> { - PaperInfoVM vm = modelMapper.map(d, PaperInfoVM.class); - vm.setStartTime(DateTimeUtil.dateFormat(d.getLimitStartTime())); - vm.setEndTime(DateTimeUtil.dateFormat(d.getLimitEndTime())); - return vm; + List<PaperInfoVO> paperInfoVOS = limitPaper.stream().map(d -> { + PaperInfoVO vo = new PaperInfoVO(); + BeanUtils.copyProperties(d, vo); + vo.setStartTime(DateTimeUtil.dateFormat(d.getLimitStartTime())); + vo.setEndTime(DateTimeUtil.dateFormat(d.getLimitEndTime())); + return vo; }).collect(Collectors.toList()); - indexVM.setTimeLimitPaper(paperInfoVMS); - return RestResponse.ok(indexVM); + indexVO.setTimeLimitPaper(paperInfoVOS); + return Result.ok(indexVO); } @RequestMapping(value = "/task", method = RequestMethod.POST) - public RestResponse<List<TaskItemVm>> task() { + public Result<List<TaskItemVO>> task() { User user = getCurrentUser(); List<TaskExam> taskExams = taskExamService.getByGradeLevel(user.getUserLevel()); if (taskExams.size() == 0) { - return RestResponse.ok(new ArrayList<>()); + return Result.ok(new ArrayList<>()); } List<Integer> tIds = taskExams.stream().map(taskExam -> taskExam.getId()).collect(Collectors.toList()); List<TaskExamCustomerAnswer> taskExamCustomerAnswers = taskExamCustomerAnswerService.selectByTUid(tIds, user.getId()); - List<TaskItemVm> vm = taskExams.stream().map(t -> { - TaskItemVm itemVm = new TaskItemVm(); + List<TaskItemVO> vm = taskExams.stream().map(t -> { + TaskItemVO itemVm = new TaskItemVO(); itemVm.setId(t.getId()); itemVm.setTitle(t.getTitle()); TaskExamCustomerAnswer taskExamCustomerAnswer = taskExamCustomerAnswers.stream() .filter(tc -> tc.getTaskExamId().equals(t.getId())).findFirst().orElse(null); - List<TaskItemPaperVm> paperItemVMS = getTaskItemPaperVm(t.getFrameTextContentId(), taskExamCustomerAnswer); + List<TaskItemPaperVO> paperItemVMS = getTaskItemPaperVm(t.getFrameTextContentId(), taskExamCustomerAnswer); itemVm.setPaperItems(paperItemVMS); return itemVm; }).collect(Collectors.toList()); - return RestResponse.ok(vm); + return Result.ok(vm); } - private List<TaskItemPaperVm> getTaskItemPaperVm(Integer tFrameId, TaskExamCustomerAnswer taskExamCustomerAnswers) { - TextContent textContent = textContentService.selectById(tFrameId); + private List<TaskItemPaperVO> getTaskItemPaperVm(Integer tFrameId, TaskExamCustomerAnswer taskExamCustomerAnswers) { + TextContent textContent = textContentService.getById(tFrameId); List<TaskItemObject> paperItems = JsonUtil.toJsonListObject(textContent.getContent(), TaskItemObject.class); List<TaskItemAnswerObject> answerPaperItems = null; if (null != taskExamCustomerAnswers) { - TextContent answerTextContent = textContentService.selectById(taskExamCustomerAnswers.getTextContentId()); + TextContent answerTextContent = textContentService.getById(taskExamCustomerAnswers.getTextContentId()); answerPaperItems = JsonUtil.toJsonListObject(answerTextContent.getContent(), TaskItemAnswerObject.class); } List<TaskItemAnswerObject> finalAnswerPaperItems = answerPaperItems; return paperItems.stream().map(p -> { - TaskItemPaperVm ivm = new TaskItemPaperVm(); + TaskItemPaperVO ivm = new TaskItemPaperVO(); ivm.setExamPaperId(p.getExamPaperId()); ivm.setExamPaperName(p.getExamPaperName()); if (null != finalAnswerPaperItems) { -- Gitblit v1.8.0