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

Loading…
Cancel
Save