package com.mindskip.xzs.controller.admin; import com.mindskip.xzs.base.BaseApiController; import com.mindskip.xzs.base.RestResponse; import com.mindskip.xzs.domain.ExamPaper; import com.mindskip.xzs.service.ExamPaperService; import com.mindskip.xzs.utility.DateTimeUtil; import com.mindskip.xzs.utility.PageInfoHelper; import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM; import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM; import com.mindskip.xzs.viewmodel.admin.exam.ExamResponseVM; import com.github.pagehelper.PageInfo; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; /** * @version 2.2.0 * @description: 试卷 * Copyright (C), 2020-2021, 武汉思维跳跃科技有限公司 * @date 2021 /9/7 9:45 */ @RestController("AdminExamPaperController") @RequestMapping(value = "/api/admin/exam/paper") @AllArgsConstructor public class ExamPaperController extends BaseApiController { private final ExamPaperService examPaperService; /** * 试卷分页 * * @param model * @return */ @RequestMapping(value = "/page", method = RequestMethod.POST) public RestResponse> pageList(@RequestBody ExamPaperPageRequestVM model) { PageInfo pageInfo = examPaperService.adminPage(model); PageInfo page = PageInfoHelper.copyMap(pageInfo, e -> { ExamResponseVM vm = modelMapper.map(e, ExamResponseVM.class); vm.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime())); return vm; }); return RestResponse.ok(page); } /** * 任务试卷分页 * * @param model * @return */ @RequestMapping(value = "/taskExamPage", method = RequestMethod.POST) public RestResponse> taskExamPageList(@RequestBody ExamPaperPageRequestVM model) { PageInfo pageInfo = examPaperService.taskExamPage(model); PageInfo page = PageInfoHelper.copyMap(pageInfo, e -> { ExamResponseVM vm = modelMapper.map(e, ExamResponseVM.class); vm.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime())); return vm; }); return RestResponse.ok(page); } /** * 试卷编辑 * * @param model * @return */ @RequestMapping(value = "/edit", method = RequestMethod.POST) public RestResponse edit(@RequestBody @Valid ExamPaperEditRequestVM model) { examPaperService.savePaperFromVM(model, getCurrentUser()); return RestResponse.ok(); } /** * 试卷查看 * * @param id * @return */ @RequestMapping(value = "/select/{id}", method = RequestMethod.POST) public RestResponse select(@PathVariable Integer id) { ExamPaperEditRequestVM vm = examPaperService.examPaperToVM(id); return RestResponse.ok(vm); } /** * 试卷删除 * * @param id * @return */ @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) public RestResponse delete(@PathVariable Integer id) { ExamPaper examPaper = examPaperService.selectById(id); examPaper.setDeleted(true); examPaperService.updateByIdFilter(examPaper); return RestResponse.ok(); } }