- 在CmsContent实体类中增加英文标题、描述、介绍和内容字段 - 实现根据语言类型查询内容的功能,支持中英文切换 - 添加从Excel文件批量导入内容数据的功能 - 实现上传技能压缩包并解析生成技能内容的功能 - 优化分页查询逻辑,支持按标签过滤和内存分页 - 修改数据库映射配置以支持多语言字段存储 - 重构点赞功能的安全检查逻辑
177 lines
4.1 KiB
Java
177 lines
4.1 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);
|
|
|
|
/**
|
|
* 新增数据
|
|
*
|
|
* @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<CmsContent> getPageListByUserHistory(CmsContentDto queryDto);
|
|
|
|
/**
|
|
* 获取用户收藏的内容列表
|
|
*
|
|
* @param queryDto 筛选条件,包含分页信息
|
|
* @return 查询结果
|
|
*/
|
|
PageInfo<CmsContent> getPageListByUserFavorites(CmsContentDto queryDto);
|
|
|
|
/**
|
|
* 获取用户购买的内容列表
|
|
*
|
|
* @param queryDto 筛选条件,包含分页信息
|
|
* @return 查询结果
|
|
*/
|
|
PageInfo<CmsContent> getPageListByUserPurchases(CmsContentDto queryDto);
|
|
|
|
/**
|
|
* 获取用户创建的内容列表
|
|
*
|
|
* @param queryDto 筛选条件,包含分页信息
|
|
* @return 查询结果
|
|
*/
|
|
PageInfo<CmsContent> getPageListByUserCreated(CmsContentDto queryDto);
|
|
|
|
/**
|
|
* 导入Excel数据到CmsContent
|
|
*
|
|
* @param fileBytes Excel文件字节数组
|
|
* @param createBy 创建人
|
|
* @return 导入结果
|
|
*/
|
|
int importFromExcel(byte[] fileBytes, String createBy);
|
|
} |