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); /** * 通过主键查询单条数据,带用户ID * * @param contentId 主键 * @param userId 用户ID * @return 实例对象 */ CmsContent queryById(Long contentId, Long userId); /** * 新增数据 * * @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 * @param userId 用户ID * @param userName 用户名 * @return 影响行数 */ int addFavorite(Long contentId, Long userId, String userName); /** * 取消收藏 * * @param contentId 内容ID * @param userId 用户ID * @return 影响行数 */ int removeFavorite(Long contentId, Long userId); /** * 检查用户是否已收藏该内容 * * @param contentId 内容ID * @param userId 用户ID * @return 是否已收藏 */ boolean isFavorited(Long contentId, Long userId); }