news 2026/4/27 5:27:28

从0到1:推拿头疗店ERP系统的需求分析与架构设计全复盘

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从0到1:推拿头疗店ERP系统的需求分析与架构设计全复盘

一、项目背景

最近接到一个线下服务业SaaS系统的开发需求:为推拿、头疗、采耳等门店开发一套完整的ERP管理系统。系统需要覆盖微信小程序端(用户端)、安卓App端(技师端+客户端)、Web管理后台(店长端+总部端),以及核心的中台账目管理

团队配置:两个大学生 + AI辅助开发。我在之前的项目中做过9个微服务的架构,这次决定用“一个后端+多个前端”的单体架构来简化部署,同时内部保持清晰的模块边界。

这篇文章不是教你写代码,而是完整记录需求分析阶段遇到的坑、思考过程和技术决策。希望能给做类似项目的同学一些参考。


二、需求全景图

2.1 角色与模块矩阵

角色/模块核心需求
① 用户端注册、活动提醒、生日/节日问候、技师选择(含技师介绍、好评展示、服务时长、服务客户人数等)
② 店长端上钟记录、排班管理、店铺的房间管理
③ 技师端上钟提醒、入职表管理、实时量化工资组成(提成工资)、已发工资和待发工资显示
④ 中台账目、经营管理
⑤ 其他扫码核销、连接店铺房间硬件计时器(上钟/下钟提醒,数据同步到后台)

2.2 多端架构概览

  • 微信小程序:面向C端用户,预约、选择技师、下单。

  • 安卓App(客户端):功能同小程序,但通过App推送触达用户。

  • 安卓App(技师端):接单、上钟/下钟操作、查看工资。

  • Web ERP(电脑端):店长管理和总部管理界面,数据报表、排班、房间管理。


三、需求对齐中的模糊地带(最容易扯皮的点)

在写第一行代码之前,如果不把以下问题对齐,项目必然会延期或扯皮。

3.1 硬件计时器到底是什么?

需求里写的“连接店铺房间硬件计时器”,这五个字是整个项目最大的黑盒

  • 是Wi-Fi智能插座?

  • 是蓝牙网关设备?

  • 还是房间内摆放的一台安卓平板运行倒计时?

对齐结论:如果硬件选型未确定,第一版只做虚拟计时按钮(技师手机端点击开始/结束),硬件对接作为二期功能。否则开发会陷入无底洞。

3.2 “实时量化工资”的算法陷阱

“实时量化工资”听起来简单,实际极其复杂。几个致命问题:

  • 提成是按项目金额的比例还是固定金额

  • 点钟、轮钟、加钟的提成算法是否不同?

  • 不同职级技师提成比例是否不同?

  • 如果订单发生退款,已算好的提成怎么扣回?技师已经离职了怎么办?

对齐结论:要求甲方提供明确的书面提成规则公式,否则工资模块无法开发。开发时将提成规则设计为策略模式,方便后续调整。

3.3 中台 vs 店长端 vs 总部端的边界

这是最容易被混淆的概念。

给谁看关注什么
店长端店长/前台今天多少流水、技师忙不忙、房间脏不脏
中台财务/老板娘钱对不对、成本准不准、负债多少
总部端老板/运营各店营收达成率、哪个店长不行

举例:顾客充值1000元,店长端看到“收了1000块业绩真好”。中台必须冷酷地记:负债1000元(欠顾客的),直到顾客消费了800块,中台才确认800元是真实收入。


四、技术难点分析

4.1 硬件层交互的实时性与可靠性

Web ERP是基于浏览器的,无法直接通过串口或蓝牙连接物理硬件。需要一个中间件客户端(可以是技师端App充当网关)来轮询硬件状态并推送到云端。

坑点:网络抖动导致状态不一致——硬件显示“上钟”,系统显示“空闲”。

方案:引入本地消息表 + 最大努力通知 + 人工干预后台。不要试图用分布式事务强一致硬件状态。

4.2 工资计算的强一致性

技师随时查看“待发工资”,如果某笔订单发生退款/改价,必须触发工资的冲正重算

关键设计:使用计算字段快照。订单完成时,直接把当时的提成金额存一份到工资流水表,不要每次查工资都关联订单表重新算(否则订单改价后历史工资会变,技师会投诉)。

4.3 多端的实时消息同步

技师端App必须实时收到上钟提醒,不能依赖手动刷新。

方案:部署WebSocket长连接服务。在小体量下可以内嵌在后端服务中,不需要独立集群。

4.4 中台账目的逆向流程

退款时,账目不能直接删除或修改原记录。必须遵循财务原则:只增不改,红字冲销


五、架构决策:为什么选“一个后端+多个前端”

我之前做过9个微服务的项目,这次选择单体应用 + 内部模块拆分

5.1 架构对比

维度单体+模块拆分完整微服务
开发速度极快,改一个接口四个端全生效极慢,调一个流程改3个服务
硬件成本,一台2核4G搞定高,至少3-5台服务器
工资计算风险,代码只在一处高,A服务算提成B服务退款,数据不同步
单点故障有风险(挂了全挂)部分可用

结论:对这个项目规模和团队配置,单体是更务实的选择。

5.2 内部四大领域模块

即使部署在一起,代码边界必须清晰:

java

com.headspa ├── billing // 计费与工资 - 最复杂,变最频繁 ├── scheduling // 排班与房间 - 状态机复杂 ├── shopfloor // 硬件与工位 - IOT隔离层 └── identity // 多端鉴权 - 权限隔离

六、AI辅助开发策略:不是“一把梭”,而是“审查式生成”

我们团队是两个大学生+AI,但我和同伴在开发方法上有分歧:他想快速用AI生成功能,我坚持用软件工程方法逐步推进。

6.1 我的真实做法:AI是审查员,不是主程

核心原则

  • 人定架构,AI当审查

  • 人写接口定义,AI生成方法实现

  • 人写数据库设计,AI挑刺找漏洞

6.2 四轮AI审查机制

第一轮:架构审查(开工前)

把需求文档喂给AI,让它以资深架构师身份审查:

  • 哪个模块最容易出现并发数据错误?(工资+硬件状态同步)

  • 推拿行业有什么特殊业务坑?(技师并牌服务、跨天工资归属期)

第二轮:数据库设计审查(建表前)

把ER图给AI审查:

  • 统计“上月所有点钟提成”时能否高性能跑出来?

  • 跨天订单的工资归属期用哪个字段标识?

  • 技师离职后历史提成数据是否会丢失?

第三轮:接口定义审查(写代码前)

先生成Swagger/OpenAPI的YAML,作为多端开发的宪法。安卓、小程序、Web都严格遵循这份契约。

第四轮:AI规则文件(防坑指南)

项目中放置.cursorrules文件,约束AI代码生成:

plaintext

1. 涉及金额的变量禁用float/double,必须用BigDecimal。 2. 工资计算逻辑严禁写在Controller层。 3. 数据库状态变更必须使用乐观锁(@Version)。 4. 接口返回日期统一用"yyyy-MM-dd HH:mm:ss"格式字符串。 5. 不要未经确认引入外部依赖库。

七、工时估算

模式开发周期(3人团队)最终形态
小做(MVP)1.5-2个月能用手机代替纸质笔记本,无硬件联动,工资固定比例
大做(SaaS标准版)3.5-4.5个月成熟门店数字化系统,带物联网中控,动态工资规则引擎

两个大学生+AI的实际预估:1.2-1.5个月完成MVP,关键瓶颈在业务规则的梳理而非代码编写。


八、给同行的三点建议

8.1 需求阶段花50%的时间

这个项目最大的成本不是写代码,是把老板自己都说不清的分钱规则翻译成可执行的代码逻辑。需求阶段多花一天,开发阶段少花一周。

8.2 硬件对接是最大无底洞

第一版坚决不做硬件对接。用手机上的软计时(技师点击开始/结束)跑通流程,再考虑对接智能开关的开放API。

8.3 AI的正确用法是“审查”而不是“生成”

用AI省下来的时间,不是去打游戏,而是花在设计模式数据库规范上。这样下周老板改需求的时候,你还能打游戏。


九、写在最后

这个项目对我来说,技术栈上没有太多新东西(从9个微服务降维到1个后端),但业务复杂度远超预期。推拿头疗这种线下服务业的很多场景,是互联网出身的产品经理完全想不到的。

如果你也在做类似的线下服务业数字化项目,欢迎留言交流。特别想知道大家对技师并牌服务的工资拆分有没有好的方案——这是我目前遇到的最头疼的问题之一。


本文完整记录了项目从需求对接到技术方案的全部思考过程,包括那些“差点没想清楚”的瞬间。希望对正在做毕设、接外包、或者创业的同学有所启发。


关键词:推拿店ERP、SaaS系统、需求分析、多端架构、AI辅助开发、工资计算引擎、硬件对接

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 5:16:37

Qwen3.5-9B-AWQ-4bit实战案例:工厂巡检表单图→填写规范检查+异常项标红

Qwen3.5-9B-AWQ-4bit实战案例:工厂巡检表单图→填写规范检查异常项标红 1. 项目背景与需求分析 在工业生产环境中,每日巡检是保障设备安全运行的重要环节。传统的人工巡检表单检查存在以下痛点: 效率低下:质检员需要逐项核对数…

作者头像 李华
网站建设 2026/4/27 5:07:20

腾讯优图文档解析模型应用:为RAG系统提供高质量结构化知识源

腾讯优图文档解析模型应用:为RAG系统提供高质量结构化知识源 1. 文档解析的行业痛点与解决方案 在知识管理和信息检索领域,非结构化文档一直是数据利用的最大障碍。传统OCR技术虽然能将图片中的文字提取出来,但面对复杂文档时存在明显局限&…

作者头像 李华
网站建设 2026/4/27 4:59:27

分布式事务Saga模式:轻量级协调器设计与实战解析

1. 项目概述:一个分布式事务协调器的诞生最近在梳理团队内部微服务架构下的数据一致性方案时,我又把目光投向了分布式事务这个老生常谈但又避不开的难题。市面上成熟的方案不少,比如阿里的Seata、华为的ServiceComb-Pack,它们功能…

作者头像 李华
网站建设 2026/4/27 4:54:57

scikit-learn预测建模全流程解析与实战技巧

1. 预测建模基础与scikit-learn概览 机器学习预测建模的核心在于从历史数据中发现规律,并将这些规律应用于新数据。scikit-learn作为Python最流行的机器学习库,提供了统一的API设计,使得从数据预处理到模型评估的整个流程变得异常简单。我初次…

作者头像 李华
网站建设 2026/4/27 4:54:04

Vector:高性能可观测性数据管道的架构解析与生产实践

1. 项目概述:从日志收集到可观测性数据管道的全能选手如果你在运维、DevOps或者数据工程领域摸爬滚打过一段时间,肯定对日志、指标、追踪这些可观测性数据的管理感到头疼。数据源五花八门,格式千奇百怪,处理逻辑复杂,还…

作者头像 李华