init: 项目初始提交 - NeoZQYY Monorepo 完整代码

This commit is contained in:
Neo
2026-02-15 14:58:14 +08:00
commit ded6dfb9d8
769 changed files with 182616 additions and 0 deletions

View File

@@ -0,0 +1,125 @@
# 实施计划ETL 任务说明文档
## 概述
基于对 `tasks/``loaders/``orchestration/``cli/` 目录下源代码的分析,生成 7 个 Markdown 文档文件,放置于 `docs/etl_tasks/` 目录下。每个任务按照设计文档中定义的结构和内容范围编写。
## 任务
- [x] 1. 创建 `docs/etl_tasks/base_task_mechanism.md`
- 说明 BaseTask 的 execute → extract → transform → load 模板方法流程
- 说明 TaskContext 字段含义store_id、window_start、window_end、window_minutes、cursor
- 说明时间窗口计算逻辑(手动覆盖 > 游标 > 闲忙时段默认值)
- 说明窗口分段build_window_segments切分策略
- 说明 TaskRegistry 注册方式与 TaskMeta 元数据结构layer、task_type、requires_db_config
- 说明 PipelineRunner 管道执行流程与校验框架概述
- _Requirements: 8.1, 8.2, 8.3, 8.4, 8.5_
- [x] 2. 创建 `docs/etl_tasks/ods_tasks.md`
- [x] 2.1 编写独立 ODS 任务说明14 个任务ORDERS、PAYMENTS、MEMBERS、PRODUCTS、TABLES、ASSISTANTS、PACKAGES_DEF、REFUNDS、COUPON_USAGE、INVENTORY_CHANGE、TOPUPS、TABLE_DISCOUNT、ASSISTANT_ABOLISH、LEDGER
- 每个任务列出任务代码、Python 类、API 端点、请求参数、字段解析逻辑、目标表、写入策略
- _Requirements: 2.1, 2.2, 2.3, 2.4_
- [x] 2.2 编写通用 ODS 任务说明BaseOdsTask + OdsTaskSpec 模式)
- 说明 OdsTaskSpec 配置结构endpoint、table、columns、pk_columns、snapshot_mode 等)
- 说明 BaseOdsTask 的通用 execute 流程API 调用、schema-aware 插入、content_hash 去重、软删除标记)
- 列出由 ODS_TASK_CLASSES 动态注册的所有任务
- _Requirements: 2.5, 2.6_
- [x] 3. 创建 `docs/etl_tasks/dwd_tasks.md`
- [x] 3.1 编写 DWD_LOAD_FROM_ODS 核心任务说明
- 列出完整的 TABLE_MAP 映射表DWD 表 → ODS 表)
- 说明维度/事实分流逻辑dim_* 走 SCD2 或 Type1 Upsert其余走增量插入
- 说明 SCD2 处理流程(最新快照选取、变更检测、版本关闭与新建)
- 说明事实表增量装载fetched_at 水位线、upsert/insert-only、FACT_MAPPINGS 列映射)
- _Requirements: 3.2, 3.3, 3.4_
- [x] 3.2 编写独立 DWD 任务说明TICKET_DWD、PAYMENTS_DWD、MEMBERS_DWD
- 每个任务列出:源 ODS 表、目标 DWD 表、处理特点
- _Requirements: 3.6_
- [x] 3.3 编写 DWD_QUALITY_CHECK 任务说明
- 说明行数/金额核对逻辑、金额列自动扫描规则、JSON 报表输出格式
- _Requirements: 3.5_
- [x] 4. 创建 `docs/etl_tasks/dws_tasks.md`
- [x] 4.1 编写 BaseDwsTask 公共机制说明
- 说明时间分层TimeLayer、配置缓存ConfigCache、delete-before-insert 策略、bulk_insert/upsert 方法
- _Requirements: 4.1_
- [x] 4.2 编写助教业绩域任务说明5 个任务)
- DWS_ASSISTANT_DAILY日度服务明细聚合数据来源、聚合维度、输出字段
- DWS_ASSISTANT_MONTHLY月度汇总业绩档位计算、排名逻辑、新人封顶规则
- DWS_ASSISTANT_CUSTOMER助教-客户关系统计
- DWS_ASSISTANT_SALARY工资计算公式基础工资+提成+奖金+扣款)
- DWS_ASSISTANT_FINANCE助教收支分析收入 vs 日均成本、毛利率)
- _Requirements: 4.2, 4.3, 4.4_
- [x] 4.3 编写会员分析域任务说明2 个任务)
- DWS_MEMBER_CONSUMPTION会员消费汇总、客户分层
- DWS_MEMBER_VISIT会员到店明细、服务时长、折扣计算
- _Requirements: 4.2, 4.3, 4.4_
- [x] 4.4 编写财务统计域任务说明4 个任务)
- DWS_FINANCE_DAILY财务日报结算汇总、团购、充值、赠卡消费、费用、平台
- DWS_FINANCE_RECHARGE充值统计首充/续充、现金/赠送、卡余额)
- DWS_FINANCE_INCOME_STRUCTURE收入结构分析按类型、按区域
- DWS_FINANCE_DISCOUNT_DETAIL折扣明细统计
- _Requirements: 4.2, 4.3, 4.4_
- [x] 4.5 编写运维任务说明4 个任务)
- DWS_BUILD_ORDER_SUMMARY订单汇总中间表构建
- DWS_RETENTION_CLEANUP时间分层清理策略、配置参数enabled、layer、tables、table_layers
- DWS_MV_REFRESH_FINANCE_DAILY / DWS_MV_REFRESH_ASSISTANT_DAILY物化视图分层刷新机制、L1-L4 层级、配置方式
- _Requirements: 4.5, 4.6_
- [x] 5. 创建 `docs/etl_tasks/index_tasks.md`
- 编写 BaseIndexTask 公共机制(参数加载、百分位历史)
- 编写 4 个指数任务说明WBI回流指数、NCI新客转化指数、RS关系指数、ML手动台账导入
- 说明 cfg_index_parameters 配置表结构和参数含义
- 说明 ML_MANUAL_IMPORT 的 Excel 模板格式和导入逻辑
- _Requirements: 5.1, 5.2, 5.3, 5.4_
- [x] 6. 创建 `docs/etl_tasks/utility_tasks.md`
- 编写 8 个工具类任务说明INIT_ODS_SCHEMA、INIT_DWD_SCHEMA、INIT_DWS_SCHEMA、MANUAL_INGEST、ODS_JSON_ARCHIVE、CHECK_CUTOFF、SEED_DWS_CONFIG、DATA_INTEGRITY_CHECK
- 每个任务列出:用途、执行的 DDL/操作、配置参数
- 重点说明 MANUAL_INGEST 的文件匹配规则和入库流程
- _Requirements: 6.1, 6.2, 6.3, 6.4, 6.5_
- [x] 7. 创建 `docs/etl_tasks/README.md`(总览)
- 编写系统简介和数据流向图API → ODS → DWD → DWS
- 编写按层分组的任务清单表格任务代码、Python 类、简要说明、跳转链接)
- 编写管道类型说明7 种管道的层组合)
- 编写处理模式说明increment_only / verify_only / increment_verify
- 编写数据源模式说明online / offline / hybrid
- 编写 CLI 参数速查表(所有参数的表格)
- 编写常见命令示例
- _Requirements: 1.1, 1.2, 1.3, 7.1, 7.2, 7.3, 7.5, 7.6_
- [x] 8. 检查点 - 验证文档完整性
- 确认 7 个文件全部存在于 `docs/etl_tasks/` 目录下
- 确认 README.md 中的任务清单覆盖所有已注册任务
- 确认各分层文件中的任务代码与 task_registry.py 一致
- Ensure all files are valid Markdown, ask the user if questions arise.
- [x] 9. 编写文档覆盖完整性验证脚本
- [x] 9.1 编写 ODS 任务覆盖验证
- **Property 1: ODS 任务文档覆盖完整性**
- **Validates: Requirements 2.1, 2.4**
- [x] 9.2 编写 DWD 任务覆盖验证
- **Property 2: DWD 任务文档覆盖完整性**
- **Validates: Requirements 3.1**
- [x] 9.3 编写 DWS 任务覆盖验证
- **Property 3: DWS 任务文档覆盖完整性**
- **Validates: Requirements 4.1, 4.4**
- [x] 9.4 编写 INDEX 和 Utility 任务覆盖验证
- **Property 4: INDEX 任务文档覆盖完整性**
- **Property 5: Utility 任务文档覆盖完整性**
- **Validates: Requirements 5.1, 6.1**
- [x] 9.5 编写 CLI 参数和管道类型覆盖验证
- **Property 6: CLI 参数文档覆盖完整性**
- **Property 7: 管道类型文档覆盖完整性**
- **Validates: Requirements 7.1, 7.2**
- [x] 10. 最终检查点
- Ensure all tests pass, ask the user if questions arise.
## 说明
- 任务标记 `*` 的为可选项,可跳过以加快 MVP 进度
- 每个任务引用了具体的需求编号以便追溯
- 检查点确保增量验证
- 文档编写顺序先写公共机制task 1再按层写各任务task 2-6最后写总览task 7