|
@@ -13,6 +13,7 @@ import cn.com.qmth.examcloud.core.questions.base.CommonUtils;
|
|
import cn.com.qmth.examcloud.core.questions.base.exception.PaperException;
|
|
import cn.com.qmth.examcloud.core.questions.base.exception.PaperException;
|
|
import cn.com.qmth.examcloud.core.questions.dao.*;
|
|
import cn.com.qmth.examcloud.core.questions.dao.*;
|
|
import cn.com.qmth.examcloud.core.questions.dao.entity.*;
|
|
import cn.com.qmth.examcloud.core.questions.dao.entity.*;
|
|
|
|
+import com.google.common.collect.Lists;
|
|
import main.java.com.UpYun;
|
|
import main.java.com.UpYun;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
@@ -95,12 +96,18 @@ public class ClonePaperService {
|
|
|
|
|
|
//复制原试卷的信息
|
|
//复制原试卷的信息
|
|
Paper newPaper = this.copyPaper(oldPaper, paperName, course, user);
|
|
Paper newPaper = this.copyPaper(oldPaper, paperName, course, user);
|
|
-
|
|
|
|
//保存新试卷
|
|
//保存新试卷
|
|
paperRepo.save(newPaper);
|
|
paperRepo.save(newPaper);
|
|
-
|
|
|
|
- //保存新试卷的所有试题信息
|
|
|
|
- this.savePaperDetails(detailMaps, newPaper, user);
|
|
|
|
|
|
+ try {
|
|
|
|
+ //保存新试卷的所有试题信息
|
|
|
|
+ this.savePaperDetails(detailMaps, newPaper, user);
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ if (newPaper.getId() != null) {
|
|
|
|
+ //如果试题保存失败,则还原数据
|
|
|
|
+ paperService.deletePapers(Lists.newArrayList(newPaper.getId()));
|
|
|
|
+ }
|
|
|
|
+ throw new PaperException("克隆试卷失败!");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|