酒楼菜品信息管理系统
时间: 2023-11-29 14:47:23 浏览: 47
酒楼菜品信息管理系统是一种用于管理酒楼菜品信息的软件系统。该系统可以提供以下功能:
1. 菜品信息管理:包括菜品名称、价格、描述、图片等信息的录入、修改和删除。
```python
# 示例代码
class Dish:
def __init__(self, name, price, description, image):
self.name = name
self.price = price
self.description = description
self.image = image
def update_price(self, new_price):
self.price = new_price
def update_description(self, new_description):
self.description = new_description
def update_image(self, new_image):
self.image = new_image
def __str__(self):
return f"{self.name}: {self.price}元\n{self.description}\n"
class DishManager:
def __init__(self):
self.dishes = []
def add_dish(self, dish):
self.dishes.append(dish)
def remove_dish(self, dish):
self.dishes.remove(dish)
def update_dish_price(self, dish, new_price):
dish.update_price(new_price)
def update_dish_description(self, dish, new_description):
dish.update_description(new_description)
def update_dish_image(self, dish, new_image):
dish.update_image(new_image)
def get_dish_by_name(self, name):
for dish in self.dishes:
if dish.name == name:
return dish
return None
# 使用示例
dish_manager = DishManager()
dish1 = Dish("宫保鸡丁", 28, "鸡肉、花生米、辣椒等炒制而成", "gongbaojiding.jpg")
dish2 = Dish("鱼香肉丝", 32, "猪肉、木耳、胡萝卜等炒制而成", "yuxiangrousi.jpg")
dish_manager.add_dish(dish1)
dish_manager.add_dish(dish2)
print(dish_manager.get_dish_by_name("宫保鸡丁"))
```
2. 菜品分类管理:包括菜品分类的添加、修改和删除。
```python
# 示例代码
class Category:
def __init__(self, name):
self.name = name
self.dishes = []
def add_dish(self, dish):
self.dishes.append(dish)
def remove_dish(self, dish):
self.dishes.remove(dish)
def __str__(self):
return f"{self.name}: {[dish.name for dish in self.dishes]}"
class CategoryManager:
def __init__(self):
self.categories = []
def add_category(self, category):
self.categories.append(category)
def remove_category(self, category):
self.categories.remove(category)
def update_category_name(self, category, new_name):
category.name = new_name
def get_category_by_name(self, name):
for category in self.categories:
if category.name == name:
return category
return None
# 使用示例
category_manager = CategoryManager()
category1 = Category("川菜")
category2 = Category("粤菜")
category1.add_dish(dish1)
category2.add_dish(dish2)
category_manager.add_category(category1)
category_manager.add_category(category2)
print(category_manager.get_category_by_name("川菜"))
```
3. 菜品销售统计:按类别、按食品销售统计,菜品销售排行可了解畅销菜品和滞销菜品。
```python
# 示例代码
class SalesStatistics:
def __init__(self, dish_manager, category_manager):
self.dish_manager = dish_manager
self.category_manager = category_manager
def get_sales_by_category(self, category):
dishes = category.dishes
sales = sum([dish.sales for dish in dishes])
return sales
def get_sales_by_dish(self, dish):
return dish.sales
def get_top_selling_dishes(self, n):
sorted_dishes = sorted(self.dish_manager.dishes, key=lambda dish: dish.sales, reverse=True)
return sorted_dishes[:n]
# 使用示例
dish1.sales = 100
dish2.sales = 200
sales_statistics = SalesStatistics(dish_manager, category_manager)
print(sales_statistics.get_sales_by_category(category1))
print(sales_statistics.get_sales_by_dish(dish1))
print(sales_statistics.get_top_selling_dishes(1))
```
4. 预定管理:支持预定功能,包括日常预定和酒席预定。
```python
# 示例代码
class Reservation:
def __init__(self, name, phone, date, time, num_of_people, dishes):
self.name = name
self.phone = phone
self.date = date
self.time = time
self.num_of_people = num_of_people
self.dishes = dishes
class ReservationManager:
def __init__(self):
self.reservations = []
def add_reservation(self, reservation):
self.reservations.append(reservation)
def remove_reservation(self, reservation):
self.reservations.remove(reservation)
def get_reservations_by_date(self, date):
return [reservation for reservation in self.reservations if reservation.date == date]
# 使用示例
reservation_manager = ReservationManager()
reservation1 = Reservation("张三", "123456789", "2022-01-01", "18:00", 6, [dish1, dish2])
reservation2 = Reservation("李四", "987654321", "2022-01-02", "19:00", 8, [dish2])
reservation_manager.add_reservation(reservation1)
reservation_manager.add_reservation(reservation2)
print(reservation_manager.get_reservations_by_date("2022-01-01"))
```