黑马瑞吉外卖之售卖状态的更改
基本上在套餐这里的模块我们只剩下简单的对售卖状态更改了。停售,启售,批量停售,批量启售。
我们先来看前端界面,当前,还是在浏览器中直接调试也是没有问题的。 为了更加明白整体的逻辑,我们就还是先看页面设计代码。 在这里呢,还是按钮绑定的方法,批量停售和批量启售,如果我们代码当中绑定的方法里面传过去的是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("操作成功");
}