//控制层
@DeleteMapping
public R<String> deleteBatch(String[] ids){
dishService.deleteBatch(ids);
return R.success("删除成功");
}
//服务层代码
public interface DishService extends IService<Dish> {
void saveWithFlavor(DishDto dishDto);
//根据id查询菜品信息和对应的口味信息
DishDto getByIdWithFlavor(Long id);
//更新菜品信息,同时更新口味信息
void updateWithFlavor(DishDto dishDto);
//根据所传的id数组批量删除
void deleteBatch(String[] ids);
}
//服务层实现类
@Service
public class DishServiceImpl extends ServiceImpl<DishMapper, Dish> implements DishService {
@Autowired
private DishFlavorService dishFlavorService;
/**
* 批量删除
* @param ids
*/
@Override
@Transactional
public void deleteBatch(String[] ids) {
LambdaQueryWrapper<DishFlavor> wrapper=new LambdaQueryWrapper<>();
for (String id : ids) {
//删除菜品表中的数据
this.removeById(id);
//删除掉口味表中的数据
wrapper.eq(DishFlavor::getDishId,id);
dishFlavorService.remove(wrapper);
}
}