feat(novel-front): 增加评论点赞/点踩功能

This commit is contained in:
xiongxiaoyang
2025-07-12 13:33:23 +08:00
parent 02fb819120
commit 3c409023e5
12 changed files with 733 additions and 12 deletions

View File

@ -7,6 +7,7 @@ import com.java2nb.novel.entity.*;
import com.java2nb.novel.service.BookContentService;
import com.java2nb.novel.service.BookService;
import com.java2nb.novel.service.IpLocationService;
import com.java2nb.novel.service.LikeService;
import com.java2nb.novel.vo.*;
import io.github.xxyopen.model.page.PageBean;
import io.github.xxyopen.model.page.builder.pagehelper.PageBuilder;
@ -35,6 +36,8 @@ public class BookController extends BaseController {
private final IpLocationService ipLocationService;
private final LikeService likeService;
/**
* 查询首页小说设置列表数据
*/
@ -171,6 +174,30 @@ public class BookController extends BaseController {
return RestResult.ok();
}
/**
* 评价点赞/取消点赞
*/
@PostMapping("toggleCommentLike")
public RestResult<?> toggleCommentLike(Long commentId, HttpServletRequest request) {
UserDetails userDetails = getUserDetails(request);
if (userDetails == null) {
return RestResult.fail(ResponseStatus.NO_LOGIN);
}
return RestResult.ok(likeService.toggleCommentLike(commentId, userDetails.getId()));
}
/**
* 评价点踩/取消点踩
*/
@PostMapping("toggleCommentUnLike")
public RestResult<?> toggleCommentUnLike(Long commentId, HttpServletRequest request) {
UserDetails userDetails = getUserDetails(request);
if (userDetails == null) {
return RestResult.fail(ResponseStatus.NO_LOGIN);
}
return RestResult.ok(likeService.toggleCommentUnLike(commentId, userDetails.getId()));
}
/**
* 新增回复
*/
@ -185,6 +212,30 @@ public class BookController extends BaseController {
return RestResult.ok();
}
/**
* 回复点赞/取消点赞
*/
@PostMapping("toggleReplyLike")
public RestResult<?> toggleReplyLike(Long replyId, HttpServletRequest request) {
UserDetails userDetails = getUserDetails(request);
if (userDetails == null) {
return RestResult.fail(ResponseStatus.NO_LOGIN);
}
return RestResult.ok(likeService.toggleReplyLike(replyId, userDetails.getId()));
}
/**
* 回复点赞/取消点赞
*/
@PostMapping("toggleReplyUnLike")
public RestResult<?> toggleReplyUnLike(Long replyId, HttpServletRequest request) {
UserDetails userDetails = getUserDetails(request);
if (userDetails == null) {
return RestResult.fail(ResponseStatus.NO_LOGIN);
}
return RestResult.ok(likeService.toggleReplyUnLike(replyId, userDetails.getId()));
}
/**
* 根据小说ID查询小说前十条最新更新目录集合
*/