From da024491493d353a3033676d5de8c2a81873abc1 Mon Sep 17 00:00:00 2001 From: xiongxiaoyang <1179705413@qq.com> Date: Tue, 20 Oct 2026 07:33:57 +0800 Subject: [PATCH] =?UTF-8?q?feat(mobile):=20=E5=AE=8C=E5=96=84=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E7=AB=AF=E4=B8=AA=E4=BA=BA=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../novel/controller/UserController.java | 16 ++ .../novel/controller/page/PageController.java | 16 ++ .../FrontBookParagraphCommentMapper.java | 5 + .../service/BookParagraphCommentService.java | 6 + .../impl/BookParagraphCommentServiceImpl.java | 9 + .../com/java2nb/novel/vo/BookCommentVO.java | 10 + .../novel/vo/BookParagraphCommentVO.java | 15 + .../mybatis/mapping/BookCommentMapper.xml | 8 +- .../FrontBookParagraphCommentMapper.xml | 11 + .../templates/mobile/user/comment.html | 244 ++++++++++++++++ .../mobile/user/paragraph_comment.html | 268 ++++++++++++++++++ .../templates/mobile/user/userinfo.html | 56 +--- 12 files changed, 618 insertions(+), 46 deletions(-) create mode 100644 novel-front/src/main/resources/templates/mobile/user/comment.html create mode 100644 novel-front/src/main/resources/templates/mobile/user/paragraph_comment.html diff --git a/novel-front/src/main/java/com/java2nb/novel/controller/UserController.java b/novel-front/src/main/java/com/java2nb/novel/controller/UserController.java index 5d5c6ad..44263c2 100644 --- a/novel-front/src/main/java/com/java2nb/novel/controller/UserController.java +++ b/novel-front/src/main/java/com/java2nb/novel/controller/UserController.java @@ -8,6 +8,7 @@ import com.java2nb.novel.core.utils.IpUtil; import com.java2nb.novel.core.utils.RandomValidateCodeUtil; import com.java2nb.novel.entity.User; import com.java2nb.novel.entity.UserBuyRecord; +import com.java2nb.novel.service.BookParagraphCommentService; import com.java2nb.novel.service.BookService; import com.java2nb.novel.service.UserService; import io.github.xxyopen.model.resp.RestResult; @@ -39,6 +40,8 @@ public class UserController extends BaseController { private final BookService bookService; + private final BookParagraphCommentService bookParagraphCommentService; + /** * 登录 */ @@ -266,6 +269,19 @@ public class UserController extends BaseController { return RestResult.ok(bookService.listCommentByPage(userDetails.getId(), null, page, pageSize)); } + /** + * 分页查询用户段评 + */ + @GetMapping("listParagraphCommentByPage") + public RestResult listParagraphCommentByPage(@RequestParam(value = "curr", defaultValue = "1") int page, + @RequestParam(value = "limit", defaultValue = "10") int pageSize, HttpServletRequest request) { + UserDetails userDetails = getUserDetails(request); + if (userDetails == null) { + return RestResult.fail(ResponseStatus.NO_LOGIN); + } + return RestResult.ok(bookParagraphCommentService.listMyParagraphCommentByPage(userDetails.getId(), page, pageSize)); + } + /** * 购买小说章节 diff --git a/novel-front/src/main/java/com/java2nb/novel/controller/page/PageController.java b/novel-front/src/main/java/com/java2nb/novel/controller/page/PageController.java index a8efbd2..9c43747 100644 --- a/novel-front/src/main/java/com/java2nb/novel/controller/page/PageController.java +++ b/novel-front/src/main/java/com/java2nb/novel/controller/page/PageController.java @@ -139,6 +139,22 @@ public class PageController extends BaseController { return ThreadLocalUtil.getTemplateDir() + "user/read_history"; } + /** + * 我的书评页 + */ + @RequestMapping("user/comment.html") + public String userComment() { + return ThreadLocalUtil.getTemplateDir() + "user/comment"; + } + + /** + * 我的段评页 + */ + @RequestMapping("user/paragraph_comment.html") + public String userParagraphComment() { + return ThreadLocalUtil.getTemplateDir() + "user/paragraph_comment"; + } + /** * 账号设置页 */ diff --git a/novel-front/src/main/java/com/java2nb/novel/mapper/FrontBookParagraphCommentMapper.java b/novel-front/src/main/java/com/java2nb/novel/mapper/FrontBookParagraphCommentMapper.java index 0c2885e..a25a259 100644 --- a/novel-front/src/main/java/com/java2nb/novel/mapper/FrontBookParagraphCommentMapper.java +++ b/novel-front/src/main/java/com/java2nb/novel/mapper/FrontBookParagraphCommentMapper.java @@ -32,6 +32,11 @@ public interface FrontBookParagraphCommentMapper { */ BookParagraphCommentVO getById(@Param("id") Long id); + /** + * 查询用户发布的全部段评(含回复,带书名/封面/章节名,按时间倒序) + */ + List listMyParagraphComment(@Param("userId") Long userId); + /** * 顶层评论回复数+1 */ diff --git a/novel-front/src/main/java/com/java2nb/novel/service/BookParagraphCommentService.java b/novel-front/src/main/java/com/java2nb/novel/service/BookParagraphCommentService.java index e77c678..fbdd694 100644 --- a/novel-front/src/main/java/com/java2nb/novel/service/BookParagraphCommentService.java +++ b/novel-front/src/main/java/com/java2nb/novel/service/BookParagraphCommentService.java @@ -2,6 +2,7 @@ package com.java2nb.novel.service; import com.java2nb.novel.entity.BookParagraphComment; import com.java2nb.novel.vo.BookParagraphCommentVO; +import io.github.xxyopen.model.page.PageBean; import java.util.List; import java.util.Map; @@ -29,4 +30,9 @@ public interface BookParagraphCommentService { * 新增段落评论 */ void addParagraphComment(Long userId, BookParagraphComment comment); + + /** + * 分页查询我的段评(含回复,按时间倒序) + */ + PageBean listMyParagraphCommentByPage(Long userId, int page, int pageSize); } diff --git a/novel-front/src/main/java/com/java2nb/novel/service/impl/BookParagraphCommentServiceImpl.java b/novel-front/src/main/java/com/java2nb/novel/service/impl/BookParagraphCommentServiceImpl.java index dbc7538..307e427 100644 --- a/novel-front/src/main/java/com/java2nb/novel/service/impl/BookParagraphCommentServiceImpl.java +++ b/novel-front/src/main/java/com/java2nb/novel/service/impl/BookParagraphCommentServiceImpl.java @@ -1,11 +1,14 @@ package com.java2nb.novel.service.impl; import com.github.houbb.sensitive.word.core.SensitiveWordHelper; +import com.github.pagehelper.PageHelper; import com.java2nb.novel.core.enums.ResponseStatus; import com.java2nb.novel.entity.BookParagraphComment; import com.java2nb.novel.mapper.FrontBookParagraphCommentMapper; import com.java2nb.novel.service.BookParagraphCommentService; import com.java2nb.novel.vo.BookParagraphCommentVO; +import io.github.xxyopen.model.page.PageBean; +import io.github.xxyopen.model.page.builder.pagehelper.PageBuilder; import io.github.xxyopen.web.exception.BusinessException; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; @@ -128,4 +131,10 @@ public class BookParagraphCommentServiceImpl implements BookParagraphCommentServ bookParagraphCommentMapper.insert(comment); bookParagraphCommentMapper.addReplyCount(rootId); } + + @Override + public PageBean listMyParagraphCommentByPage(Long userId, int page, int pageSize) { + PageHelper.startPage(page, pageSize); + return PageBuilder.build(bookParagraphCommentMapper.listMyParagraphComment(userId)); + } } diff --git a/novel-front/src/main/java/com/java2nb/novel/vo/BookCommentVO.java b/novel-front/src/main/java/com/java2nb/novel/vo/BookCommentVO.java index 22ecd3b..ba6ac93 100644 --- a/novel-front/src/main/java/com/java2nb/novel/vo/BookCommentVO.java +++ b/novel-front/src/main/java/com/java2nb/novel/vo/BookCommentVO.java @@ -27,6 +27,16 @@ public class BookCommentVO extends BookComment { private Long unLikesCount; + /** + * 所属书籍名称 + */ + private String bookName; + + /** + * 所属书籍封面 + */ + private String picUrl; + public String getCreateTimeFormat() { return DateUtil.formatTimeAgo(getCreateTime()); } diff --git a/novel-front/src/main/java/com/java2nb/novel/vo/BookParagraphCommentVO.java b/novel-front/src/main/java/com/java2nb/novel/vo/BookParagraphCommentVO.java index 29ddf8e..b9e4a16 100644 --- a/novel-front/src/main/java/com/java2nb/novel/vo/BookParagraphCommentVO.java +++ b/novel-front/src/main/java/com/java2nb/novel/vo/BookParagraphCommentVO.java @@ -36,6 +36,21 @@ public class BookParagraphCommentVO extends BookParagraphComment { */ private List replies; + /** + * 所属书籍名称 + */ + private String bookName; + + /** + * 所属书籍封面 + */ + private String picUrl; + + /** + * 所属章节名称 + */ + private String indexName; + @Override public String toString() { return super.toString(); diff --git a/novel-front/src/main/resources/mybatis/mapping/BookCommentMapper.xml b/novel-front/src/main/resources/mybatis/mapping/BookCommentMapper.xml index 0720d05..6aaa12b 100644 --- a/novel-front/src/main/resources/mybatis/mapping/BookCommentMapper.xml +++ b/novel-front/src/main/resources/mybatis/mapping/BookCommentMapper.xml @@ -4,16 +4,18 @@ diff --git a/novel-front/src/main/resources/mybatis/mapping/FrontBookParagraphCommentMapper.xml b/novel-front/src/main/resources/mybatis/mapping/FrontBookParagraphCommentMapper.xml index 8ac05ed..ac351ca 100644 --- a/novel-front/src/main/resources/mybatis/mapping/FrontBookParagraphCommentMapper.xml +++ b/novel-front/src/main/resources/mybatis/mapping/FrontBookParagraphCommentMapper.xml @@ -38,6 +38,17 @@ where id = #{id} + +