package com.ycl.jxkg.controller.admin; import com.ycl.jxkg.base.BaseApiController; import com.ycl.jxkg.base.Result; import com.ycl.jxkg.domain.ExamPaper; import com.ycl.jxkg.service.ExamPaperService; import com.ycl.jxkg.utils.DateTimeUtil; import com.ycl.jxkg.utils.PageInfoHelper; import com.ycl.jxkg.vo.admin.exam.ExamPaperPageRequestVO; import com.ycl.jxkg.vo.admin.exam.ExamPaperEditRequestVO; import com.ycl.jxkg.vo.admin.exam.ExamResponseVO; import com.github.pagehelper.PageInfo; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @RequiredArgsConstructor @RestController("AdminExamPaperController") @RequestMapping(value = "/api/admin/exam/paper") public class ExamPaperController extends BaseApiController { private final ExamPaperService examPaperService; @RequestMapping(value = "/page", method = RequestMethod.POST) public Result> pageList(@RequestBody ExamPaperPageRequestVO model) { PageInfo pageInfo = examPaperService.page(model); PageInfo page = PageInfoHelper.copyMap(pageInfo, e -> { ExamResponseVO vo = new ExamResponseVO(); BeanUtils.copyProperties(e, vo); vo.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime())); return vo; }); return Result.ok(page); } @RequestMapping(value = "/taskExamPage", method = RequestMethod.POST) public Result> taskExamPageList(@RequestBody ExamPaperPageRequestVO model) { PageInfo pageInfo = examPaperService.taskExamPage(model); PageInfo page = PageInfoHelper.copyMap(pageInfo, e -> { ExamResponseVO vo = new ExamResponseVO(); BeanUtils.copyProperties(e, vo); vo.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime())); return vo; }); return Result.ok(page); } @RequestMapping(value = "/edit", method = RequestMethod.POST) public Result edit(@RequestBody @Valid ExamPaperEditRequestVO model) { ExamPaper examPaper = examPaperService.savePaperFromVM(model, getCurrentUser()); ExamPaperEditRequestVO newVM = examPaperService.examPaperToVM(examPaper.getId()); return Result.ok(newVM); } @RequestMapping(value = "/select/{id}", method = RequestMethod.POST) public Result select(@PathVariable Integer id) { ExamPaperEditRequestVO vm = examPaperService.examPaperToVM(id); return Result.ok(vm); } @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) public Result delete(@PathVariable Integer id) { ExamPaper examPaper = examPaperService.getById(id); examPaper.setDeleted(true); examPaperService.updateById(examPaper); return Result.ok(); } }