Files
Neo-ZQYY/docs/README.md
Neo b25308c3f4 feat: P1-P3 全栈集成 — 数据库基础 + DWS 扩展 + 小程序鉴权 + 工程化体系
## P1 数据库基础
- zqyy_app: 创建 auth/biz schema、FDW 连接 etl_feiqiu
- etl_feiqiu: 创建 app schema RLS 视图、商品库存预警表
- 清理 assistant_abolish 残留数据

## P2 ETL/DWS 扩展
- 新增 DWS 助教订单贡献度表 (dws.assistant_order_contribution)
- 新增 assistant_order_contribution_task 任务及 RLS 视图
- member_consumption 增加充值字段、assistant_daily 增加处罚字段
- 更新 ODS/DWD/DWS 任务文档及业务规则文档
- 更新 consistency_checker、flow_runner、task_registry 等核心模块

## P3 小程序鉴权系统
- 新增 xcx_auth 路由/schema(微信登录 + JWT)
- 新增 wechat/role/matching/application 服务层
- zqyy_app 鉴权表迁移 + 角色权限种子数据
- auth/dependencies.py 支持小程序 JWT 鉴权

## 文档与审计
- 新增 DOCUMENTATION-MAP 文档导航
- 新增 7 份 BD_Manual 数据库变更文档
- 更新 DDL 基线快照(etl_feiqiu 6 schema + zqyy_app auth)
- 新增全栈集成审计记录、部署检查清单更新
- 新增 BACKLOG 路线图、FDW→Core 迁移计划

## Kiro 工程化
- 新增 5 个 Spec(P1/P2/P3/全栈集成/核心业务)
- 新增审计自动化脚本(agent_on_stop/build_audit_context/compliance_prescan)
- 新增 6 个 Hook(合规检查/会话日志/提交审计等)
- 新增 doc-map steering 文件

## 运维与测试
- 新增 ops 脚本:迁移验证/API 健康检查/ETL 监控/集成报告
- 新增属性测试:test_dws_contribution / test_auth_system
- 清理过期 export 报告文件
- 更新 .gitignore 排除规则
2026-02-26 08:03:53 +08:00

154 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# docs/ — 项目文档中心
NeoZQYY Monorepo 的文档中心,存放产品需求、技术架构、数据契约、运维手册、审计记录等所有文档资产。
## 项目全貌
NeoZQYY 是面向台球门店业务的全栈数据平台,包含 6 个子系统:
```
┌─────────────────────────────────────────────────────────────┐
│ 微信小程序C 端) │
│ apps/miniprogram/ │
│ TypeScript + TDesign + Donut 多端 │
└──────────────────────┬──────────────────────────────────────┘
│ REST API
┌──────────────────────▼──────────────────────────────────────┐
│ FastAPI 后端 │
│ apps/backend/ │
│ 13 个路由模块 · JWT 双认证 · WebSocket 日志 │
├──────────────┬───────────────────────┬──────────────────────┤
│ zqyy_app │ │ etl_feiqiu │
│ (业务库) │◄──── FDW 只读 ────────│ (ETL 数据仓库) │
│ auth/biz │ │ 6 层 Schema │
└──────────────┘ └──────────┬───────────┘
┌─────────────────────────────────────────────────▼───────────┐
│ ETL Connector │
│ apps/etl/connectors/feiqiu/ │
│ 飞球 SaaS API → ODS → DWD → DWS 三层处理 │
└─────────────────────────────────────────────────────────────┘
┌──────────────────────┐ ┌──────────────────────┐
│ 管理后台 │ │ MCP Server │
│ apps/admin-web/ │ │ apps/mcp-server/ │
│ React+Vite+AntDesign │ │ AI 工具集成 │
└──────────────────────┘ └──────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ 共享包 packages/shared/ │
│ 枚举 · 金额精度 · 时间工具 │
└─────────────────────────────────────────────────────────────┘
```
## 模块文档索引
### 应用模块(各模块 README
| 模块 | 路径 | 说明 |
|------|------|------|
| ETL Connector | [`apps/etl/connectors/feiqiu/docs/`](../apps/etl/connectors/feiqiu/docs/) | 架构、API 参考、业务规则、运维文档 |
| FastAPI 后端 | [`apps/backend/README.md`](../apps/backend/README.md) | 架构、路由总览、认证体系、服务层 |
| 后端 API 参考 | [`apps/backend/docs/API-REFERENCE.md`](../apps/backend/docs/API-REFERENCE.md) | 全部 API 端点详细说明 |
| 微信小程序 | [`apps/miniprogram/README.md`](../apps/miniprogram/README.md) | 开发指南、认证流程、API 集成 |
| 管理后台 | [`apps/admin-web/README.md`](../apps/admin-web/README.md) | 页面功能、组件、状态管理 |
| MCP Server | [`apps/mcp-server/README.md`](../apps/mcp-server/README.md) | 工具说明、安全策略、配置 |
| 共享包 | [`packages/shared/README.md`](../packages/shared/README.md) | 枚举、金额精度、时间工具 API |
### 数据库文档
| 文档 | 路径 | 说明 |
|------|------|------|
| zqyy_app 架构 | [`db/zqyy_app/README.md`](../db/zqyy_app/README.md) | 业务库 Schema、表结构、迁移顺序 |
| etl_feiqiu 架构 | [`db/etl_feiqiu/README.md`](../db/etl_feiqiu/README.md) | ETL 六层 Schema 说明 |
| BD 手册 | [`docs/database/`](database/) | 各表的详细变更文档BD_Manual_*.md |
### 项目级文档
| 目录 | 说明 |
|------|------|
| `prd/` | 产品需求文档 |
| `contracts/` | 数据契约OpenAPI、JSON Schema、数据字典 |
| `permission_matrix/` | 权限矩阵 |
| `architecture/` | 架构设计文档 |
| `database/` | 数据库设计与变更文档BD 手册) |
| `deployment/` | 部署文档(启动清单、输出路径规范) |
| `h5_ui/` | 小程序原型与 UI 设计稿 |
| `ops/` | 运维手册 |
| `audit/` | 统一审计目录(变更记录 + Prompt 日志) |
| `roadmap/` | 路线图 |
| `migrate/` | 迁移指南 |
| `spec-input/` | Spec 输入文档 |
## 技术栈速览
| 层级 | 技术 |
|------|------|
| 后端 | Python 3.10+ / FastAPI / Uvicorn / psycopg2 |
| 前端(管理后台) | React 19 / Vite 6 / Ant Design 5 / Zustand / TypeScript |
| 前端(小程序) | 微信原生 + Donut + TDesign / TypeScript |
| 数据库 | PostgreSQL4 库etl_feiqiu / test_etl_feiqiu / zqyy_app / test_zqyy_app |
| 包管理 | Python: uv workspace / 前端: pnpm |
| AI 集成 | MCP ServerPostgreSQL 只读查询) |
## 数据库四库架构
| 库名 | 用途 | 连接变量 |
|------|------|----------|
| `etl_feiqiu` | ETL 数据仓库6 层 Schema | `PG_DSN` |
| `test_etl_feiqiu` | ETL 测试库 | `TEST_DB_DSN` |
| `zqyy_app` | 业务数据(认证、队列、调度) | `APP_DB_DSN` |
| `test_zqyy_app` | 业务测试库 | 默认连接 |
ETL 六层 Schema`meta``ods``dwd``core``dws``app`
## 认证体系概览
系统支持两套独立认证:
| 认证方式 | 入口 | 用户来源 | 令牌 |
|----------|------|----------|------|
| 管理后台 | `/api/auth/login` | `admin_users` 表 | JWT用户名+密码) |
| 小程序 | `/api/xcx-auth/login` | `auth.users` 表 | JWT微信 code |
小程序认证流程:微信登录 → 提交申请 → 管理员审批 → 正式使用
## 多门店隔离
- 业务数据通过 `site_id` 隔离
- ETL 数据库使用 RLSRow Level Security
- 后端 JWT 令牌携带 `site_id`,所有查询自动过滤
- 用户可关联多个门店,通过 API 切换
## 配置体系
优先级(低 → 高):根 `.env` < 应用 `.env.local` < 环境变量 < CLI 参数
关键环境变量见 `.env.template`
## 常用命令
```bash
# 安装依赖
uv sync --all-packages
# 启动后端
cd apps/backend && uv run uvicorn app.main:app --reload
# 启动管理后台
cd apps/admin-web && pnpm dev
# ETL 执行
cd apps/etl/connectors/feiqiu && python -m cli.main --dry-run --tasks DWD_LOAD_FROM_ODS
# 测试
cd apps/etl/connectors/feiqiu && pytest tests/unit
cd C:\NeoZQYY && pytest tests/ -v
```
## 文件归属规则
- 模块专属的 docs/tests/scripts → 放模块内部
- 项目级/跨模块的 docs/tests/scripts → 放根目录
- 审计产物统一写 `docs/audit/`,禁止写入子模块内部