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 1322892..c8d3332 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 @@ -443,23 +443,28 @@ public class BookServiceImpl implements BookService { .orderByDesc(DatabaseConsts.CommonColumnEnum.UPDATE_TIME.getName()); IPage bookCommentPage = bookCommentMapper.selectPage(page, queryWrapper); List comments = bookCommentPage.getRecords(); + + List commentRespDtoList = Collections.emptyList(); if (!CollectionUtils.isEmpty(comments)) { List bookIds = comments.stream().map(BookComment::getBookId).toList(); QueryWrapper bookInfoQueryWrapper = new QueryWrapper<>(); bookInfoQueryWrapper.in(DatabaseConsts.CommonColumnEnum.ID.getName(), bookIds); Map bookInfoMap = bookInfoMapper.selectList(bookInfoQueryWrapper).stream() .collect(Collectors.toMap(BookInfo::getId, Function.identity())); - return RestResp.ok(PageRespDto.of(pageReqDto.getPageNum(), pageReqDto.getPageSize(), page.getTotal(), - comments.stream().map(v -> UserCommentRespDto.builder() + + commentRespDtoList = comments.stream().map(v -> { + BookInfo bookInfo = bookInfoMap.get(v.getBookId()); + return UserCommentRespDto.builder() .commentContent(v.getCommentContent()) - .commentBook(bookInfoMap.get(v.getBookId()).getBookName()) - .commentBookPic(bookInfoMap.get(v.getBookId()).getPicUrl()) + .commentBook(bookInfo != null ? bookInfo.getBookName() : null) + .commentBookPic(bookInfo != null ? bookInfo.getPicUrl() : null) .commentTime(v.getCreateTime()) - .build()).toList())); - + .build(); + }).toList(); } - return RestResp.ok(PageRespDto.of(pageReqDto.getPageNum(), pageReqDto.getPageSize(), page.getTotal(), - Collections.emptyList())); + + return RestResp.ok(PageRespDto.of(pageReqDto.getPageNum(), pageReqDto.getPageSize(), + page.getTotal(), commentRespDtoList)); } @Transactional(rollbackFor = Exception.class)