1.菜品删除(批量)
菜品删除这里我加了两个条件判断
(1)菜品是否在启售,如果在启售,则不能删除
(2)菜品是否被包含在套餐里面,如果有,则不能删除
如果以上两个条件都满足,就删除dish表的菜品数据和dish_flavor表的口味数据。
controller
/**
* 删除菜品
* @param ids
* @return
*/
@DeleteMapping
public R<String> delete(@RequestParam List<Long> ids){
log.info("ids:{}",ids);
dishService.removeWithFlavor(ids);
return R.success("菜品删除成功");
}
service
/**
* 删除菜品,同时需要删除菜品和对应的口味的关联数据
* @param ids
*/
@Transactional
@Override
public void removeWithFlavor(List<Long> ids) {
//select count(*) from dish where id in (1,2,3) and status = 1
//查询菜品状态,确定是否可用删除
LambdaQueryWrapper<Dish> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(Dish::getId,ids);
queryWrapper.eq(Dish::getStatus,1);
int count = s