前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >黑马瑞吉外卖之套餐信息的删除

黑马瑞吉外卖之套餐信息的删除

作者头像
兰舟千帆
发布2022-10-04 19:50:58
3600
发布2022-10-04 19:50:58
举报

黑马瑞吉外卖之套餐信息的删除

在套餐这个模块,我们已经完成的就是套餐信息的分页查询,以及套餐信息的新建与修改这些功能。本篇我们主要去完成一下套餐的删除的功能。

在这里插入图片描述
在这里插入图片描述

删除功能有独立删除和批量删除两个功能。为了完成演示删除的功能,我们最好在这里可以展示两个以上的套餐。所以最好在这里还是新建几个套餐。我们这里一共展示三个套餐。

在这里插入图片描述
在这里插入图片描述

首先呢,我们还是去前端页面去查看这些具体的内容。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可以看到这里的单个删除和批量删除绑定的是同一个方法名,然后传递的参数是不一样的。

那么现在我们去找到这个方法。

在这里插入图片描述
在这里插入图片描述

我们找到前端这里关键的一行代码,这里的意思就是如果我们进行的是批量删除,那么就把checkList作为参数传递进去,如果我们没有进行批量删除,只是选择了单个进行删除,那么就将这个单独要删除的id进行传递进去。所以说我们其实区别还是传递的参数的不同。

在这里插入图片描述
在这里插入图片描述

然后点进去这个deleteSetmeal里面。

在这里插入图片描述
在这里插入图片描述

现在我们来开发这个批量删除的功能。

我们可以这样去规定一下,如果套餐正在售卖的话,我们就不能删除,否则我们在删除套餐的时候,其实也还是需要删除套餐关联下面的菜品的数据。

代码语言:javascript
复制
//    删除套餐同时删除套餐和菜品的关联数据,这里也同样开启事务
    @Override
    @Transactional
    public void removeWithDish(List<Long> ids) {
//        查询套餐的状态确定是否可以删除
//        要根据套餐的状态,是在售卖还是停止售卖
//        如果了可以删除,删除套餐中的数据,然后删除关联表当中的数据
        //构造一个套餐的条件
        LambdaQueryWrapper<Setmeal> setmealLambdaQueryWrapper = new LambdaQueryWrapper<>();
//        根据id进行查询
        setmealLambdaQueryWrapper.in(Setmeal::getId,ids);
//        查询对应套餐的状态
        setmealLambdaQueryWrapper.eq(Setmeal::getStatus,1);
//        计算符合条件的结果
        long count = this.count(setmealLambdaQueryWrapper);
        if(count>0)
        {
            throw  new CustomException("套餐正在售卖,不能删除");
        }
//        如果套餐不处于售卖那么就在删除套餐的时候也将关联表中的菜品删除掉
        this.removeBatchByIds(ids);
//        菜品关联条件
        LambdaQueryWrapper<SetmealDish> lambdaQueryWrapper = new LambdaQueryWrapper<>();
        lambdaQueryWrapper.in(SetmealDish::getSetmealId,ids);//查询出具体的菜品
        setmealDishService.remove(lambdaQueryWrapper);
    }

然后我们去controller里面调用这个方法就可以了。

代码语言:javascript
复制
 @DeleteMapping
    public R_<String> delete(@RequestParam List<Long> ids)
    {
        log.info("ids:{}",ids);
        setMealService.removeWithDish(ids);
        return  R_.success("套餐数据删除成功");

    }

这个功能的完成还是比较简单的。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-09-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 黑马瑞吉外卖之套餐信息的删除
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档