- 实现通过主键查询内容时支持用户ID参数 - 添加用户查看记录功能,防止5分钟内的重复记录 - 实现内容收藏和取消收藏功能 - 添加用户是否已收藏内容的检查方法 - 集成查看记录和收藏记录的数据持久化操作 - 在收藏操作时同步更新内容的点赞数量统计
141 lines
3.2 KiB
Java
141 lines
3.2 KiB
Java
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<CmsContent> getPageList(CmsContentDto queryDto);
|
||
|
||
/**
|
||
* 查询列表
|
||
*
|
||
* @param queryDto 筛选条件
|
||
* @return 查询结果
|
||
*/
|
||
List<CmsContent> 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);
|
||
} |