sxwz2.0/src/main/java/com/kexue/skills/service/CmsContentService.java
wangzhiwei 6398b0495e feat(content): 添加多语言支持和Excel导入功能
- 在CmsContent实体类中增加英文标题、描述、介绍和内容字段
- 实现根据语言类型查询内容的功能,支持中英文切换
- 添加从Excel文件批量导入内容数据的功能
- 实现上传技能压缩包并解析生成技能内容的功能
- 优化分页查询逻辑,支持按标签过滤和内存分页
- 修改数据库映射配置以支持多语言字段存储
- 重构点赞功能的安全检查逻辑
2026-03-11 15:36:48 +08:00

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);
}