82 lines
2.1 KiB
Java
82 lines
2.1 KiB
Java
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<MarkdownFile> {
|
||
|
||
/**
|
||
* 更新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<MarkdownFileVO> getFilesByGroupingId(Long groupingId);
|
||
|
||
/**
|
||
* 删除Markdown文件
|
||
* @param id 文件ID
|
||
* @return 是否删除成功
|
||
*/
|
||
boolean deleteMarkdownFile(Long id);
|
||
|
||
List<MarkdownFile> test();
|
||
|
||
/**
|
||
* 获取所有Markdown文件
|
||
* @return 文件列表
|
||
*/
|
||
List<MarkdownFile> getAllMarkdownFiles();
|
||
|
||
/**
|
||
* 根据标题模糊搜索
|
||
* @param keyword 关键词
|
||
* @return 文件列表
|
||
*/
|
||
List<MarkdownFile> searchByTitle(String keyword);
|
||
|
||
/**
|
||
* 更新Markdown文件标题
|
||
* @param id 文件ID
|
||
* @param title 新标题
|
||
* @return 更新后的文件对象
|
||
*/
|
||
MarkdownFile updateMarkdownTitle(Long id, String title);
|
||
|
||
/**
|
||
* 获取最近更新的笔记
|
||
* @param limit 数量
|
||
* @return 文件列表
|
||
*/
|
||
List<MarkdownFileVO> 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);
|
||
}
|