From 74b520065c267999e6a4cd61c8f7b0d516931f07 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 11 六月 2024 11:40:33 +0800 Subject: [PATCH] 考试管理 --- src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java | 99 +++++++++++++++++++++++++++++-------------------- 1 files changed, 58 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java b/src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java index 89d8875..eb27aa8 100644 --- a/src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java +++ b/src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java @@ -1,75 +1,92 @@ package com.ycl.jxkg.controller.admin; import com.ycl.jxkg.base.BaseApiController; -import com.ycl.jxkg.base.RestResponse; -import com.ycl.jxkg.domain.ExamPaper; +import com.ycl.jxkg.base.Result; +import com.ycl.jxkg.domain.entity.ExamPaper; +import com.ycl.jxkg.domain.form.ExamPaperForm; +import com.ycl.jxkg.enums.VisibilityEnum; +import com.ycl.jxkg.group.Add; +import com.ycl.jxkg.group.Update; +import com.ycl.jxkg.mapper.ExamPaperMapper; import com.ycl.jxkg.service.ExamPaperService; -import com.ycl.jxkg.utility.DateTimeUtil; -import com.ycl.jxkg.utility.PageInfoHelper; -import com.ycl.jxkg.viewmodel.admin.exam.ExamPaperPageRequestVM; -import com.ycl.jxkg.viewmodel.admin.exam.ExamPaperEditRequestVM; -import com.ycl.jxkg.viewmodel.admin.exam.ExamResponseVM; +import com.ycl.jxkg.utils.DateTimeUtil; +import com.ycl.jxkg.utils.PageInfoHelper; +import com.ycl.jxkg.domain.vo.admin.exam.ExamPaperPageRequestVO; +import com.ycl.jxkg.domain.vo.admin.exam.ExamPaperEditRequestVO; +import com.ycl.jxkg.domain.vo.admin.exam.ExamResponseVO; import com.github.pagehelper.PageInfo; -import org.springframework.beans.factory.annotation.Autowired; +import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.Date; +import java.util.List; +@Validated +@RequiredArgsConstructor @RestController("AdminExamPaperController") @RequestMapping(value = "/api/admin/exam/paper") public class ExamPaperController extends BaseApiController { private final ExamPaperService examPaperService; - @Autowired - public ExamPaperController(ExamPaperService examPaperService) { - this.examPaperService = examPaperService; - } + private final ExamPaperMapper baseMapper; @RequestMapping(value = "/page", method = RequestMethod.POST) - public RestResponse<PageInfo<ExamResponseVM>> pageList(@RequestBody ExamPaperPageRequestVM model) { + public Result<PageInfo<ExamResponseVO>> pageList(@RequestBody ExamPaperPageRequestVO model) { PageInfo<ExamPaper> pageInfo = examPaperService.page(model); - PageInfo<ExamResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> { - ExamResponseVM vm = modelMapper.map(e, ExamResponseVM.class); - vm.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime())); - return vm; + PageInfo<ExamResponseVO> page = PageInfoHelper.copyMap(pageInfo, e -> { + ExamResponseVO vo = new ExamResponseVO(); + BeanUtils.copyProperties(e, vo); + vo.setVisibility(VisibilityEnum.valueOf(vo.getVisibility()).getCode()+""); + vo.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime())); + return vo; }); - return RestResponse.ok(page); + return Result.ok(page); } - - @RequestMapping(value = "/taskExamPage", method = RequestMethod.POST) - public RestResponse<PageInfo<ExamResponseVM>> taskExamPageList(@RequestBody ExamPaperPageRequestVM model) { - PageInfo<ExamPaper> pageInfo = examPaperService.taskExamPage(model); - PageInfo<ExamResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> { - ExamResponseVM vm = modelMapper.map(e, ExamResponseVM.class); - vm.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime())); - return vm; - }); - return RestResponse.ok(page); + @RequestMapping(value = "/addPaper", method = RequestMethod.POST) + public Result taskExamPageList(@RequestBody @Validated(Add.class) ExamPaperForm form) { + if (!StringUtils.isBlank(form.getVisibility())) { + form.setVisibility(VisibilityEnum.fromCode(form.getVisibility()).getName()); + } + form.setCreateUser(getCurrentUser().getId()); + form.setCreateTime(new Date()); + ExamPaper entity = ExamPaperForm.getEntityByForm(form,null); + examPaperService.save(entity); + return Result.ok(); } - @RequestMapping(value = "/edit", method = RequestMethod.POST) - public RestResponse<ExamPaperEditRequestVM> edit(@RequestBody @Valid ExamPaperEditRequestVM model) { - ExamPaper examPaper = examPaperService.savePaperFromVM(model, getCurrentUser()); - ExamPaperEditRequestVM newVM = examPaperService.examPaperToVM(examPaper.getId()); - return RestResponse.ok(newVM); + public Result edit(@RequestBody @Validated(Update.class) ExamPaperForm form) { + if (!StringUtils.isBlank(form.getVisibility())) { + form.setVisibility(VisibilityEnum.fromCode(form.getVisibility()).getName()); + } + ExamPaper entity = ExamPaperForm.getEntityByForm(form,null); + examPaperService.updateById(entity); + return Result.ok(); } @RequestMapping(value = "/select/{id}", method = RequestMethod.POST) - public RestResponse<ExamPaperEditRequestVM> select(@PathVariable Integer id) { - ExamPaperEditRequestVM vm = examPaperService.examPaperToVM(id); - return RestResponse.ok(vm); + public Result<ExamPaperEditRequestVO> select(@PathVariable Integer id) { + ExamPaperEditRequestVO vm = examPaperService.examPaperToVM(id); + return Result.ok(vm); } @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(); + public Result delete(@PathVariable Integer id) { + baseMapper.deleteById(id); + return Result.ok(); + } + + @GetMapping("/my") + public Result myExamPaper(Integer paperType) { + List<ExamPaper> list = examPaperService.myExamPaper(paperType); + return Result.ok(list); } } -- Gitblit v1.8.0