4. 删除菜品
4.1 需求分析和设计
4.1.1 产品原型
在菜品列表页面,每个菜品后面对应的操作分别为修改、删除、停售,可通过删除功能完成对菜品及相关的数据进行删除。
删除菜品原型:
业务规则:
-
可以一次删除一个菜品,也可以批量删除菜品
-
起售中的菜品不能删除
-
被套餐关联的菜品不能删除
-
删除菜品后,关联的口味数据也需要删除掉
4.1.2 接口设计
根据上述原型图,设计出相应的接口。
注意:删除一个菜品和批量删除菜品共用一个接口,故ids可包含多个菜品id,之间用逗号分隔。
4.1.3 表设计
在进行删除菜品操作时,会涉及到以下三张表。
注意事项:
-
在dish表中删除菜品基本数据时,同时,也要把关联在dish_flavor表中的数据一块删除。
-
setmeal_dish表为菜品和套餐关联的中间表。
-
若删除的菜品数据关联着某个套餐,此时,删除失败。
-
若要删除套餐关联的菜品数据,先解除两者关联,再对菜品进行删除。