refactor(biji): 重构笔记保存逻辑并修复相关BUG

- 后端:将笔记创建和更新逻辑合并为一个接口,根据ID是否存在自动判断操作类型
- 前端:修复了新建笔记时自动保存导致数据重复创建的问题
- 优化了与后端的数据同步,确保本地状态与服务器保持一致
This commit is contained in:
2025-07-31 11:40:50 +08:00
parent a5c3ca482f
commit b38e97b8c3
6 changed files with 28 additions and 49 deletions

View File

@@ -6,15 +6,6 @@ import com.test.bijihoudaun.entity.MarkdownFile;
import java.util.List;
public interface MarkdownFileService extends IService<MarkdownFile> {
/**
* 创建Markdown文件
* @param groupingId 分组ID
* @param title 文件标题
* @param fileName 文件名
* @param content 文件内容
* @return 创建的文件对象
*/
MarkdownFile createMarkdownFile(Long groupingId, String title, String fileName, String content);
/**
* 更新Markdown内容

View File

@@ -24,30 +24,17 @@ public class MarkdownFileServiceImpl
@Resource
SnowflakeIdGenerator snowflakeIdGenerator;
@Override
public MarkdownFile createMarkdownFile(Long groupingId, String title, String fileName, String content) {
MarkdownFile file = new MarkdownFile();
file.setId(snowflakeIdGenerator.nextId());
file.setGroupingId(groupingId);
file.setTitle(title);
file.setFileName(fileName);
file.setContent(content);
file.setCreatedAt(new Date());
file.setUpdatedAt(new Date());
markdownFileMapper.insert(file);
return file;
}
@Override
public MarkdownFile updateMarkdownContent(MarkdownFile markdownFile) {
markdownFile.setUpdatedAt(new Date());
if (markdownFile.getId() != null){
markdownFileMapper.update(markdownFile, new QueryWrapper<MarkdownFile>().eq("id", markdownFile.getId()));
}else {
// 如果ID为空或0则视为新文件
if (markdownFile.getId() == null || markdownFile.getId() == 0L) {
markdownFile.setId(snowflakeIdGenerator.nextId());
markdownFile.setCreatedAt(new Date());
markdownFileMapper.insert(markdownFile);
this.save(markdownFile); // 使用MyBatis-Plus的save方法
} else {
this.updateById(markdownFile); // 使用MyBatis-Plus的updateById方法
}
return markdownFile;
}