16.前后端联调发送axios请求实现删除功能结合事务
分类: springboot vue 专栏: 【带小白做项目】SpringBoot+Vue后台管理系统 标签: 删除功能 事务
2024-12-20 10:42:43 34浏览
前后端联调发送axios请求实现删除功能结合事务
删除该 appinfo 记录的时候,把 logo 图的文件也删掉,版本信息 版本的 apk 文件 都删掉 这就用到事务要么全部成功,要么全部失败。
后端核心代码
重点这个@Transactional 的作用是?要么一起成功,要么一起失败
@Transactional(rollbackFor = Exception.class)
public void del(Long id, String uploadPath) {
List<AppVersion> appVersions = appVersionMapper.selectByAppId(id);
for (AppVersion version : appVersions) {
if(version.getDownloadlink()!= null){
File file = new File(uploadPath+version.getDownloadlink());
if(file.exists()){
//删除该app下的版本信息里的apk文件
file.delete();
}
//删除版本信息
appVersionMapper.deleteByPrimaryKey(version.getId());
}
}
AppInfo appInfo = appInfoMapper.selectByPrimaryKey(id);
if(appInfo.getLogopicpath() != null){
File logo= new File(uploadPath+appInfo.getLogopicpath());
//删除app的logo图
logo.delete();
}
//删除app的基本信息
appInfoMapper.deleteByPrimaryKey(id);
}
前端核心代码
toDel(id){
//防止误点
this.$confirm('此操作将永久删除该app, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delApp(id).then( res => {
console.log(res);
this.$message({
type: 'success',
message: '删除成功!'
});
this.getPage()
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
好博客就要一起分享哦!分享海报
此处可发布评论
评论(0)展开评论
暂无评论,快来写一下吧
展开评论
他的专栏
他感兴趣的技术