package com.ycl.jxkg.controller.wx.student; import com.ycl.jxkg.base.Result; import com.ycl.jxkg.controller.wx.BaseWXApiController; import com.ycl.jxkg.domain.entity.ExamPaper; import com.ycl.jxkg.domain.entity.Subject; import com.ycl.jxkg.service.ExamPaperService; import com.ycl.jxkg.service.SubjectService; import com.ycl.jxkg.utils.DateTimeUtil; import com.ycl.jxkg.utils.PageInfoHelper; import com.ycl.jxkg.domain.vo.admin.exam.ExamPaperEditRequestVO; import com.ycl.jxkg.domain.vo.student.exam.ExamPaperPageResponseVO; import com.ycl.jxkg.domain.vo.student.exam.ExamPaperPageVO; import com.github.pagehelper.PageInfo; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @RequiredArgsConstructor @Controller("WXStudentExamController") @RequestMapping(value = "/api/wx/student/exampaper") @ResponseBody public class ExamPaperController extends BaseWXApiController { private final ExamPaperService examPaperService; private final SubjectService subjectService; @RequestMapping(value = "/select/{id}", method = RequestMethod.POST) public Result select(@PathVariable Integer id) { ExamPaperEditRequestVO vm = examPaperService.examPaperToVM(id); return Result.ok(vm); } @RequestMapping(value = "/pageList", method = RequestMethod.POST) public Result> pageList(@Valid ExamPaperPageVO model) { model.setLevelId(getCurrentUser().getUserLevel()); PageInfo pageInfo = examPaperService.studentPage(model); PageInfo page = PageInfoHelper.copyMap(pageInfo, e -> { ExamPaperPageResponseVO vo = new ExamPaperPageResponseVO(); BeanUtils.copyProperties(e, vo); Subject subject = subjectService.getById(vo.getSubjectId()); vo.setSubjectName(subject.getName()); vo.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime())); return vo; }); return Result.ok(page); } }