16.前后端联调发送axios请求实现删除功能结合事务

飞一样的编程
飞一样的编程
擅长邻域:Java,MySQL,Linux,nginx,springboot,mongodb,微信小程序,vue

分类: 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展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695