在准备环境前提交次全部更改。
This commit is contained in:
@@ -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` 常用命令节。
|
||||
|
||||
Reference in New Issue
Block a user