diff --git a/start/src/main/resources/templates/template/class_paper_answer.docx b/start/src/main/resources/templates/template/class_paper_answer.docx new file mode 100644 index 0000000..09d1b0f --- /dev/null +++ b/start/src/main/resources/templates/template/class_paper_answer.docx @@ -0,0 +1,6 @@ + {{examName}} + (满分:{{examScore}}分) +{{question_list}} +([questionTypeName]) [index].[questionDry] (题目分值:[score] 正确答案:[answer]) +[optionsText] + diff --git a/web-app/src/main/java/com/zcloud/edu/command/study/ClassCurriculumAddExe.java b/web-app/src/main/java/com/zcloud/edu/command/study/ClassCurriculumAddExe.java index 2368e4b..6882b89 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/study/ClassCurriculumAddExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/study/ClassCurriculumAddExe.java @@ -11,16 +11,18 @@ import com.zcloud.edu.dto.study.ClassCurriculumBatchAddCmd; import com.zcloud.edu.dto.study.ClassCurriculumChapterAddCmd; import com.zcloud.edu.persistence.dataobject.CurriculumChapterDO; import com.zcloud.edu.persistence.dataobject.CurriculumDO; +import com.zcloud.edu.persistence.dataobject.study.ClassCurriculumDO; import com.zcloud.edu.persistence.repository.resource.CurriculumChapterRepository; import com.zcloud.edu.persistence.repository.resource.CurriculumRepository; +import com.zcloud.edu.persistence.repository.study.ClassCurriculumRepository; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** @@ -36,13 +38,30 @@ public class ClassCurriculumAddExe { private final ClassCurriculumChapterGateway classCurriculumChapterGateway; private final CurriculumRepository curriculumRepository; private final CurriculumChapterRepository curriculumChapterRepository; + private final ClassCurriculumRepository classCurriculumRepository; @Transactional(rollbackFor = Exception.class) public boolean execute(List cmdList) { ClassCurriculumE classCurriculumE = new ClassCurriculumE(); // cmdList 转 Elist List classCurriculumEList = new ArrayList<>(); + Map params = new HashMap<>(); + String curIds = cmdList.stream() + .map(ClassCurriculumAddCmd::getCurriculumId) + .filter(Objects::nonNull) + .collect(Collectors.joining(",")); + params.put("inCurriculumId", curIds); + params.put("classId", cmdList.get(0).getClassId()); + List classCurriculumList = classCurriculumRepository.listAll(params); + if (classCurriculumList != null && classCurriculumList.size() > 0){ + String name = classCurriculumList.stream() + .map(ClassCurriculumDO::getCurriculumName) + .filter(Objects::nonNull) + .collect(Collectors.joining(",")); + throw new BizException( "课程已存在:" + name); + } for (ClassCurriculumAddCmd curCmd : cmdList){ + ClassCurriculumE curriculum = new ClassCurriculumE(); BeanUtils.copyProperties(curCmd, curriculum); BigDecimal decimal = BigDecimal.valueOf(curCmd.getVideoTotalTime()); @@ -85,6 +104,17 @@ public class ClassCurriculumAddExe { @Transactional(rollbackFor = Exception.class) public void executeBatchAdd(ClassCurriculumBatchAddCmd cmd) { + Map params = new HashMap<>(); + params.put("inCurriculumId", cmd.getCurriculumIds()); + params.put("classId", cmd.getClassId()); + List classCurriculumList = classCurriculumRepository.listAll(params); + if (classCurriculumList != null && classCurriculumList.size() > 0){ + String name = classCurriculumList.stream() + .map(ClassCurriculumDO::getCurriculumName) + .filter(Objects::nonNull) + .collect(Collectors.joining(",")); + throw new BizException( "课程已存在:" + name); + } List curList = curriculumRepository.listByCurriculumIds(cmd.getCurriculumIds()); List chapterList = curriculumChapterRepository.listByCurriculumIds(cmd.getCurriculumIds()); List curEList = BeanUtil.copyToList(curList, ClassCurriculumE.class); diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/study/ClassCurriculumRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/study/ClassCurriculumRepository.java index 797e54c..039481f 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/study/ClassCurriculumRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/study/ClassCurriculumRepository.java @@ -25,5 +25,7 @@ public interface ClassCurriculumRepository extends BaseRepository listAll(Map params); + + }