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.entity.ExamPaperAnswer; import com.ycl.jxkg.domain.entity.Subject; import com.ycl.jxkg.domain.entity.User; import com.ycl.jxkg.domain.vo.admin.paper.ExamPaperAnswerPageRequestVO; import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageResponseVO; import com.ycl.jxkg.service.ExamPaperAnswerService; import com.ycl.jxkg.service.SubjectService; import com.ycl.jxkg.service.UserService; import com.ycl.jxkg.utils.DateTimeUtil; import com.ycl.jxkg.utils.ExamUtil; import com.ycl.jxkg.utils.PageInfoHelper; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; @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; @PostMapping("/pageExamPaper") public Result> pageExamPaper(@RequestBody ExamPaperAnswerPageRequestVO model) { return Result.ok(examPaperAnswerService.pageExamPaper(model)); } @RequestMapping(value = "/page", method = RequestMethod.POST) public Result> pageJudgeList(@RequestBody ExamPaperAnswerPageRequestVO model) { PageInfo pageInfo = examPaperAnswerService.adminPage(model); PageInfo 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); } }