修复课程拷贝时,替换新旧Id产生的无限递归问题

beetlsql3-dev
yaodan 2 years ago
parent d5b83ec2c7
commit 52be3a1516

@ -749,14 +749,20 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
public void updateSpecifyMergeCourseInfoIdTargetList(List<TeacherOpenCourseMergeCourseInfo> courseInfoList, public void updateSpecifyMergeCourseInfoIdTargetList(List<TeacherOpenCourseMergeCourseInfo> courseInfoList,
@NotEmpty(message = "ID对不能为空") Map<Long, Long> somecourseInfoIdPair) { @NotEmpty(message = "ID对不能为空") Map<Long, Long> somecourseInfoIdPair) {
for (TeacherOpenCourseMergeCourseInfo courseInfo : courseInfoList) { for (TeacherOpenCourseMergeCourseInfo courseInfo : courseInfoList) {
somecourseInfoIdPair.forEach((oldId, newId) -> { if (somecourseInfoIdPair.containsKey(courseInfo.getTeacherOpenCourseMergeCourseInfoId())) {
if (courseInfo.getTeacherOpenCourseMergeCourseInfoId().equals(oldId)) { courseInfo.setTeacherOpenCourseMergeCourseInfoId(somecourseInfoIdPair.get(courseInfo.getTeacherOpenCourseMergeCourseInfoId()));
courseInfo.setTeacherOpenCourseMergeCourseInfoId(newId); }
} if (somecourseInfoIdPair.containsKey(courseInfo.getCourseInfoParentId())) {
if (courseInfo.getCourseInfoParentId().equals(oldId)) { courseInfo.setCourseInfoParentId(somecourseInfoIdPair.get(courseInfo.getCourseInfoParentId()));
courseInfo.setCourseInfoParentId(newId); }
} //somecourseInfoIdPair.forEach((oldId, newId) -> {
}); // if (courseInfo.getTeacherOpenCourseMergeCourseInfoId().equals(oldId)) {
// courseInfo.setTeacherOpenCourseMergeCourseInfoId(newId);
// }
// if (courseInfo.getCourseInfoParentId().equals(oldId)) {
// courseInfo.setCourseInfoParentId(newId);
// }
//});
} }
} }
@ -1110,7 +1116,8 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
for (TeacherOpenCourseMergeCourseInfo courseInfo : courseInfoList) { for (TeacherOpenCourseMergeCourseInfo courseInfo : courseInfoList) {
// 先处理掉一些不合规的数据。防止死循环过滤掉父类ID是他自己的情况 // 先处理掉一些不合规的数据。防止死循环过滤掉父类ID是他自己的情况
if (courseInfo.getCourseInfoParentId() == null if (courseInfo.getCourseInfoParentId() == null
|| courseInfo.getCourseInfoParentId().equals(courseInfo.getTeacherOpenCourseMergeCourseInfoId())) { || courseInfo.getCourseInfoParentId().equals(courseInfo.getTeacherOpenCourseMergeCourseInfoId())
|| courseInfo.getTeacherOpenCourseMergeCourseInfoId().equals(filterTeacherOpenCourseMergeCourseInfoId)) {
continue; continue;
} }
// 处理关系 // 处理关系
@ -1447,10 +1454,10 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
public void importOpenCourseInfo(HashSet<Long> oldTeacherOpenCourseIds, Long teacherOpenCourseId) { public void importOpenCourseInfo(HashSet<Long> oldTeacherOpenCourseIds, Long teacherOpenCourseId) {
if (teacherOpenCourseId==null||CollectionUtil.isEmpty(oldTeacherOpenCourseIds)){ if (teacherOpenCourseId == null || CollectionUtil.isEmpty(oldTeacherOpenCourseIds)) {
throw new PlatformException("参数错误"); throw new PlatformException("参数错误");
} }
if (oldTeacherOpenCourseIds.contains(teacherOpenCourseId)){ if (oldTeacherOpenCourseIds.contains(teacherOpenCourseId)) {
throw new PlatformException("不能自己导入自己"); throw new PlatformException("不能自己导入自己");
} }

Loading…
Cancel
Save