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