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 |   68 +++++++++++++++++++---------------
 1 files changed, 38 insertions(+), 30 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 aab42b2..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,21 +1,24 @@
 package com.ycl.jxkg.controller.admin;
 
+import com.github.pagehelper.PageInfo;
 import com.ycl.jxkg.base.BaseApiController;
 import com.ycl.jxkg.base.Result;
-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.utils.DateTimeUtil;
-import com.ycl.jxkg.utils.ExamUtil;
-import com.ycl.jxkg.utils.PageInfoHelper;
-import com.ycl.jxkg.vo.student.exampaper.ExamPaperAnswerPageResponseVO;
-import com.ycl.jxkg.vo.admin.paper.ExamPaperAnswerPageRequestVO;
-import com.github.pagehelper.PageInfo;
+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 org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
+import lombok.SneakyThrows;
 import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 
 @RequiredArgsConstructor
 @RestController("AdminExamPaperAnswerController")
@@ -23,29 +26,34 @@
 public class ExamPaperAnswerController extends BaseApiController {
 
     private final ExamPaperAnswerService examPaperAnswerService;
-    private final SubjectService subjectService;
-    private final UserService userService;
+    private final ExamPaperService examPaperService;
 
+    @PostMapping("/pageExamPaper")
+    public Result<PageInfo<ExamPaperAnswerPageResponseVO>> pageExamPaper(@RequestBody ExamPaperAnswerPageRequestVO model) {
+        return Result.ok(examPaperAnswerService.pageExamPaper(model));
+    }
 
     @RequestMapping(value = "/page", method = RequestMethod.POST)
     public Result<PageInfo<ExamPaperAnswerPageResponseVO>> pageJudgeList(@RequestBody ExamPaperAnswerPageRequestVO model) {
-        PageInfo<ExamPaperAnswer> pageInfo = examPaperAnswerService.adminPage(model);
-        PageInfo<ExamPaperAnswerPageResponseVO> page = PageInfoHelper.copyMap(pageInfo, e -> {
-            ExamPaperAnswerPageResponseVO vo = new ExamPaperAnswerPageResponseVO();
-            BeanUtils.copyProperties(e, vo);
-            Subject subject = subjectService.getById(vo.getSubjectId());
-            vo.setDoTime(ExamUtil.secondToVM(e.getDoTime()));
-            vo.setSystemScore(ExamUtil.scoreToVM(e.getSystemScore()));
-            vo.setUserScore(ExamUtil.scoreToVM(e.getUserScore()));
-            vo.setPaperScore(ExamUtil.scoreToVM(e.getPaperScore()));
-            vo.setSubjectName(subject.getName());
-            vo.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime()));
-            User user = userService.getById(e.getCreateUser());
-            vo.setUserName(user.getUserName());
-            return vo;
-        });
-        return Result.ok(page);
+        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