POS System for a Billiard Hall Chain — Multi-Store产品系统

我要开发同款
Mark2026年07月22日
4阅读

技术信息

语言技术
CSSJavaScriptTypeScriptNode.jsMySQL
系统类型
WebAndroid应用H5
行业分类
企业服务电商

作品详情

行业场景

国外连锁台球厅长期依赖人工记台和纸质台账:店员用小本子记录每张球台的开台时间,客人结账时口算时长和金额,饮料零食单独收钱。这套模式在单店尚可维持,一旦扩展到多门店就集中暴露三个问题——一是计费争议多,跨时段费率(平峰/高峰/包夜)全靠店员心算,算错和少收频发;二是营收黑洞,台费和商品收入无法交叉核对,跑单、免单、私收现金难以追溯;三是老板看不到数据,各门店经营情况只能靠店长月底口头汇报,无法横向对比,也无法判断哪些时段该做促销。

与此同时台球行业本身正在快速连锁化和智能化,24 小时无人值守门店成为趋势,倒逼门店必须具备扫码自助开台、自动灯控、远程管控的能力。本项目即为解决上述问题而立项,目标是为连锁台球厅提供一套覆盖前台收银、硬件联动、会员运营和总部管控的完整业务系统。

功能介绍

系统由四端构成:门店收银端、总部管理后台、顾客端小程序、以及硬件控制服务。

1. 台位与计费模块:可视化台位图实时显示空闲/使用中/预约/暂停状态;支持开台、换台、并台、暂停计时、转单;计费规则引擎支持按台型、按时段(平峰/高峰/节假日)、包夜套餐、会员折扣叠加计算,跨时段自动分段计价。

2. 硬件联动模块:开台自动开灯、结账自动关灯,支持灯控板断线重连与状态回补,异常时可手动接管。

3. 商品与库存模块:饮料、烟酒、球杆租赁等商品挂单至台位,一并结算;支持库存出入库、盘点、损耗记录与低库存预警。

4. 会员模块:会员注册、储值充值与赠送、余额与积分、等级折扣、消费明细查询,会员数据在连锁门店间通用。

5. 收银结算模块:支持现金、聚合扫码、会员余额、挂账等多种支付方式与混合支付;支持整单折扣、抹零、退单,全部操作留痕。

6. 顾客端小程序:在线预约台位、扫码自助开台、自助续时与买单、会员卡充值。

7. 总部管理后台:多门店经营看板、营业额与台位利用率分析、时段热力分析、员工班次与交接班对账、商品销售排行、权限与角色管理。

项目实现

我在本项目中承担全流程职责:前期实地走访门店梳理业务流程、输出需求文档与原型,随后完成技术选型、数据库设计、前后端开发、测试及上线部署,并负责首批门店的落地培训与迭代。

技术栈:后端 Java + Spring Boot + MyBatis,MySQL 主从 + Redis 缓存,RabbitMQ 处理异步任务;收银端采用 Electron + Vue 3,可在 Windows 收银机上离线运行;管理后台 Vue 3 + Element Plus;顾客端为微信小程序;硬件侧通过 TCP/串口与灯控板通信,独立部署硬件网关服务。整体 Docker 化部署,Nginx 反向代理,Jenkins 做 CI/CD。

实现亮点与难点:

一是计费准确性。跨时段分段计价叠加会员折扣与套餐规则,边界情况极多,我将计费抽象为独立的规则引擎并配套单元测试,保证任何一笔账单可完整回溯计算过程。

二是断网可用。门店网络不稳定,收银端设计为离线优先:本地 SQLite 缓存台位与订单数据,断网期间正常开台结账,恢复后按操作时序增量同步,并以幂等设计避免重复入账。

三是硬件稳定性。灯控板通信存在丢包与掉线,通过心跳检测、指令重发与状态定时回补,确保软件台位状态与实际灯光始终一致。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论