From 066dd0f13ed576ed158e229d2cabe13629f44712 Mon Sep 17 00:00:00 2001 From: xiongxiaoyang <773861846@qq.com> Date: Sun, 29 May 2022 12:58:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E5=B0=8F=E8=AF=B4?= =?UTF-8?q?=E5=8F=91=E5=B8=83=E7=AB=A0=E8=8A=82=E5=88=97=E8=A1=A8=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/author/AuthorController.java | 9 +++++++++ .../xxyopen/novel/service/BookService.java | 9 +++++++++ .../novel/service/impl/BookServiceImpl.java | 17 +++++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/src/main/java/io/github/xxyopen/novel/controller/author/AuthorController.java b/src/main/java/io/github/xxyopen/novel/controller/author/AuthorController.java index c215395..38dea2c 100644 --- a/src/main/java/io/github/xxyopen/novel/controller/author/AuthorController.java +++ b/src/main/java/io/github/xxyopen/novel/controller/author/AuthorController.java @@ -8,6 +8,7 @@ import io.github.xxyopen.novel.core.constant.ApiRouterConsts; import io.github.xxyopen.novel.dto.req.AuthorRegisterReqDto; import io.github.xxyopen.novel.dto.req.BookAddReqDto; import io.github.xxyopen.novel.dto.req.ChapterAddReqDto; +import io.github.xxyopen.novel.dto.resp.BookChapterRespDto; import io.github.xxyopen.novel.dto.resp.BookInfoRespDto; import io.github.xxyopen.novel.service.AuthorService; import io.github.xxyopen.novel.service.BookService; @@ -63,4 +64,12 @@ public class AuthorController { return bookService.saveBookChapter(dto); } + /** + * 小说发布章节列表查询接口 + */ + @GetMapping("book/chapters/{bookId}") + public RestResp> listBookChapters(@PathVariable("bookId") Long bookId, PageReqDto dto) { + return bookService.listBookChapters(bookId, dto); + } + } diff --git a/src/main/java/io/github/xxyopen/novel/service/BookService.java b/src/main/java/io/github/xxyopen/novel/service/BookService.java index 916391a..4779dc1 100644 --- a/src/main/java/io/github/xxyopen/novel/service/BookService.java +++ b/src/main/java/io/github/xxyopen/novel/service/BookService.java @@ -170,4 +170,13 @@ public interface BookService { * @return 小说分页列表数据 */ RestResp> listAuthorBooks(PageReqDto dto); + + /** + * 查询小说发布章节列表 + * + * @param bookId 小说ID + * @param dto 分页请求参数 + * @return 章节分页列表数据 + */ + RestResp> listBookChapters(Long bookId, PageReqDto dto); } diff --git a/src/main/java/io/github/xxyopen/novel/service/impl/BookServiceImpl.java b/src/main/java/io/github/xxyopen/novel/service/impl/BookServiceImpl.java index 82fe2e5..87f9a13 100644 --- a/src/main/java/io/github/xxyopen/novel/service/impl/BookServiceImpl.java +++ b/src/main/java/io/github/xxyopen/novel/service/impl/BookServiceImpl.java @@ -370,6 +370,23 @@ public class BookServiceImpl implements BookService { .build()).toList())); } + @Override + public RestResp> listBookChapters(Long bookId, PageReqDto dto) { + IPage page = new Page<>(); + page.setCurrent(dto.getPageNum()); + page.setSize(dto.getPageSize()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(DatabaseConsts.BookChapterTable.COLUMN_BOOK_ID, bookId) + .orderByDesc(DatabaseConsts.BookChapterTable.COLUMN_CHAPTER_NUM); + IPage bookChapterPage = bookChapterMapper.selectPage(page, queryWrapper); + return RestResp.ok(PageRespDto.of(dto.getPageNum(), dto.getPageSize(), page.getTotal(), + bookChapterPage.getRecords().stream().map(v -> BookChapterRespDto.builder() + .id(v.getId()) + .chapterName(v.getChapterName()) + .chapterUpdateTime(v.getUpdateTime()) + .build()).toList())); + } + @Override public RestResp getBookContentAbout(Long chapterId) { log.debug("userId:{}", UserHolder.getUserId());