黑马瑞吉外卖之售卖状态的更改

2022-10-04 19:49:48 浏览数 (1)

黑马瑞吉外卖之售卖状态的更改

基本上在套餐这里的模块我们只剩下简单的对售卖状态更改了。停售,启售,批量停售,批量启售。

我们先来看前端界面,当前,还是在浏览器中直接调试也是没有问题的。 为了更加明白整体的逻辑,我们就还是先看页面设计代码。 在这里呢,还是按钮绑定的方法,批量停售和批量启售,如果我们代码当中绑定的方法里面传过去的是1,那么就是启,0就是停售。 这里就是批量操作

还有这里就是单个操作的按钮

所以总的来说,其实都是绑定的是同一个方法,那么我们就具体的去查看这样的方法。

定位到这里。

点击进去

在这里我们就能清楚的看到路径和具体的请求方法了。 然后我们这样去写代码就可以了。

首先我们需要去自己去定义这样的一个方法

代码语言:javascript复制
 @Override
    public void updateSetmealStatusById(Integer status, List<Long> ids) {
//        构造一个套餐的条件查询器
        LambdaQueryWrapper<Setmeal> queryWrapper = new LambdaQueryWrapper();
//        条件查询到具体的套餐
        queryWrapper.in(ids !=null,Setmeal::getId,ids);
//        菜品根据套餐的条件查询
        List<Setmeal> list = this.list(queryWrapper);
        for(Setmeal setmeal: list)
        {
            if(setmeal !=null)
            {
                setmeal.setStatus(status);
                this.updateById(setmeal);
            }

        }

    }

然后我们在Controller里面调用就可以了。

代码语言:javascript复制
 @PostMapping("/status/{status}")
    public R_<String> status(@PathVariable("status") Integer status,@RequestParam List<Long> ids){
        log.info("status:{}",status);
        log.info("ids:{}",ids);
        //
        setMealService.updateSetmealStatusById(status,ids);
        return R_.success("操作成功");



    }

0 人点赞