解决课程直接提审问题

This commit is contained in:
670788339
2025-11-18 18:17:46 +08:00
parent 7fd02ac25f
commit a6335abcc7

View File

@@ -1028,13 +1028,12 @@ public class CourseServiceImpl implements ICourseService {
}*/ }*/
if (!nowCourse.getSysVersion().equals(c.getSysVersion())) { if (!nowCourse.getSysVersion().equals(c.getSysVersion())) {
log.warn("乐观锁冲突 - 课程ID: {}, 期望版本: {}, 实际版本: {}", log.warn(" - 课程ID: {}, 期望版本: {}, 实际版本: {}",
c.getId(), c.getSysVersion(), nowCourse.getSysVersion()); c.getId(), c.getSysVersion(), nowCourse.getSysVersion());
// throw new RuntimeException("数据已被其他用户修改,请刷新页面后重试");
// 基本无概率同时修改同一课程 如有 以最后提交为准 // 基本无概率同时修改同一课程 如有 以最后提交为准
c.setSysVersion(courseDao.getVersion(c.getId())); c.setSysVersion(courseDao.getVersion(c.getId()));
} }
log.info("-------- 课程保存 update ------- tag = {} " , c.getTags());
courseDao.update(c); courseDao.update(c);
c.setSysVersion(courseDao.getVersion(c.getId())); c.setSysVersion(courseDao.getVersion(c.getId()));
full.getCourse().setSysVersion(c.getSysVersion()); full.getCourse().setSysVersion(c.getSysVersion());
@@ -1132,6 +1131,13 @@ public class CourseServiceImpl implements ICourseService {
Course c = full.getCourse();//当前的课程信息 Course c = full.getCourse();//当前的课程信息
c.setPublished(true); c.setPublished(true);
c.setPublishTime(LocalDateTime.now()); c.setPublishTime(LocalDateTime.now());
Course nowCourse = courseDao.get(c.getId());
if (!nowCourse.getSysVersion().equals(c.getSysVersion())) {
log.warn(" - 课程ID: {}, 期望版本: {}, 实际版本: {}",
c.getId(), c.getSysVersion(), nowCourse.getSysVersion());
// 基本无概率同时修改同一课程 如有 以最后提交为准
c.setSysVersion(courseDao.getVersion(c.getId()));
}
courseDao.update(c); courseDao.update(c);
// 兼容处理,记录下删除的关联数据 // 兼容处理,记录下删除的关联数据