7b1cfadc2ea5867c40e419dd329cf3ffadc964bd
新建 sandbox_replay/balance_replay.py 模块,迁移 fdw_queries.get_member_balance, fdw_queries 改 thin wrapper 保持 5 处现有调用(chat/coach/customer x2/task_manager) 透明兼容。 数据源 dim_member_card_account 是 SCD2 维度表(原生支持时光机),sandbox 改造 关键是替换 scd2_is_current=1 过滤为 scd2_start_time + scd2_end_time 时间过滤 (ref_date+1day 边界 = 当天结束时仍 active 的版本,timestamptz 比较稳定)。 双口径 UI 走查 PASS(member=2799207363643141 葛先生,SCD2 历史余额变化样本): - 4a live(today=2026-05-05): 储值余额 ¥6,602 - 4b sandbox=2026-04-20: 储值余额 ¥18,080(差异 1.1w+,时光机效果显著) unit test sprint1+sprint2 累计 24/24 PASS,无回归。 附带本次 sprint 2 触发的架构级登记: - 新建 docs/_overview/architecture-evolution-backlog.md(DWD 孤立 + Core 中间件 + 库重组,长远架构演进 backlog) - F1-6-tasks.md 登记 #3 累计交易笔数推迟 Sprint 3(ETL 配合新增 total_open_table_count,因现有 total_visit_count 实算 COUNT(settle_type IN (1,3)) 含商城订单,不符 Neo "开台次数"业务语义) - sandbox-replay-engine-spec §5.5 thin wrapper 决策原则(已在 #2 commit) 详见 docs/audit/changes/2026-05-06__f1_6_sprint2_member_balance.md Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
NeoZQYY Monorepo
台球门店运营助手一体化平台,整合 ETL 数据 Connector、微信小程序后端、小程序前端与管理后台。
项目结构
| 目录 | 说明 | 文档 |
|---|---|---|
apps/etl/connectors/feiqiu/ |
飞球 Connector(API → ODS → DWD → DWS) | docs/ |
apps/backend/ |
FastAPI 后端(13 个路由 · JWT 双认证 · WebSocket) | README · API 参考 |
apps/miniprogram/ |
微信小程序(Donut + TDesign + TypeScript) | README |
apps/admin-web/ |
管理后台(React + Vite + Ant Design) | README |
apps/mcp-server/ |
MCP Server(AI 工具集成,PostgreSQL 只读查询) | README |
packages/shared/ |
共享包(枚举、金额精度、时间工具) | README |
db/etl_feiqiu/ |
ETL 数据库(6 层 Schema:meta/ods/dwd/core/dws/app) | README |
db/zqyy_app/ |
业务数据库(auth 认证 + 任务队列 + 调度) | README |
docs/ |
项目文档中心(架构、数据库、部署、审计) | README |
scripts/ |
运维/工具脚本 | — |
tests/ |
Monorepo 级属性测试 | — |
快速开始
# 安装全部依赖(需要 uv)
uv sync
# 运行 ETL
cd apps/etl/connectors/feiqiu
python -m cli.main --pg-dsn "$PG_DSN" --store-id "$STORE_ID" --api-token "$API_TOKEN"
# 启动后端 API
cd apps/backend
uvicorn app.main:app --reload
# 运行 ETL 单元测试
cd apps/etl/connectors/feiqiu
pytest tests/unit
配置
配置采用分层叠加:根 .env -> 应用 .env.local -> 环境变量 -> CLI 参数。
参见 .env.template 了解可用配置项。
技术栈
- Python 3.10+, uv workspace(4 个成员:etl、backend、mcp-server、shared)
- PostgreSQL 四库:
etl_feiqiu/test_etl_feiqiu(ETL)、zqyy_app/test_zqyy_app(业务) - FastAPI + Uvicorn(后端 API)
- React 19 + Vite 6 + Ant Design 5(管理后台,独立 pnpm)
- 微信小程序原生 + Donut + TDesign + TypeScript(C 端)
- JWT 双认证(管理后台用户名密码 + 小程序微信登录)
- 多门店隔离(
site_id+ RLS)
Description
Languages
Python
79.6%
TypeScript
17.4%
PLpgSQL
1.9%
HTML
0.7%
PowerShell
0.4%