refactor(biji): 重构笔记保存逻辑并修复相关BUG
- 后端:将笔记创建和更新逻辑合并为一个接口,根据ID是否存在自动判断操作类型 - 前端:修复了新建笔记时自动保存导致数据重复创建的问题 - 优化了与后端的数据同步,确保本地状态与服务器保持一致
This commit is contained in:
@@ -41,25 +41,6 @@ public class MarkdownController {
|
||||
return R.fail();
|
||||
}
|
||||
|
||||
@Operation(summary = "创建markdown文件")
|
||||
@Parameters({
|
||||
@Parameter(name = "groupingId", description = "分组id",required = true),
|
||||
@Parameter(name = "title", description = "标题",required = true),
|
||||
@Parameter(name = "fileName", description = "文件名",required = true),
|
||||
@Parameter(name = "content", description = "内容",required = true)
|
||||
})
|
||||
@PostMapping
|
||||
public R<MarkdownFile> createMarkdown(
|
||||
@RequestParam Long groupingId,
|
||||
@RequestParam String title,
|
||||
@RequestParam String fileName,
|
||||
@RequestBody String content) {
|
||||
|
||||
MarkdownFile file = markdownFileService.createMarkdownFile(
|
||||
groupingId, title, fileName, content);
|
||||
|
||||
return R.success(file);
|
||||
}
|
||||
|
||||
@Operation(summary = "更新Markdown文件")
|
||||
@PostMapping("/updateMarkdown")
|
||||
|
||||
@@ -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内容
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user