From c50e176c4a6b9331d2d1c0520bafb18f54f0dee6 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 08 三月 2024 17:35:10 +0800 Subject: [PATCH] 部门增加管理员 --- src/main/java/com/mindskip/xzs/controller/admin/QuestionController.java | 73 ++++++++++++++++++++++++++---------- 1 files changed, 53 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/mindskip/xzs/controller/admin/QuestionController.java b/src/main/java/com/mindskip/xzs/controller/admin/QuestionController.java index 30cdbcc..b9c60e0 100644 --- a/src/main/java/com/mindskip/xzs/controller/admin/QuestionController.java +++ b/src/main/java/com/mindskip/xzs/controller/admin/QuestionController.java @@ -4,19 +4,21 @@ import com.mindskip.xzs.base.RestResponse; import com.mindskip.xzs.base.SystemCode; import com.mindskip.xzs.domain.Question; +import com.mindskip.xzs.domain.Subject; import com.mindskip.xzs.domain.TextContent; +import com.mindskip.xzs.domain.enums.QuestionSourceEnum; import com.mindskip.xzs.domain.enums.QuestionTypeEnum; import com.mindskip.xzs.domain.question.QuestionObject; -import com.mindskip.xzs.domain.vo.ExamVO; -import com.mindskip.xzs.service.QuestionService; -import com.mindskip.xzs.service.TextContentService; +import com.mindskip.xzs.repository.DepartmentMapper; +import com.mindskip.xzs.repository.SubjectMapper; +import com.mindskip.xzs.service.*; import com.mindskip.xzs.utility.*; import com.mindskip.xzs.utility.convert.QuestionClassConvert; import com.mindskip.xzs.utility.excel.ExcelUtils; +import com.mindskip.xzs.viewmodel.admin.education.SubjectPageRequestVM; import com.mindskip.xzs.viewmodel.admin.question.*; import com.github.pagehelper.PageInfo; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -34,14 +36,23 @@ private final QuestionService questionService; private final TextContentService textContentService; + private final SubjectMapper subjectMapper; + + private final DepartmentMapper departmentMapper; + + private final QuestionSubjectService questionSubjectService; + @Autowired - public QuestionController(QuestionService questionService, TextContentService textContentService) { + public QuestionController(QuestionService questionService, TextContentService textContentService, SubjectMapper subjectMapper, DepartmentMapper departmentMapper, QuestionSubjectService questionSubjectService) { this.questionService = questionService; this.textContentService = textContentService; + this.subjectMapper = subjectMapper; + this.departmentMapper = departmentMapper; + this.questionSubjectService = questionSubjectService; } @RequestMapping(value = "/page", method = RequestMethod.POST) - public RestResponse<PageInfo<QuestionResponseVM>> pageList(@RequestBody QuestionPageRequestVM model) { + public RestResponse<PageInfo<QuestionResponseVM>> pageList(@RequestBody @Valid QuestionPageRequestVM model) { PageInfo<Question> pageInfo = questionService.page(model); PageInfo<QuestionResponseVM> page = PageInfoHelper.copyMap(pageInfo, q -> { QuestionResponseVM vm = modelMapper.map(q, QuestionResponseVM.class); @@ -51,6 +62,12 @@ QuestionObject questionObject = JsonUtil.toJsonObject(textContent.getContent(), QuestionObject.class); String clearHtml = HtmlUtil.clear(questionObject.getTitleContent()); vm.setShortTitle(clearHtml); + vm.setQuestionSubjects(questionSubjectService.getQuestion(vm.getId()).stream().map(e -> { + SubjectPageRequestVM subjectPageRequestVM = new SubjectPageRequestVM(); + subjectPageRequestVM.setId(e.getSubjectId()); + e.setSubName(subjectMapper.page(subjectPageRequestVM).get(0).getName()); + return e; + }).collect(Collectors.toList())); return vm; }); return RestResponse.ok(page); @@ -81,10 +98,7 @@ @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) public RestResponse delete(@PathVariable Integer id) { - Question question = questionService.selectById(id); - question.setDeleted(true); - questionService.updateByIdFilter(question); - return RestResponse.ok(); + return RestResponse.ok(questionService.remove(id)); } private RestResponse validQuestionEditRequestVM(QuestionEditRequestVM model) { @@ -109,8 +123,14 @@ } @PostMapping("/import") - public void importUser(@RequestPart("file") MultipartFile file) throws Exception { - List<QuestionEditVO> questionEditVOS = ExcelUtils.readMultipartFile(file, QuestionEditVO.class); + public RestResponse importUser(@RequestPart("file") MultipartFile file) throws Exception { + List<QuestionEditVO> questionEditVOS = ExcelUtils.readMultipartFile(file, QuestionEditVO.class) + .stream().map(e -> { + e.setQuestionType(QuestionTypeEnum.get(e.getType())); +// e.setSubjectId(subjectMapper.getName(e.getSbNames()).getId()); +// e.setGradeLevel(departmentMapper.getName(e.getDepartment()).getId()); + return e; + }).collect(Collectors.toList()); List<QuestionEditRequestVM> list = QuestionClassConvert.INSTANCE.QuestionEditVOListToQuestionEditRequestVMList(questionEditVOS); @@ -127,25 +147,38 @@ questionEditItemVM.setPrefix("B"); questionEditItemVM.setContent(vm.getB()); questionEditItemVMS.add(questionEditItemVM); - questionEditItemVM = new QuestionEditItemVM(); - questionEditItemVM.setPrefix("C"); - questionEditItemVM.setContent(vm.getC()); - questionEditItemVMS.add(questionEditItemVM); - questionEditItemVM = new QuestionEditItemVM(); - questionEditItemVM.setPrefix("D"); - questionEditItemVM.setContent(vm.getD()); - questionEditItemVMS.add(questionEditItemVM); + if(!"".equals(vm.getC()) && vm.getC()!=null){ + questionEditItemVM = new QuestionEditItemVM(); + questionEditItemVM.setPrefix("C"); + questionEditItemVM.setContent(vm.getC()); + questionEditItemVMS.add(questionEditItemVM); + } + if(!"".equals(vm.getD()) && vm.getD()!=null){ + questionEditItemVM = new QuestionEditItemVM(); + questionEditItemVM.setPrefix("D"); + questionEditItemVM.setContent(vm.getD()); + questionEditItemVMS.add(questionEditItemVM); + } vm.setItems(questionEditItemVMS); List<String> str = Arrays.asList(vm.getCorrect().split(",")); + List<Subject> subjectList = subjectMapper.getNames(vm.getSbNames().split(",")); + + Integer[] arr =subjectList.stream() + .map(Subject::getId).toArray(Integer[]::new); + + vm.setSubjectIds(arr); //澶氶�� if (str.size() > 1) { vm.setCorrectArray(str); vm.setCorrect(null); } + vm.setScore(QuestionSourceEnum.fromType(vm.getQuestionType()).toString()); + vm.setDifficult(4); questionService.insertFullQuestion(vm, getCurrentUser().getId()); questionEditItemVMS.clear(); } + return RestResponse.ok(); } } -- Gitblit v1.8.0