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