package com.aegis.knowledge.service;

import com.aegis.knowledge.domain.KnowledgeDocument;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Date;
import java.util.List;

/**
 * 知识库文档 Service
 */
public interface IKnowledgeDocumentService extends IService<KnowledgeDocument> {

    /**
     * 条件查询文档列表
     *
     * @param keyword 关键词（标题、标签、关键词字段）
     * @param categoryId 分类ID
     * @param tags 标签（逗号分隔）
     * @param beginTime 起始时间
     * @param endTime 截止时间
     * @return 文档列表
     */
    List<KnowledgeDocument> listByCondition(String keyword, Long categoryId, String tags, Date beginTime, Date endTime);

    /**
     * 根据事件类型和关键词推荐文档
     *
     * @param eventType 事件类型
     * @param keywords 关键词（逗号分隔）
     * @return 推荐的文档列表（按匹配度排序）
     */
    List<KnowledgeDocument> recommendDocuments(String eventType, String keywords);

    /**
     * 增加查看次数
     *
     * @param id 文档ID
     */
    void incrementViewCount(Long id);

    /**
     * 增加下载次数
     *
     * @param id 文档ID
     */
    void incrementDownloadCount(Long id);
}

