添加班级课程重复检查功能

dev
zhangyue 2026-03-07 09:59:48 +08:00
parent 27cff1f275
commit 63317d726c
3 changed files with 34 additions and 2 deletions

View File

@ -0,0 +1,6 @@
{{examName}}
(满分:{{examScore}}分)
{{question_list}}
[questionTypeName] [index].[questionDry] (题目分值:[score] 正确答案:[answer]
[optionsText]

View File

@ -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<ClassCurriculumAddCmd> cmdList) {
ClassCurriculumE classCurriculumE = new ClassCurriculumE();
// cmdList 转 Elist
List<ClassCurriculumE> classCurriculumEList = new ArrayList<>();
Map<String, Object> 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<ClassCurriculumDO> 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<String, Object> params = new HashMap<>();
params.put("inCurriculumId", cmd.getCurriculumIds());
params.put("classId", cmd.getClassId());
List<ClassCurriculumDO> 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<CurriculumDO> curList = curriculumRepository.listByCurriculumIds(cmd.getCurriculumIds());
List<CurriculumChapterDO> chapterList = curriculumChapterRepository.listByCurriculumIds(cmd.getCurriculumIds());
List<ClassCurriculumE> curEList = BeanUtil.copyToList(curList, ClassCurriculumE.class);

View File

@ -25,5 +25,7 @@ public interface ClassCurriculumRepository extends BaseRepository<ClassCurriculu
Integer deleteByClassId(String classId);
List<ClassCurriculumDO> listAll(Map<String, Object> params);
}