From 0879a157fd7c85ec34f1dac51a2b113bf1f5f2f6 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期五, 07 六月 2024 15:53:54 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java | 93 +++++++++++++++++++++++++--------------------- 1 files changed, 51 insertions(+), 42 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..e51a998 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,84 @@ 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; +@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(); } } -- Gitblit v1.8.0