From 4f0b80617ba30bec3b1972afba72f2c310833093 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 28 十一月 2024 16:54:11 +0800
Subject: [PATCH] bug
---
src/main/java/com/mindskip/xzs/controller/admin/QuestionController.java | 47 +++++++++++++++++++++++++++--------------------
1 files changed, 27 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 e8879cd..56dbf2f 100644
--- a/src/main/java/com/mindskip/xzs/controller/admin/QuestionController.java
+++ b/src/main/java/com/mindskip/xzs/controller/admin/QuestionController.java
@@ -2,6 +2,7 @@
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.base.BaseApiController;
import com.mindskip.xzs.base.RestResponse;
@@ -330,18 +331,22 @@
questionService.insert(question);
- // 鏌ュ嚭鎵�鏈夌殑璇剧洰
- List<Subject> subjects = subjectMapper.allSubject(new ArrayList<>(), Boolean.TRUE);
+
List<String> subjectNames = Arrays.asList(excelQuestion.getSubjectName().split(SPLIT));
- List<Subject> targetSubject = subjects.stream()
- .filter(subject -> subjectNames.contains(subject.getName()))
- .collect(Collectors.toList());
- if (CollectionUtils.isEmpty(targetSubject)) {
- // todo 璁板綍杩欎釜閿欒
- continue;
- }
+ List<Subject> subjects = subjectNames.stream().map(name -> {
+ // 鍒ゆ柇璇剧洰鏄惁瀛樺湪浜庢暟鎹簱锛屽鏋滀笉瀛樺湪鍒欒嚜鍔ㄦ柊澧炶鐩�
+ Subject byName = subjectMapper.getByName(name);
+ if (Objects.isNull(byName)) {
+ byName = new Subject();
+ byName.setName(name);
+ byName.setDeleted(false);
+ subjectMapper.insert(byName);
+ }
+ return byName;
+ }).collect(Collectors.toList());
+
// 鏋勫缓璇剧洰-棰樼洰淇℃伅
- questionSubjectsList = targetSubject.stream()
+ questionSubjectsList = subjects.stream()
.filter(subject -> {
// 鍘婚噸棰樼洰锛氶骞�+璇剧洰鐩稿悓鎵嶇畻鍚屼竴棰�
List<QuestionSubjectVO> lists = questionService.countQuestionByTitleAndSubject(excelQuestion.getTitle(), subject.getId());
@@ -359,18 +364,20 @@
questionSubjectService.saves(questionSubjectsList);
}
} else {
- // 鏌ュ嚭鎵�鏈夌殑璇剧洰
- List<Subject> subjects = subjectMapper.allSubject(new ArrayList<>(), Boolean.TRUE);
List<String> subjectNames = Arrays.asList(excelQuestion.getSubjectName().split(SPLIT));
- List<Subject> targetSubject = subjects.stream()
- .filter(subject -> subjectNames.contains(subject.getName()))
- .collect(Collectors.toList());
- if (CollectionUtils.isEmpty(targetSubject)) {
- // todo 璁板綍杩欎釜閿欒
- continue;
- }
+ List<Subject> subjects = subjectNames.stream().map(name -> {
+ // 鍒ゆ柇璇剧洰鏄惁瀛樺湪浜庢暟鎹簱锛屽鏋滀笉瀛樺湪鍒欒嚜鍔ㄦ柊澧炶鐩�
+ Subject byName = subjectMapper.getByName(name);
+ if (Objects.isNull(byName)) {
+ byName = new Subject();
+ byName.setName(name);
+ byName.setDeleted(false);
+ subjectMapper.insert(byName);
+ }
+ return byName;
+ }).collect(Collectors.toList());
// 鏋勫缓璇剧洰-棰樼洰淇℃伅
- questionSubjectsList = targetSubject.stream()
+ questionSubjectsList = subjects.stream()
.filter(subject -> {
// 鍘婚噸棰樼洰锛氶骞�+璇剧洰鐩稿悓鎵嶇畻鍚屼竴棰�
List<QuestionSubjectVO> lists = questionService.countQuestionByTitleAndSubject(excelQuestion.getTitle(), subject.getId());
--
Gitblit v1.8.0