package com.test.bijihoudaun.service; import com.baomidou.mybatisplus.extension.service.IService; import com.test.bijihoudaun.entity.MarkdownFile; import com.test.bijihoudaun.entity.MarkdownFileChunk; import com.test.bijihoudaun.entity.MarkdownFileVO; import java.util.List; public interface MarkdownFileService extends IService { /** * 更新Markdown内容 * @return 更新后的文件对象 */ MarkdownFile updateMarkdownContent(MarkdownFile markdownFile); /** * 根据ID获取Markdown文件 * @param id 文件ID * @param isAuthenticated 是否已认证 * @return Markdown文件对象 */ MarkdownFile getMarkdownById(Long id, boolean isAuthenticated); /** * 根据分组ID获取Markdown文件 * @param groupingId 分组ID * @return 文件列表 */ List getFilesByGroupingId(Long groupingId); /** * 删除Markdown文件 * @param id 文件ID * @return 是否删除成功 */ boolean deleteMarkdownFile(Long id); List test(); /** * 获取所有Markdown文件 * @return 文件列表 */ List getAllMarkdownFiles(); /** * 根据标题模糊搜索 * @param keyword 关键词 * @return 文件列表 */ List searchByTitle(String keyword); /** * 更新Markdown文件标题 * @param id 文件ID * @param title 新标题 * @return 更新后的文件对象 */ MarkdownFile updateMarkdownTitle(Long id, String title); /** * 获取最近更新的笔记 * @param limit 数量 * @return 文件列表 */ List getRecentFiles(int limit); /** * 分块加载Markdown文件内容 * 用于大文件(> 500KB)的分页加载 * @param id 文件ID * @param chunkIndex 块索引(从0开始) * @param chunkSize 块大小(字符数),默认10000 * @param isAuthenticated 是否已认证 * @return 文件块对象 */ MarkdownFileChunk getMarkdownChunk(Long id, int chunkIndex, int chunkSize, boolean isAuthenticated); }