package com.kexue.skills.service; import com.github.pagehelper.PageInfo; import com.kexue.skills.entity.CmsContent; import com.kexue.skills.entity.dto.CmsContentDto; import java.util.List; /** * (CmsContent)表服务接口 * * @author 王志维 * @since 2025-02-21 23:01:48 */ public interface CmsContentService extends BaseService { /** * 分页查询 * * @param queryDto 筛选条件 * @return 查询结果 */ PageInfo getPageList(CmsContentDto queryDto); /** * 查询列表 * * @param queryDto 筛选条件 * @return 查询结果 */ List getList(CmsContentDto queryDto); /** * 通过主键查询单条数据 * * @param contentId 主键 * @return 实例对象 */ CmsContent queryById(Long contentId); /** * 新增数据 * * @param cmsContent 实例对象 * @return 实例对象 */ CmsContent insert(CmsContent cmsContent); /** * 更新数据 * * @param cmsContent 实例对象 * @return 实例对象 */ CmsContent update(CmsContent cmsContent); /** * 更新审核状态 * * @param contentId 内容ID * @param auditStatus 审核状态 * @param reviewerId 审核人ID * @param reviewerName 审核人名称 * @param auditComment 审核意见 * @param updateBy 更新人 * @return 影响行数 */ int updateAuditStatus(Long contentId, Integer auditStatus, Long reviewerId, String reviewerName, String auditComment, String updateBy); /** * 更新发布状态 * * @param contentId 内容ID * @param publishStatus 发布状态 * @param publishTime 发布时间 * @param updateBy 更新人 * @return 影响行数 */ int updatePublishStatus(Long contentId, Integer publishStatus, String publishTime, String updateBy); /** * 增加阅读量 * * @param contentId 内容ID * @return 影响行数 */ int increaseViewCount(Long contentId); /** * 通过主键逻辑删除 * * @param contentId 主键 * @param updateBy 更新人 * @return 影响行数 */ int logicDeleteById(Long contentId, String updateBy); /** * 通过主键物理删除 * * @param contentId 主键 * @return 影响行数 */ int deleteById(Long contentId); /** * 添加收藏 * * @param contentId 内容ID * @return 影响行数 */ int addFavorite(Long contentId); /** * 取消收藏 * * @param contentId 内容ID * @return 影响行数 */ int removeFavorite(Long contentId); /** * 检查用户是否已收藏该内容 * * @param contentId 内容ID * @return 是否已收藏 */ boolean isFavorited(Long contentId); /** * 添加查看记录 * * @param contentId 内容ID * @return 影响行数 */ int addView(Long contentId); /** * 获取用户历史查看的内容列表 * * @param queryDto 筛选条件,包含分页信息 * @return 查询结果 */ PageInfo getPageListByUserHistory(CmsContentDto queryDto); /** * 获取用户收藏的内容列表 * * @param queryDto 筛选条件,包含分页信息 * @return 查询结果 */ PageInfo getPageListByUserFavorites(CmsContentDto queryDto); /** * 获取用户购买的内容列表 * * @param queryDto 筛选条件,包含分页信息 * @return 查询结果 */ PageInfo getPageListByUserPurchases(CmsContentDto queryDto); /** * 获取用户创建的内容列表 * * @param queryDto 筛选条件,包含分页信息 * @return 查询结果 */ PageInfo getPageListByUserCreated(CmsContentDto queryDto); /** * 导入Excel数据到CmsContent * * @param fileBytes Excel文件字节数组 * @param createBy 创建人 * @return 导入结果 */ int importFromExcel(byte[] fileBytes, String createBy); }