WANG пре 6 година
родитељ
комит
bfc2d56d44

+ 1 - 1
examcloud-core-examwork-dao/src/main/java/cn/com/qmth/examcloud/core/examwork/dao/ExamSpecialSettingsRepo.java

@@ -20,7 +20,7 @@ public interface ExamSpecialSettingsRepo
 
 	ExamSpecialSettingsEntity findByExamIdAndOrgIdAndCourseIdIsNull(Long examId, Long orgId);
 
-	ExamSpecialSettingsEntity findByExamIdAndOrgIdIsNullAndCourseIdIsNull(Long examId);
+	List<ExamSpecialSettingsEntity> findAllByExamIdAndOrgIdIsNullAndCourseIdIsNull(Long examId);
 
 	List<ExamSpecialSettingsEntity> findAllByExamIdAndCourseIdIsNullAndOrgIdIsNotNull(Long examId);
 

+ 15 - 2
examcloud-core-examwork-service/src/main/java/cn/com/qmth/examcloud/core/examwork/service/impl/ExamServiceImpl.java

@@ -344,8 +344,21 @@ public class ExamServiceImpl implements ExamService {
 			}
 			// 考试设置
 			else {
-				examSpecialSettingsEntity = examSpecialSettingsRepo
-						.findByExamIdAndOrgIdIsNullAndCourseIdIsNull(examSpecialInfo.getExamId());
+				List<ExamSpecialSettingsEntity> all = examSpecialSettingsRepo
+						.findAllByExamIdAndOrgIdIsNullAndCourseIdIsNull(
+								examSpecialInfo.getExamId());
+				// 容错
+				if (CollectionUtils.isNotEmpty(all)) {
+					for (int i = 0; i < all.size(); i++) {
+						ExamSpecialSettingsEntity cur = all.get(i);
+						if (0 == i) {
+							examSpecialSettingsEntity = cur;
+						} else {
+							examSpecialSettingsRepo.delete(cur);
+						}
+					}
+				}
+
 			}
 			if (null == examSpecialSettingsEntity) {
 				examSpecialSettingsEntity = new ExamSpecialSettingsEntity();