diff --git a/src/main/java/com/peanut/modules/sociology/service/impl/CourseCatalogueChapterServiceImpl.java b/src/main/java/com/peanut/modules/sociology/service/impl/CourseCatalogueChapterServiceImpl.java index b7e30c0..96a66c7 100644 --- a/src/main/java/com/peanut/modules/sociology/service/impl/CourseCatalogueChapterServiceImpl.java +++ b/src/main/java/com/peanut/modules/sociology/service/impl/CourseCatalogueChapterServiceImpl.java @@ -86,18 +86,21 @@ public class CourseCatalogueChapterServiceImpl extends ServiceImpl getNextChapterDetail(Integer chapterId) { CourseCatalogueChapterEntity currentChapter = this.getById(chapterId); - if (currentChapter==null) return null; + if (currentChapter == null) { + return null; + } - CourseCatalogueChapterEntity nextChapter = this.getOne( - new LambdaQueryWrapper() - .eq(CourseCatalogueChapterEntity::getCatalogueId, currentChapter.getCatalogueId()) - .gt(CourseCatalogueChapterEntity::getSort, currentChapter.getSort() ) - .orderByAsc(CourseCatalogueChapterEntity::getSort) - .last("limit 1") - ); - if (nextChapter==null) return null; - - return getChapterDetail(nextChapter.getId()); + // 复用目录章节列表,保证下一章顺序与列表接口完全一致 + List chapterList = getCourseCatalogueChapterList(currentChapter.getCatalogueId()); + for (int i = 0; i < chapterList.size(); i++) { + if (chapterId.equals(chapterList.get(i).getId())) { + if (i + 1 >= chapterList.size()) { + return null; + } + return getChapterDetail(chapterList.get(i + 1).getId()); + } + } + return null; }