You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
3.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.aurora.mapper;
// 导入评论数据传输对象(DTO),用于前台数据展示
import com.aurora.model.dto.CommentAdminDTO;
import com.aurora.model.dto.CommentCountDTO;
import com.aurora.model.dto.CommentDTO;
import com.aurora.model.dto.ReplyDTO;
import com.aurora.entity.Comment;// 导入与数据库表对应的实体类Comment
// 导入查询条件值对象
import com.aurora.model.vo.CommentVO;
import com.aurora.model.vo.ConditionVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface CommentMapper extends BaseMapper<Comment> {
// 分页获取评论列表(通常用于前台文章详情页的评论展示)
// @Param注解给参数起别名在XML中可以通过#{current}、#{size}、#{commentVO.xxx}引用
// current: 当前页码size: 每页大小commentVO: 封装评论查询条件如文章ID、排序方式等
// 返回CommentDTO列表包含评论的基本信息和作者信息
List<CommentDTO> listComments(@Param("current") Long current, @Param("size") Long size, @Param("commentVO") CommentVO commentVO);
// 根据评论ID列表获取这些评论的所有回复列表
// commentIdList: 评论ID集合用于批量查询多个评论的回复
// 返回ReplyDTO列表包含回复的详细信息如回复内容、回复对象等
List<ReplyDTO> listReplies(@Param("commentIds") List<Integer> commentIdList);
// 获取前六个热门评论(通常用于前端优先首页展示)
// 可能按点赞数、创建时间等排序规则选取前六个评论
List<CommentDTO> listTopSixComments();
// 统计评论数量(根据查询条件)
// conditionVO: 封装统计条件如时间范围、文章ID、评论状态等
// 返回符合条件的评论总数,用于后台分页计算和数据统计
Integer countComments(@Param("conditionVO") ConditionVO conditionVO);
// 分页获取后台评论列表(管理员功能)
// 返回CommentAdminDTO列表可能包含更多管理字段如IP地址、审核状态、操作日志等
List<CommentAdminDTO> listCommentsAdmin(@Param("current") Long current, @Param("size") Long size, @Param("conditionVO") ConditionVO conditionVO);
// 根据类型和主题ID列表批量统计评论数量
// type: 评论类型如文章评论、友链评论等topicIds: 主题ID列表如文章ID列表
// 返回CommentCountDTO列表包含每个主题的评论数量统计
List<CommentCountDTO> listCommentCountByTypeAndTopicIds(@Param("type") Integer type, @Param("topicIds") List<Integer> topicIds);
// 根据类型和单个主题ID统计评论数量
// topicId: 单个主题ID如某篇文章的ID
// 返回CommentCountDTO包含指定主题的评论数量统计
CommentCountDTO listCommentCountByTypeAndTopicId(@Param("type") Integer type, @Param("topicId") Integer topicId);
}