From 47cd9ecc0eff38ffe6b3b794b2bf197e958f4403 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 14 五月 2025 15:50:57 +0800
Subject: [PATCH] bug:学员有状态不能修改问题

---
 src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java |   57 +++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 39 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java b/src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java
index 843762e..49e7bb7 100644
--- a/src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java
+++ b/src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java
@@ -3,49 +3,62 @@
 import com.github.pagehelper.PageInfo;
 import com.mindskip.xzs.base.BaseApiController;
 import com.mindskip.xzs.base.RestResponse;
-import com.mindskip.xzs.domain.ExamPaper;
+import com.mindskip.xzs.context.WebContext;
 import com.mindskip.xzs.domain.ExamTemplates;
+import com.mindskip.xzs.domain.ExamTemplatesConfig;
 import com.mindskip.xzs.domain.ExamTemplatesSubject;
-import com.mindskip.xzs.domain.User;
 import com.mindskip.xzs.domain.vo.ExamTemplatesVO;
 import com.mindskip.xzs.repository.ExamTemplatesSubjectMapper;
+import com.mindskip.xzs.service.ExamPaperDepartmentService;
+import com.mindskip.xzs.service.ExamTemplatesConfigService;
 import com.mindskip.xzs.service.ExamTemplatesService;
 import com.mindskip.xzs.utility.PageInfoHelper;
+import com.mindskip.xzs.utility.minio.DateUtils;
 import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
-import lombok.extern.slf4j.Slf4j;
+import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 @RestController("AdminExamTemplatesController")
 @RequestMapping(value = "/api/admin/exam/templates")
+@RequiredArgsConstructor
 public class ExamTemplatesController extends BaseApiController {
 
     private final ExamTemplatesService examTemplatesService;
+    private final ExamTemplatesConfigService examTemplatesConfigService;
     private final ExamTemplatesSubjectMapper examTemplatesSubjectMapper;
-
-    public ExamTemplatesController(ExamTemplatesService examTemplatesService, ExamTemplatesSubjectMapper examTemplatesSubjectMapper) {
-        this.examTemplatesService = examTemplatesService;
-        this.examTemplatesSubjectMapper = examTemplatesSubjectMapper;
-    }
+    private final WebContext webContext;
+    private final ExamPaperDepartmentService examPaperDepartmentService;
 
     @RequestMapping(value = "/edit", method = RequestMethod.POST)
     public RestResponse edit(@RequestBody @Valid ExamPaperEditRequestVM model) {
+        model.setCreateUser(getCurrentUser().getId());
         examTemplatesService.add(model);
         return RestResponse.ok();
     }
 
-    @RequestMapping(value = "/list", method = RequestMethod.GET)
-    public RestResponse<PageInfo<ExamTemplatesVO>> list(ExamTemplatesVO examTemplatesVO) throws Exception {
-        PageInfo<ExamTemplates> pageInfo = examTemplatesService.gets(examTemplatesVO);
+    @RequestMapping(value = "/list", method = RequestMethod.POST)
+    public RestResponse<PageInfo<ExamTemplatesVO>> list(@RequestBody ExamTemplatesVO examTemplatesVO) throws Exception {
+        // 濡傛灉鏄儴闂ㄧ鐞嗗憳锛岄渶瑕佸仛鏁版嵁鏉冮檺
+        examTemplatesVO.setDeptId(ObjectUtils.isNotEmpty(examTemplatesVO.getDeptId()) ? examTemplatesVO.getDeptId() : getAdminDeptIds());
+        PageInfo<ExamTemplates> pageInfo = examTemplatesService.getByadmins(examTemplatesVO);
         PageInfo<ExamTemplatesVO> info = PageInfoHelper.copyMap(pageInfo, e -> {
             ExamTemplatesVO vo = new ExamTemplatesVO();
             vo.setName(e.getName());
             vo.setId(e.getId());
             vo.setCtime(e.getCtime());
-            Integer[] ids = examTemplatesSubjectMapper.getTemplatesId(e.getId()).stream().map(ExamTemplatesSubject::getSubjectId).toArray(Integer[]::new);
+
+            List<ExamTemplatesSubject> subjectList = examTemplatesSubjectMapper.getTemplatesId(e.getId());
+            Integer[] ids = subjectList.stream().map(ExamTemplatesSubject::getSubjectId).toArray(Integer[]::new);
+            String subjectNames = subjectList.stream().map(ExamTemplatesSubject::getSubjectName).collect(Collectors.joining("銆�"));
+            vo.setSubjectNames(subjectNames);
             vo.setSubjectId(ids);
+            vo.setCreateDepartment(examPaperDepartmentService.selectByUserId(e.getCreateUser()));
             return vo;
         });
         return RestResponse.ok(info);
@@ -62,10 +75,18 @@
         return RestResponse.ok();
     }
 
-//    @RequestMapping(value = "/random", method = RequestMethod.POST)
-//    public RestResponse<Integer> randomExam() throws Exception {
-//        User user = getCurrentUser();
-//        Integer id = examTemplatesService.randomExam(user);
-//        return RestResponse.ok(id);
-//    }
+    @PostMapping("/setConfig")
+    public RestResponse<Boolean> setConfig(@RequestBody ExamTemplatesConfig examTemplatesConfig) {
+        if (Objects.isNull(examTemplatesConfig.getId())) {
+            examTemplatesConfig.setCreateUser(getCurrentUser().getId());
+            examTemplatesConfig.setCreateTime(DateUtils.getNowDate());
+        }
+        return RestResponse.ok(examTemplatesConfigService.saveOrUpdate(examTemplatesConfig));
+    }
+
+    @GetMapping("/getConfig")
+    public RestResponse<ExamTemplatesConfig> getConfig() {
+        return RestResponse.ok(examTemplatesConfigService.getConfig());
+    }
+
 }

--
Gitblit v1.8.0