From 5ada29cec4b0c4a339a3e1c207363ae71e02c42f Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 11 六月 2024 14:55:31 +0800
Subject: [PATCH] 考试管理、bug处理
---
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