feat(service): 删除分组时更新相关文件

- 在删除分组前,将该分组下的所有文件移动到默认分组(ID为999)
- 新增 MarkdownFileMapper 依赖,用于更新文件分组
- 使用 @Transactional 注解确保删除分组和更新文件的操作在一个事务中完成
This commit is contained in:
2025-07-31 15:41:01 +08:00
parent 7bab57c59b
commit d6d3401bb0

View File

@@ -1,13 +1,17 @@
package com.test.bijihoudaun.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.test.bijihoudaun.entity.Grouping;
import com.test.bijihoudaun.entity.MarkdownFile;
import com.test.bijihoudaun.mapper.GroupingMapper;
import com.test.bijihoudaun.mapper.MarkdownFileMapper;
import com.test.bijihoudaun.service.GroupingService;
import com.test.bijihoudaun.util.SnowflakeIdGenerator;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -19,6 +23,8 @@ public class GroupingServiceImpl
@Resource
private GroupingMapper groupingMapper;
@Resource
private MarkdownFileMapper markdownFileMapper;
@Resource
private SnowflakeIdGenerator snowflakeIdGenerator;
@@ -46,7 +52,13 @@ public class GroupingServiceImpl
}
@Override
@Transactional
public void deleteGrouping(Long id) {
LambdaUpdateWrapper<MarkdownFile> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(MarkdownFile::getGroupingId, id)
.set(MarkdownFile::getGroupingId, 999L);
markdownFileMapper.update(null, updateWrapper);
this.removeById(id);
}