开云 (集团) 官方网站 Kaiyun- 登录入口

  • 首页
  • 关于我们
  • 新闻中心
  • 工程案例
  • 荣誉资质
  • 诚聘精英
  • 联系我们
  • 首页
  • 关于我们
  • 新闻中心
  • 工程案例
  • 荣誉资质
  • 诚聘精英
  • 联系我们

栏目分类

  • 关于我们
  • 新闻中心
  • 工程案例
  • 荣誉资质
  • 诚聘精英
  • 联系我们

热点资讯

  • 开云体育正股最新价为14.35元-开云 (集团) 官方网站 Kaiyun- 登录入口
  • 开yun体育网在会(阐述听证会)上获取了扫数东说念主的尊重-开云 (集团) 官方网站 Kaiyu
  • 开云体育(中国)官方网站“DeepSeek不必多说了-开云 (集团) 官方网站 Kaiyun-
  • 开云体育收支13.00元/公斤-开云 (集团) 官方网站 Kaiyun- 登录入口
  • 开云体育说明最新一期基金季报披露-开云 (集团) 官方网站 Kaiyun- 登录入口

新闻中心

开yun体育网 order_id: int-开云 (集团) 官方网站 Kaiyun- 登录入口
发布日期:2025-09-02 10:38    点击次数:167

自助餐贬责软件是餐饮行业数字化转型的贫穷用具,大约匡助餐厅高效贬责菜品库存、主顾流量和财务结算。本文将先容一个基于Python的浅易自助餐贬责系统的已毕,包含中枢功能模块和代码示例。

系统功能缱绻

中枢功能模块

菜品贬责:增调动查菜品信息(称呼、价钱、分类、库存)

主顾贬责:记载主顾逝世信息

订单贬责:处理自助餐订单(取餐、结算)

库存贬责:及时监控菜品库存

报表统计:生成贸易数据报表

中枢代码已毕

1. 基础数据模子

伸开剩余94%

python

from dataclasses import dataclass

from typing import List, Dict, Optional

import datetime

@dataclass

class Dish:

"""菜品数据模子"""

id: int

name: str

price: float

category: str # 举例:热菜、凉菜、甜点等

stock: int # 库存数目

is_active: bool = True # 是否在售

@dataclass

class Customer:

"""主顾数据模子"""

id: int

name: Optional[str] = None

phone: Optional[str] = None

membership: bool = False # 是否会员

@dataclass

class OrderItem:

"""订单项数据模子"""

dish_id: int

quantity: int = 1

timestamp: datetime.datetime = datetime.datetime.now()

@dataclass

class Order:

"""订单数据模子"""

id: int

customer_id: Optional[int] = None

items: List[OrderItem] = None

total_amount: float = 0.0

status: str = "active" # active/completed/cancelled

timestamp: datetime.datetime = datetime.datetime.now()

2. 自助餐贬责系统中枢类

python

class BuffetManagementSystem:

def __init__(self):

self.dishes: Dict[int, Dish] = {}

self.customers: Dict[int, Customer] = {}

self.orders: Dict[int, Order] = {}

self.next_dish_id = 1

self.next_customer_id = 1

self.next_order_id = 1

# 菜品贬责

def add_dish(self, name: str, price: float, category: str, stock: int) -> int:

"""添加新菜品"""

dish = Dish(

id=self.next_dish_id,

name=name,

price=price,

category=category,

stock=stock

)

self.dishes[self.next_dish_id] = dish

self.next_dish_id += 1

return dish.id

def update_dish_stock(self, dish_id: int, quantity: int) -> bool:

"""更新菜品库存"""

if dish_id not in self.dishes:

return False

dish = self.dishes[dish_id]

if dish.stock + quantity < 0:

return False # 库存不成为负

dish.stock += quantity

return True

# 主顾贬责

def add_customer(self, name: str = None, phone: str = None, membership: bool = False) -> int:

"""添加新主顾"""

customer = Customer(

id=self.next_customer_id,

name=name,

phone=phone,

membership=membership

)

self.customers[self.next_customer_id] = customer

self.next_customer_id += 1

return customer.id

# 订单贬责

def create_order(self, customer_id: Optional[int] = None) -> int:

"""创建新订单"""

order = Order(

id=self.next_order_id,

customer_id=customer_id,

items=[],

total_amount=0.0

)

self.orders[self.next_order_id] = order

self.next_order_id += 1

return order.id

def add_item_to_order(self, order_id: int, dish_id: int, quantity: int = 1) -> bool:

"""向订单添加菜品"""

if order_id not in self.orders or dish_id not in self.dishes:

return False

order = self.orders[order_id]

dish = self.dishes[dish_id]

if dish.stock < quantity:

return False # 库存不及

# 查验是否已存在调换菜品

existing_item = next((item for item in order.items if item.dish_id == dish_id), None)

if existing_item:

existing_item.quantity += quantity

else:

order.items.append(OrderItem(dish_id=dish_id, quantity=quantity))

# 更新总价

order.total_amount += dish.price * quantity

# 减少库存

dish.stock -= quantity

return True

def complete_order(self, order_id: int) -> bool:

"""完成订单"""

if order_id not in self.orders:

return False

order = self.orders[order_id]

if order.status != "active":

return False # 订单景色不正确

order.status = "completed"

return True

# 报表统计

def get_revenue_report(self, start_date: datetime.date, end_date: datetime.date) -> Dict[str, float]:

"""生成收入报表"""

report = {

"total_revenue": 0.0,

"category_revenue": {} # 按菜品分类统计

}

for order in self.orders.values():

if order.status != "completed":

continue

order_date = order.timestamp.date()

if not (start_date <= order_date <= end_date):

continue

report["total_revenue"] += order.total_amount

# 统计各分类收入

for item in order.items:

dish = self.dishes.get(item.dish_id)

if dish:

category = dish.category

revenue = dish.price * item.quantity

report["category_revenue"][category] = report["category_revenue"].get(category, 0.0) + revenue

return report

3. 浅易用户界面已毕

python

class BuffetCLI:

def __init__(self, system: BuffetManagementSystem):

self.system = system

def run(self):

"""敕令行界面主轮回"""

while True:

print("\n自助餐贬责系统")

print("1. 添加菜品")

print("2. 更新库存")

print("3. 添加主顾")

print("4. 创建订单")

print("5. 向订单添加菜品")

print("6. 完成订单")

print("7. 生成收入报表")

print("0. 退出")

choice = input("请遴荐操作: ")

if choice == "1":

self.add_dish()

elif choice == "2":

self.update_stock()

elif choice == "3":

self.add_customer()

elif choice == "4":

self.create_order()

elif choice == "5":

self.add_item_to_order()

elif choice == "6":

self.complete_order()

elif choice == "7":

self.generate_report()

elif choice == "0":

break

else:

print("无效遴荐,请重试")

def add_dish(self):

name = input("菜品称呼: ")

try:

price = float(input("价钱: "))

stock = int(input("库存数目: "))

except ValueError:

print("输入无效,请输入数字")

return

category = input("分类(热菜/凉菜/甜点等): ")

dish_id = self.system.add_dish(name, price, category, stock)

print(f"得胜添加菜品,ID: {dish_id}")

# 其他样式已毕肖似,简化展示...

系统推广提议

数据库集成:将数据抓久化到SQLite或MySQL数据库

Web界面:使用Flask/Django确立Web贬责界面

支付系统:集成第三方支付接口

会员系统:已毕积分、扣头等会员功能

智能库存:基于历史数据瞻望库存需求

竣工示例运行

python

if __name__ == "__main__":

system = BuffetManagementSystem()

cli = BuffetCLI(system)

# 启动化一些测试数据

system.add_dish("红烧肉", 38.0, "热菜", 50)

system.add_dish("凉拌黄瓜", 18.0, "凉菜", 100)

system.add_dish("提拉米苏", 28.0, "甜点", 30)

cli.run()

纪念

本文已毕了一个基础的自助餐贬责系统,涵盖了中枢业务逻辑。骨子商用系统需要在此基础上进行以下雠校:

添加用户认证和权限贬责

已毕更完善的诞妄处理和日记记载

优化数据存储和检索性能

添加数据备份和还原机制

著述部分代码参考起头:https://github.com/17c13cm/sh/issues/9

著述部分代码参考起头:https://github.com/17c13cm/sh/issues/10

著述部分代码参考起头:https://github.com/17c13cm/sh/issues/11

著述部分代码参考起头:https://github.com/17c13cm/sh/issues/12开yun体育网

发布于:江西省

上一篇:体育游戏app平台凭借对宗旨科学的深远交融逃犯和对用户需求的锐利细察-开云 (集团) 官方网站 Kaiyun- 登录入口
下一篇:开云体育(中国)官方网站不同阵营的东说念主们-开云 (集团) 官方网站 Kaiyun- 登录入口
    友情链接:

Powered by 开云 (集团) 官方网站 Kaiyun- 登录入口 @2013-2022 RSS地图 HTML地图

Copyright Powered by站群 © 2013-2024