飞轮中台技术说明
核对日期:2026-10-14。操作菜单见中台操作总览,门店操作见店长工作台。本文为当前源码说明,不证明所有能力已部署。
项目结构
前端 spa-feilun-frontend 使用 React 18、Umi Max、TypeScript 和 Ant Design,Hash 路由,生成 dist。spa-feilun-backend 使用 Java 17、Spring Boot、MyBatis、MySQL、Redis,既有运维配置后端端口为 8088。
页面复用 src/services 下分域请求与类型、统一 request、QueryTable 和鉴权组件。后端按 Controller → Service → Mapper/XML 分层,job 放调度入口,正式业务不在 Controller/Service 拼接 SQL。
当前模块与菜单
菜单由返回菜单树、静态路由和权限共同控制;旧地址可重定向,不能据旧路由推断最新菜单位置。
查询状态与外观
支持的列表把本账号本会话筛选、分页及子标签保存到查询状态机制,详情返回可恢复;重置和会话清理按既有实现执行。账号隔离、门店范围变化、延迟响应和重置均需回归,不能将旧筛选越权带入新账号。
界面设置统一表头、密度、字号和交替行;服务详情、查询区、分页和指标卡复用商务样式。这些是显示偏好,不改变订单或财务口径。
认证与权限
登录后统一附带业务令牌,调用当前用户接口取得角色、权限、菜单和数据范围。服务端按 HTTP 方法/路径登记 API 权限,再在领域服务校验门店与主体;空门店不自动授权全店。
会员服务记录、提货、退款、导出、积分/存油写入、作废及撤销结算分别控制。中台超级管理员的强制作废不等于小程序店长的待结算作废,两个入口有各自条件和审计。
履约与结算
中台复用正式结算预览、报价和写入链路,普通工作台与历史补单保留各自入口约束。提交重读可信快照与版本,预览不是可绕过的授权依据。
- 按真实付款、预扣积分和来源处理收尾,不重复主款及扣分。
- 平台按具体项目分配核销金额,剩余项目及现场加项分别核对。
- 积分加现金保持各单位及总额守恒,并限制券、商品与加项组合。
- 产品积分结算先保存商品销售、赠分及库存,再扣本次服务积分;商品款独立,服务收益为零。
- 权益活动零收益和独立码核销、体验/升级券专属状态遵循各自规则。
- 撤销预览明确积分付款人、商品、库存、存油、券和钟数影响;特殊权益单与普通单结果不同。
旧结算方式编码继续兼容,产品积分及权益活动名称统一不意味着修改历史金额算法。
共享核心与分析服务
券与培训分别通过 spa-coupon-core、spa-training-core 接入双后端,版本以两个 pom.xml 为准。核心变化需验证两个宿主,不复制规则到页面或另一后端。
经营报表调用独立分析服务:前端 /analytics-api 指向分析 API,业务 /api 仍指向中台。分析经可信票据授权,Flink CDC 从配置的只读来源采集到 ClickHouse,不依赖在业务库新增分析任务表。
当前分析工程包含固定清单、最终版本去重、字段/主键核对、有界恢复和报表就绪校验。历史采集范围扩展需保留原位点和恢复证据;任务入口在 任务管理 → 采集任务。实际来源、采集范围及版本以本部署配置为准,不能只看中台页面已打开。
培训、存油和库存
培训身份与员工岗位分离,老师/校长授权门店分别维护,中台培训人员当前展示总部员工。教学与学习看板区分图文、网页及历史来源;浏览包含播放,不能重复相加或推导学分。
存油保存会员、门店、具体商品和批次件数及流水。人工添加、自提剩余和服务核销各有含义,不是修改储值金额。
门店调拨发货扣调出库存、实际验收增调入库存,ERP 同步失败沿原流水重试,不再创建第二笔业务。库存预警依据门店商品开关与阈值。
验证与发布
前端现有检查为 npm run typecheck、npm run build 及相关 test:*;lint 需如实记录现有配置问题,不能把脚本存在当作通过。后端按变更执行 checkstyle、verify 及必要隔离 MySQL 集成验证。
数据库按 schema/precheck/upgrade/verify 发布,后端先兼容接口再发布前端和小程序;分析、培训网页及支付代理按对应流程独立核对。回退保留成功版本、资产与核销事实,不删表或流水。
本轮未修改代码、数据库或发布配置,仅验证文档格式、静态构建和导航。线上授权、真实支付和目标环境部署另行验收。