食刻 HRMS — 餐饮行业智能人力资源管理系统
专为连锁餐饮企业打造的一体化人力资源管理平台,覆盖组织管理、员工管理、智能排班、考勤打卡、工时管控、抢班/给班协作等核心场景,帮助餐饮企业实现人力成本精细化管控。
业务功能:
组织管理:支持集团—区域—门店三级架构,门店工作站、营业时段灵活配置
员工管理:入职、调岗、转店、技能认证、离职全生命周期管理
智能排班:基于营业额预估 + 技能匹配的 AI 辅助排班,支持手动拖拽调整
考勤管理:微信小程序定位打卡,迟到/早退/缺卡自动识别,日结月结报表
工时与公休:工时上限预警、加班倍率计算、公休自动分配
抢班/给班:员工自主抢班、管理员发布给班需求,提升人力调度灵活性
营业额预估:历史数据导入 + 智能算法预估,数据驱动人力配置决策
技术架构:
微服务架构,Java 17 + Spring Boot 3.3,服务间通信采用 gRPC + Protocol Buffers
4 个 gRPC 微服务(组织、员工、认证、网关)+ 1 个 HTTP API Gateway
前端 Vue 3 + TypeScript + Element Plus 双端应用(运营后台 + 员工门户)
微信小程序端基于 Uni-app 开发,员工打卡与班表查看
Nacos 服务注册与发现,MySQL 持久化,Redis 缓存
Proto-First 接口契约设计,MyBatis-Plus ORM,Pinia 状态管理
项目规模:
后端 4 个独立微服务 + 共享契约模块,Monorepo 管理
前端双应用架构(运营平台 + 用户自助),共享组件与 API 层
覆盖 200+ 门店、5000+ 员工级别的连锁餐饮管理场景
1、整体架构和设计思路
系统采用微服务架构,Monorepo 管理。核心设计思路是 Proto-First:先用 Protocol Buffers 定义服务契约,再由各服务独立实现。HTTP API Gateway(Spring Boot 3.3)统一对外提供 REST 接口,内部通过 gRPC 调用组织服务、员工服务、认证服务三个领域微服务,服务间通过 Nacos 实现注册发现。数据层使用 MySQL + MyBatis-Plus,热点数据走 Redis 缓存。前端采用 Vue 3 + TypeScript + Element Plus,通过路由分发实现运营后台和员工门户双应用共享同一套组件和 API 层。小程序端基于 Uni-app 开发,对接微信登录和定位打卡能力。
2、我的负责模块和结果
我独立负责整个系统的架构设计与全栈开发。后端完成 4 个微服务从 0 到 1 的搭建,定义了 20+ gRPC 接口契约,实现了组织管理(三级架构、工作站、门店配置)、智能排班(营业额预估驱动 + 技能匹配)、考勤计算(打卡自动匹配班次、异常识别)、抢班/给班协作等核心业务。前端完成 30+ 页面开发,包含可视化排班表、考勤日历、工时统计图表等复杂交互组件。系统支撑 200+ 门店、5000+ 员工规模的日常运营。
3、遇到的难点和解决方案
难点一:排班引擎需要同时满足营业额人力匹配、员工技能约束、工时上限、公休规则等多维约束。解决方案是将排班拆解为"预估→需求计算→人员匹配→冲突检测"四阶段流水线,每阶段独立可调,避免了规则耦合导致的维护困难。
难点二:gRPC 微服务间的事务一致性问题,比如员工调店涉及组织服务和员工服务的联动更新。采用最终一致性方案,通过业务状态机 + 补偿机制保证数据一致,避免引入分布式事务框架带来的复杂度。
难点三:小程序端打卡定位精度不稳定,部分安卓机型 GPS 漂移严重。通过多次定位取中位数 + WiFi 辅助定位 + 合理的围栏半径配置,将打卡成功率从 85% 提升到 98%。