Files
xuanzhi-service/server/.ai-specs/doc-api/admin/book_comment.md
2026-04-27 10:12:21 +08:00

6.9 KiB
Raw Blame History

书籍评论 admin 接口

基本信息

  • 模块book
  • 资源:书籍评论
  • admin
  • 鉴权:PrivateGroup,需要 JWT + Casbin
  • 审计:创建、更新、单删、批量删除启用 OperationRecord
  • 前缀:/book
  • 实体模型:book.BookComment
  • 搜索入参:bookReq.BookCommentSearch
  • 详情响应:bookRes.BookCommentResponse
  • 返回:写操作 response.Response{msg};详情 response.Response{data};列表 response.PageResult
  • 删除策略:硬删

CRUD

创建书籍评论

  • MethodPOST
  • Path/book/createBookComment
  • HandlerBookCommentApi.CreateBookComment
  • ServiceBookCommentService.CreateBookComment
  • 审计:是

Request Body book.BookComment

字段 类型 必填 规则 说明
memberUserId uint 数据库非空 评论用户的会员 ID
bookId uint 数据库非空 所属书籍 ID
chapterId uint 默认 0>= 0 评论目标章节 ID0 表示整本书
lineIndex int 默认 0>= 0;整书评论时必须为 0 评论目标文本行下标,0 表示整章或整本书
content string 数据库非空 评论正文内容
likeCount int64 默认 0>= 0 评论点赞聚合值
commentStatus string 默认 normal;仅允许 normal/hidden 评论状态字典值,对应 book_comment_status

Response

  • response.Response{msg}

规则

  • 创建请求禁止传服务端生成字段:id/createdAt/updatedAt
  • chapterId=0 表示整书评论,此时 lineIndex 必须为 0
  • chapterId>0 时允许 lineIndex>=0,其中 lineIndex=0 表示整章评论。

删除书籍评论

  • MethodDELETE
  • Path/book/deleteBookComment
  • HandlerBookCommentApi.DeleteBookComment
  • ServiceBookCommentService.DeleteBookComment
  • 审计:是

Request Query

参数 类型 必填 规则 说明
id int > 0 评论 ID

Response

  • response.Response{msg}

批量删除书籍评论

  • MethodDELETE
  • Path/book/deleteBookCommentByIds
  • HandlerBookCommentApi.DeleteBookCommentByIds
  • ServiceBookCommentService.DeleteBookCommentByIds
  • 审计:是

Request Query

参数 类型 必填 规则 说明
ids int[] 二选一 非空,元素均为主键 ID 评论 ID 数组
ids[] int[] 二选一 非空,元素均为主键 ID 评论 ID 数组,兼容数组写法

Response

  • response.Response{msg}

规则

  • idsids[] 二选一。

更新书籍评论

  • MethodPUT
  • Path/book/updateBookComment
  • HandlerBookCommentApi.UpdateBookComment
  • ServiceBookCommentService.UpdateBookComment
  • 审计:是

Request Body book.BookComment

字段 类型 必填 规则 说明
id uint > 0 评论 ID
memberUserId uint 数据库非空 评论用户的会员 ID
bookId uint 数据库非空 所属书籍 ID
chapterId uint 默认 0>= 0 评论目标章节 ID0 表示整本书
lineIndex int 默认 0>= 0;整书评论时必须为 0 评论目标文本行下标,0 表示整章或整本书
content string 数据库非空 评论正文内容
likeCount int64 默认 0>= 0 评论点赞聚合值
commentStatus string 默认 normal;仅允许 normal/hidden 评论状态字典值,对应 book_comment_status

Response

  • response.Response{msg}

规则

  • 更新请求禁止传服务端维护字段:createdAt/updatedAt
  • 更新为实体全量保存,前端应传完整可编辑实体,避免字段被零值覆盖。
  • chapterId=0 表示整书评论,此时 lineIndex 必须为 0
  • chapterId>0 时允许 lineIndex>=0,其中 lineIndex=0 表示整章评论。

查询书籍评论详情

  • MethodGET
  • Path/book/findBookComment
  • HandlerBookCommentApi.FindBookComment
  • ServiceBookCommentService.GetBookComment
  • 审计:否

Request Query

参数 类型 必填 规则 说明
id int > 0 评论 ID

Response bookRes.BookCommentResponse

字段 类型 说明
bookComment object 评论实体
bookComment.id uint 评论 ID
bookComment.createdAt time 创建时间
bookComment.updatedAt time 更新时间
bookComment.memberUserId uint 评论用户的会员 ID
bookComment.bookId uint 所属书籍 ID
bookComment.chapterId uint 评论目标章节 ID0 表示整本书
bookComment.lineIndex int 评论目标文本行下标,0 表示整章或整本书
bookComment.content string 评论正文内容
bookComment.likeCount int64 评论点赞聚合值
bookComment.commentStatus string 评论状态字典值,对应 book_comment_status

分页查询书籍评论列表

  • MethodGET
  • Path/book/getBookCommentList
  • HandlerBookCommentApi.GetBookCommentList
  • ServiceBookCommentService.GetBookCommentInfoList
  • 审计:否

Request Query bookReq.BookCommentSearch

参数 类型 必填 规则 说明
page int 默认 1,最小 1 页码
pageSize int 默认 10,最大 100 每页数量
memberUserId uint 精确匹配 评论用户的会员 ID
bookId uint 精确匹配 所属书籍 ID
chapterId uint 精确匹配 评论目标章节 ID0 表示整本书
commentStatus string 仅允许 normal/hidden 评论状态字典值,对应 book_comment_status

Response response.PageResult

字段 类型 说明
list array book.BookComment 列表
list[].id uint 评论 ID
list[].createdAt time 创建时间
list[].updatedAt time 更新时间
list[].memberUserId uint 评论用户的会员 ID
list[].bookId uint 所属书籍 ID
list[].chapterId uint 评论目标章节 ID0 表示整本书
list[].lineIndex int 评论目标文本行下标,0 表示整章或整本书
list[].content string 评论正文内容
list[].likeCount int64 评论点赞聚合值
list[].commentStatus string 评论状态字典值,对应 book_comment_status
total int64 总数
page int 当前页
pageSize int 每页数量

规则

  • 列表默认排序:id desc

规则

  • commentStatus 必须符合 book_comment_statusnormal 正常,hidden 隐藏。
  • lineIndex/likeCount 不能小于 0
  • 整书评论 chapterId=0lineIndex 必须为 0
  • 删除策略为硬删。