在准备环境前提交次全部更改。

This commit is contained in:
Neo
2026-02-19 08:35:13 +08:00
parent ded6dfb9d8
commit 4eac07da47
1387 changed files with 6107191 additions and 33002 deletions

View File

@@ -1,22 +1,32 @@
---
inclusion: always
---
# 产品概述
飞球 ETL 系统 (etl-billiards) — 面向台球门店业务的数据仓库 ETL 管线
NeoZQYY Monorepo — 面向台球门店业务的全栈数据平台,包含 ETL Connector、后端 API、管理后台、微信小程序
## 功能
## 子系统
- ETL Connector从上游 SaaS API 抽取运营数据,经 ODS → DWD → DWS 三层处理
- FastAPI 后端:业务 API 服务
- 微信小程序C 端用户界面
- 管理后台(`apps/admin-web/`任务管理、调度配置、数据查看、ETL 状态监控(已替代原 PySide6 桌面 GUI
- 共享包:枚举、金额精度、时间工具
> 各子系统路径见 `structure-lite.md`
## ETL 功能
- 从上游 SaaS API 抽取运营数据(订单、支付、会员、助教、库存等)
- 原始数据落地 **ODS**(操作数据存储层),保留源 payload 便于回溯
- 清洗装载至 **DWD**(明细数据层),维度走 SCD2事实按时间增量
- 汇总至 **DWS**(数据服务层)助教业绩、财务日报、会员分析、工资计算、自定义指数算法WBI/NCI/RS/OS/MS/ML
- 提供 **PySide6 桌面 GUI**,支持任务管理、调度配置
- 原始数据落地 ODS,保留源 payload 便于回溯
- 清洗装载至 DWD,维度走 SCD2事实按时间增量
- 汇总至 DWS助教业绩、财务日报、会员分析、工资计算、自定义指数算法WBI/NCI/RS/OS/MS/ML
- 支持在线API 抓取和离线JSON 回放)两种模式
## 业务上下文
- 单租户:一家台球门店(由 `STORE_ID` 标识)
- 核心实体:会员(客户)、助教(教练)、台桌、订单、支付、退款、团购套餐、库存
- 多门店隔离:通过 `site_id` + RLS 实现
- 核心实体:会员、助教、台桌、订单、支付、退款、团购套餐、库存
- 领域语言以中文为主代码注释、文档、UI 文案均为中文
- 货币人民币CNY金额以 numeric(2) 存储
## 主要入口
- CLI`python -m cli.main`(主入口)
- GUI`python -m gui.main`
- 批处理脚本:`run_etl.bat``run_gui.bat`(根目录)、`scripts/run_ods.bat`
详见 `tech.md` 常用命令节。