From c46f49af9e766aed0ba583fce0efab98ebcdf76c Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 18 六月 2024 17:12:06 +0800
Subject: [PATCH] 管理员增加学生端权限

---
 src/main/java/com/ycl/jxkg/controller/admin/ExamPaperAnswerController.java |   77 ++++++++++++++++++++------------------
 1 files changed, 41 insertions(+), 36 deletions(-)

diff --git a/src/main/java/com/ycl/jxkg/controller/admin/ExamPaperAnswerController.java b/src/main/java/com/ycl/jxkg/controller/admin/ExamPaperAnswerController.java
index 2e42c36..28d7d0d 100644
--- a/src/main/java/com/ycl/jxkg/controller/admin/ExamPaperAnswerController.java
+++ b/src/main/java/com/ycl/jxkg/controller/admin/ExamPaperAnswerController.java
@@ -1,54 +1,59 @@
 package com.ycl.jxkg.controller.admin;
 
-import com.ycl.jxkg.base.BaseApiController;
-import com.ycl.jxkg.base.RestResponse;
-import com.ycl.jxkg.domain.ExamPaperAnswer;
-import com.ycl.jxkg.domain.Subject;
-import com.ycl.jxkg.domain.User;
-import com.ycl.jxkg.service.*;
-import com.ycl.jxkg.utility.DateTimeUtil;
-import com.ycl.jxkg.utility.ExamUtil;
-import com.ycl.jxkg.utility.PageInfoHelper;
-import com.ycl.jxkg.viewmodel.student.exampaper.ExamPaperAnswerPageResponseVM;
-import com.ycl.jxkg.viewmodel.admin.paper.ExamPaperAnswerPageRequestVM;
 import com.github.pagehelper.PageInfo;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.ycl.jxkg.base.BaseApiController;
+import com.ycl.jxkg.base.Result;
+import com.ycl.jxkg.domain.entity.ExamPaperAnswer;
+import com.ycl.jxkg.domain.vo.admin.exam.ExamPaperEditRequestVO;
+import com.ycl.jxkg.domain.vo.admin.paper.ExamPaperAnswerPageRequestVO;
+import com.ycl.jxkg.domain.vo.student.exam.ExamPaperReadVO;
+import com.ycl.jxkg.domain.vo.student.exam.ExamPaperSubmitVO;
+import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerExportVO;
+import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageResponseVO;
+import com.ycl.jxkg.service.ExamPaperAnswerService;
+import com.ycl.jxkg.service.ExamPaperService;
+import com.ycl.jxkg.utils.ExcelUtils;
+import lombok.RequiredArgsConstructor;
+import lombok.SneakyThrows;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+@RequiredArgsConstructor
 @RestController("AdminExamPaperAnswerController")
 @RequestMapping(value = "/api/admin/examPaperAnswer")
 public class ExamPaperAnswerController extends BaseApiController {
 
     private final ExamPaperAnswerService examPaperAnswerService;
-    private final SubjectService subjectService;
-    private final UserService userService;
+    private final ExamPaperService examPaperService;
 
-    @Autowired
-    public ExamPaperAnswerController(ExamPaperAnswerService examPaperAnswerService, SubjectService subjectService, UserService userService) {
-        this.examPaperAnswerService = examPaperAnswerService;
-        this.subjectService = subjectService;
-        this.userService = userService;
+    @PostMapping("/pageExamPaper")
+    public Result<PageInfo<ExamPaperAnswerPageResponseVO>> pageExamPaper(@RequestBody ExamPaperAnswerPageRequestVO model) {
+        return Result.ok(examPaperAnswerService.pageExamPaper(model));
     }
-
 
     @RequestMapping(value = "/page", method = RequestMethod.POST)
-    public RestResponse<PageInfo<ExamPaperAnswerPageResponseVM>> pageJudgeList(@RequestBody ExamPaperAnswerPageRequestVM model) {
-        PageInfo<ExamPaperAnswer> pageInfo = examPaperAnswerService.adminPage(model);
-        PageInfo<ExamPaperAnswerPageResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> {
-            ExamPaperAnswerPageResponseVM vm = modelMapper.map(e, ExamPaperAnswerPageResponseVM.class);
-            Subject subject = subjectService.selectById(vm.getSubjectId());
-            vm.setDoTime(ExamUtil.secondToVM(e.getDoTime()));
-            vm.setSystemScore(ExamUtil.scoreToVM(e.getSystemScore()));
-            vm.setUserScore(ExamUtil.scoreToVM(e.getUserScore()));
-            vm.setPaperScore(ExamUtil.scoreToVM(e.getPaperScore()));
-            vm.setSubjectName(subject.getName());
-            vm.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime()));
-            User user = userService.selectById(e.getCreateUser());
-            vm.setUserName(user.getUserName());
-            return vm;
-        });
-        return RestResponse.ok(page);
+    public Result<PageInfo<ExamPaperAnswerPageResponseVO>> pageJudgeList(@RequestBody ExamPaperAnswerPageRequestVO model) {
+        return Result.ok(examPaperAnswerService.adminPage(model));
     }
 
+    @RequestMapping(value = "/exportExcel", method = RequestMethod.POST)
+    @SneakyThrows
+    public void exportExcel(ExamPaperAnswerPageRequestVO model, HttpServletResponse response) {
+        List<ExamPaperAnswerPageResponseVO> list = examPaperAnswerService.list(model);
+        ExcelUtils.exportExcelToTarget(response, "", "鎴愮哗鍒楄〃", list, ExamPaperAnswerExportVO.class);
+    }
+
+    @PostMapping("/read/{id}")
+    public Result<ExamPaperReadVO> read(@PathVariable Integer id) {
+        ExamPaperAnswer examPaperAnswer = examPaperAnswerService.getById(id);
+        ExamPaperReadVO vm = new ExamPaperReadVO();
+        ExamPaperEditRequestVO paper = examPaperService.examPaperToVM(examPaperAnswer.getExamPaperId());
+        ExamPaperSubmitVO answer = examPaperAnswerService.examPaperAnswerToVM(examPaperAnswer.getId());
+        vm.setPaper(paper);
+        vm.setAnswer(answer);
+        return Result.ok(vm);
+    }
 
 }

--
Gitblit v1.8.0