87a5e3b08e2941b3d398b30a2025cc7813370c65
走查发现 board-finance "储值卡充值实收" 66000 vs ETL 直查 ~132000 2 倍差异,怀疑前后端字段错位。 复核结论:链路完全正确,无代码改动。 - 小程序 board-finance.ts L409 'recharge.actualIncome' ← 后端 actual_income - 后端 fdw_queries:2825 SELECT SUM(recharge_cash) AS actual_income - 用的是 recharge_cash(现金口径),非 recharge_total(全口径=cash+gift) DB 直查 site=2790685415443269 / 2026-04 月度: - recharge_cash = 66998 - recharge_gift = 66998 - recharge_total = 133996(= cash + gift,刚好 2 倍) 走查时 132000 = recharge_total(全口径),66000 = recharge_cash (现金实收),两者本就不同语义。recharge_cash 是"实收"应有的现金 口径(赠送非真实现金流入,业务上不算"实收"),后端字段使用正确。 端到端验证(weixin-devtools-mcp + DB): - sandbox=4-20: 小程序 actualIncome=66000(SQL stat_date<=4-20) - 与 DB 全月 SUM(recharge_cash) 66998 差额 998 = 4-21 之后被 sandbox 业务日上界裁剪(F1-5b T1/A1 收益,跨任务交叉验证) 留给 Wave B 的改进建议(非本次任务范围): - 小程序 helpKey 'rechargeActual' 文案补充"现金口径(不含赠送)" - DWS 视图列注释明确 cash/gift/total 三字段语义 审计: - docs/audit/changes/2026-05-05__wave1_f1_5b_mp1_recharge_field_clarification.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%