水渠随笔/作品 · 餐饮门店系统

GRADUATION WORK · 活水 HUOSHUI

百般滋味 乐在其中

一张桌台码,串起顾客点单、后厨出餐、老板看账的完整闭环。 扫码即点、分钟级出餐、进销存流水一目了然——不换设备,先用起来。

// 提交申请 · 平台审核 · 当天开店 · 演示账号随开随用

0+
签约门店
0单/日
日均成交订单
0%
高峰出餐提速
0%
系统可用性
01

一套系统,三端闭环

顾客不装 App、商家不买硬件、平台看得见全局。三个角色,一个订单池,数据实时流转。

CUSTOMER · 顾客端

扫码即点,吃完即走

  • 微信扫码进店,免注册,桌号自动带入
  • 多规格 SKU 自由选,口味备注直达后厨
  • 下单即锁库存,模拟支付立等出餐
  • 订单状态实时推送到桌
MERCHANT · 商家端

接单出餐,一部手机

  • 来单实时提醒,状态机驱动不丢单
  • 菜品 / 库存 / 桌台 / 员工权限全管理
  • 进销存流水完整可追溯
PLATFORM · 平台端

入驻审核,全局洞察

  • 商家入驻在线化,审核即开店
  • 平台营收 / 门店排行实时可查
02

从扫码到复盘,四步走完

扫码点单

桌台码绑定门店与桌号,顾客扫码即进菜单,规格价格实时同步。

T+0s · 下单锁库存

后厨接单

来单 WebSocket 秒级推送,接单进入制作,全流程状态机流转。

T+1s · 新单提醒

出餐核销

出餐 → 顾客桌上可见;完成即入账,营收数据实时累计。

T+15min · 平均出餐

数据复盘

营收趋势、菜品排行、时段热力、库存水位,一屏决策明天备多少货。

T+1d · 经营日报
03

技术底气,写在图纸上

不是营销话术,是每一行都可以打开看的工程实现。

BLUEPRINT-A · MULTI-TENANT

多租户列隔离

每家门店一个独立租户,SQL 层透明注入隔离条件,从根源杜绝跨店读写。

SCHEMETenantLineInterceptor
ISOLATIONtenant_id 列级
LEAKAGE0 · 白名单管控
BLUEPRINT-B · RBAC

三级角色权限

老板、店长、后厨各司其职,接口级注解鉴权,越权请求在网关就被拦下。

ROLESBOSS / MANAGER / CHEF
GRANT接口粒度 32 项
AUDIT操作日志全留痕
BLUEPRINT-C · CONCURRENCY

下单四道防线

幂等提交 → 分布式锁 → Redis 原子预扣 → 数据库乐观锁,超卖在高并发下依然为零。

IDEMPOTENTRedis SETNX
LOCKRedisson · 店铺粒度
STOCKLua 原子预扣
WRITE@Version 乐观锁
04

老板的驾驶舱

今天的营业额、最畅销的菜、几点最忙——睁眼就有答案。

  • ✓今日营收 / 订单 / 客单价实时刷新
  • ✓近 7 日趋势与时段热力分布
  • ✓菜品销量排行,决定明天备料
  • ✓库存水位预警,低库存自动亮灯
  • ✓订单导出、桌台码打印、小票预览,开箱即用
TODAY REVENUE
¥3,280
ORDERS
186
AVG TICKET
¥17.6 ↑
HOURLY ORDERS · 08:00 – 22:00
05

开店的人怎么说

“晚市高峰 40 分钟出 60 单,后厨不用喊单,烤炉前贴一张码就完事。”
—— 老王烧烤 · 王老板 · 开店 6 年
“以前每天打烊对账两小时,现在打开驾驶舱,今天卖了多少、哪道菜赚钱,一屏看完,直接决定明天进多少货。”
—— 巷口面馆 · 林店主 · 2 家分店
“新来的小时工给个后厨账号就能干活,碰不到钱也碰不到报表,放心。”
—— 炭火故事 · 陈店长 · 40 桌门店
06

常见问题

持有营业执照的堂食门店即可申请。提交入驻申请后平台 1 个工作日内完成审核,审核通过即自动开通商家后台与老板账号。当前为推广期,基础功能免费。

不需要。顾客用自己手机扫码点单,商家用任意浏览器(手机或电脑)登录商家后台即可接单管理。桌台码由系统生成,自行打印塑封就能用。

不会。下单链路有四道防线:幂等提交防连点、分布式锁按门店串行化、Redis Lua 脚本原子预扣库存、数据库乐观锁兜底,任何一道拦截成功都会把已扣份额完整回补。

不会。系统采用多租户架构,每家门店的数据在存储层即被隔离,菜品、订单、库存、员工互不可见;平台端仅能查看脱敏后的经营统计。

商家后台提供三级角色:后厨只能接单出餐,看不到营业额与报表;店长可管理日常经营;只有老板拥有全部权限。员工离职一键停用账号,历史操作日志仍完整保留。

让下一单,热气腾腾

提交申请,审核通过立即开店。不换设备、不做培训,打印一张桌台码,今晚就能用。