package com.aurora.mapper; import com.aurora.model.dto.TagAdminDTO;// 导入标签管理数据传输对象(TagAdminDTO),用于后台管理界面展示标签信息,可能包含更多管理字段 import com.aurora.model.dto.TagDTO;// 导入标签数据传输对象(TagDTO),用于前台数据展示,通常包含标签基本属性及扩展字段 import com.aurora.entity.Tag;// 导入标签实体类(Tag),该实体类与数据库中的标签表(如 tag 或 ms_tag)相对应,其字段与表结构映射 import com.aurora.model.vo.ConditionVO;// 导入条件查询值对象(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 TagMapper extends BaseMapper { // 自定义查询方法:获取所有标签列表(通常用于前台标签或标签选择框),返回 TagDTO 列表,包含标签的基本信息(如标签名、颜色、图标等),用于前端展示 List listTags(); // 自定义查询方法:获取前十热门标签列表(通常用于侧边栏或首页展示),热门标签的判定标准通常是关联的文章数量,关联文章越多的标签越热门 // 返回 TagDTO 列表,通常按文章数量降序排列,仅返回前10条记录 List listTopTenTags(); // 自定义查询方法:根据文章ID查询该文章的所有标签名称列表,返回字符串列表,每个字符串代表一个标签名称,用于文章详情页展示文章的标签集合 // articleId: 文章的主键ID,用于关联查询文章-标签关系表(如 ms_article_tag) List listTagNamesByArticleId(Integer articleId); // 自定义查询方法:分页获取后台标签管理列表(支持条件查询,用于管理员控制台) // current: 当前页码(从1开始),size: 每页记录数,用于实现分页查询(LIMIT 机制) // conditionVO: 封装查询条件的对象,可能包含标签名称关键词、状态标识、创建时间范围等筛选条件 // 返回 TagAdminDTO 列表,该 DTO 通常扩展了标签基础信息,包含管理所需的附加字段(如关联文章数、创建人信息等) List listTagsAdmin(@Param("current") Long current, @Param("size") Long size, @Param("conditionVO") ConditionVO conditionVO); }