您的位置:首页 > 健康 > 养生 > 动漫制作技术专升本对口专业_建筑公司网站建设方案_哈尔滨网站制作软件_网站收录有什么用

动漫制作技术专升本对口专业_建筑公司网站建设方案_哈尔滨网站制作软件_网站收录有什么用

2025/4/23 10:36:32 来源:https://blog.csdn.net/qq_29385297/article/details/147376012  浏览:    关键词:动漫制作技术专升本对口专业_建筑公司网站建设方案_哈尔滨网站制作软件_网站收录有什么用
动漫制作技术专升本对口专业_建筑公司网站建设方案_哈尔滨网站制作软件_网站收录有什么用

基于 Spring Boot 瑞吉外卖系统开发(五)

删除分类

分类列表中每条分类信息右侧提供了一个“删除”按钮,当需要将已经存在的分类信息删除时,可以通过单击“删除”按钮实现。
在这里插入图片描述
请求路径为/category,携带参数id,请求方法DELETE
在这里插入图片描述

每个菜品表(dish)和套餐表(setmeal)都有与之关联分类,所以在删除分类时,需要先检查删除的分类是否关联了菜品或者套餐,如果关联了,此分类不允许删除。实现代码如下。

创建菜品和套餐的Mapper,service,serviceImpl通用接口

@Mapper
public interface DishMapper extends BaseMapper<Dish> {}
@Mapper
public interface SetmealMapper extends BaseMapper<Setmeal> {}
public interface DishService extends IService<Dish> {}
public interface SetmealService extends IService<Setmeal> {}
@Service
public class DishServiceImpl extends ServiceImpl<DishMapper, Dish>implements DishService {}
@Service
public class SetmealServiceImpl extends ServiceImpl<SetmealMapper, Setmeal> implements SetmealService {}

添加分类删除方法

在CategoryService接口中自定义根据分类id删除分类的方法。

public interface CategoryService extends IService<Category> {public void remove(Long id);}

在CategoryServiceImpl类中实现CategoryService接口的remove()方法。

@Service
public class CategoryServiceImplextends ServiceImpl<CategoryMapper, Category> implements CategoryService {@Autowiredprivate DishService dishService;@Autowiredprivate SetmealService setmealService;@Overridepublic void remove(Long id) {QueryWrapper<Dish> query = new QueryWrapper<>();query.eq("category_id", id);int count1 = dishService.count(query);if(count1>0){throw new CustomException("当前分类下关联了菜品,不能删除");}QueryWrapper<Setmeal> query2 = new QueryWrapper<>();query2.eq("category_id", id);int count2 = setmealService.count(query2);if(count2>0){throw new CustomException("当前分类下关联了套餐,不能删除");}super.removeById(id);}}

Controller类中定义删除分类的方法

调用categoryService中的删除自定义方法remove

    @DeleteMappingpublic R<String> remove(Long id) {categoryService.remove(id);return R.success("删除成功");}

功能测试

删除“湘菜”,提示当前分类下关联了菜品,不能删除。
在这里插入图片描述
删除“商务套餐”,提示删除成功,由于商务套餐分类信息没有被菜品或套餐关联。
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com