在前后端开发联调前 的提交20260223

This commit is contained in:
Neo
2026-02-23 23:02:20 +08:00
parent 254ccb1e77
commit fafc95e64c
1142 changed files with 10366960 additions and 36957 deletions

View File

@@ -0,0 +1,44 @@
# dim_staff 员工档案主表
> 生成时间2026-02-23
## 表信息
| 属性 | 值 |
|------|-----|
| Schema | dwd |
| 表名 | dim_staff |
| 主键 | staff_id, scd2_start_time |
| 扩展表 | dim_staff_ex |
| ODS 来源 | ods.staff_info_master |
| 说明 | 员工档案维度主表SCD2包含核心业务字段 |
## 字段说明
| 序号 | 字段名 | 类型 | 可空 | 主键 | 说明 |
|------|--------|------|------|------|------|
| 1 | staff_id | BIGINT | NO | PK | 员工唯一标识(映射自 ODS id |
| 2 | staff_name | TEXT | YES | | 员工姓名 |
| 3 | alias_name | TEXT | YES | | 别名 |
| 4 | mobile | TEXT | YES | | 手机号 |
| 5 | gender | INTEGER | YES | | 性别 |
| 6 | job | TEXT | YES | | 职位(店长/主管/教练/收银员等) |
| 7 | tenant_id | BIGINT | YES | | 租户 ID |
| 8 | site_id | BIGINT | YES | | 门店 ID |
| 9 | system_role_id | INTEGER | YES | | 系统角色 ID |
| 10 | staff_identity | INTEGER | YES | | 员工身份类型 |
| 11 | status | INTEGER | YES | | 账号状态 |
| 12 | leave_status | INTEGER | YES | | 在职状态0=在职1=离职) |
| 13 | entry_time | TIMESTAMPTZ | YES | | 入职时间 |
| 14 | resign_time | TIMESTAMPTZ | YES | | 离职时间 |
| 15 | is_delete | INTEGER | YES | | 删除标记 |
| 16 | scd2_start_time | TIMESTAMPTZ | NO | PK | SCD2 版本生效时间 |
| 17 | scd2_end_time | TIMESTAMPTZ | YES | | SCD2 版本失效时间 |
| 18 | scd2_is_current | INTEGER | YES | | 当前版本标记 |
| 19 | scd2_version | INTEGER | YES | | 版本号 |
## 与其他表的关系
- 扩展表:`dwd.dim_staff_ex`(次要/低频变更字段)
- ODS 来源:`ods.staff_info_master`
- 与助教维度表(`dim_assistant`)是完全独立的实体

View File

@@ -0,0 +1,51 @@
# dim_staff_ex 员工档案扩展表
> 生成时间2026-02-23
## 表信息
| 属性 | 值 |
|------|-----|
| Schema | dwd |
| 表名 | dim_staff_ex |
| 主键 | staff_id, scd2_start_time |
| 主表 | dim_staff |
| ODS 来源 | ods.staff_info_master |
| 说明 | 员工档案维度扩展表SCD2包含次要/低频变更字段 |
## 字段说明
| 序号 | 字段名 | 类型 | 可空 | 主键 | 说明 |
|------|--------|------|------|------|------|
| 1 | staff_id | BIGINT | NO | PK | 员工唯一标识(映射自 ODS id |
| 2 | avatar | TEXT | YES | | 头像 URL |
| 3 | job_num | TEXT | YES | | 工号 |
| 4 | account_status | INTEGER | YES | | 账号启用状态 |
| 5 | rank_id | INTEGER | YES | | 职级 ID |
| 6 | rank_name | TEXT | YES | | 职级名称 |
| 7 | new_rank_id | INTEGER | YES | | 新职级 ID |
| 8 | new_staff_identity | INTEGER | YES | | 新员工身份 |
| 9 | is_reserve | INTEGER | YES | | 预约标记 |
| 10 | shop_name | TEXT | YES | | 门店名称 |
| 11 | site_label | TEXT | YES | | 门店标签 |
| 12 | tenant_org_id | BIGINT | YES | | 租户组织 ID |
| 13 | system_user_id | BIGINT | YES | | 系统用户 ID |
| 14 | cashier_point_id | BIGINT | YES | | 收银点 ID |
| 15 | cashier_point_name | TEXT | YES | | 收银点名称 |
| 16 | group_id | BIGINT | YES | | 分组 ID |
| 17 | group_name | TEXT | YES | | 分组名称 |
| 18 | staff_profile_id | BIGINT | YES | | 员工档案 ID |
| 19 | auth_code | TEXT | YES | | 授权码 |
| 20 | auth_code_create | TIMESTAMPTZ | YES | | 授权码创建时间 |
| 21 | ding_talk_synced | INTEGER | YES | | 钉钉同步状态 |
| 22 | salary_grant_enabled | INTEGER | YES | | 工资发放启用 |
| 23 | entry_type | INTEGER | YES | | 入职类型 |
| 24 | entry_sign_status | INTEGER | YES | | 入职签约状态 |
| 25 | resign_sign_status | INTEGER | YES | | 离职签约状态 |
| 26 | criticism_status | INTEGER | YES | | 批评状态 |
| 27 | create_time | TIMESTAMPTZ | YES | | 创建时间 |
| 28 | user_roles | JSONB | YES | | 用户角色列表 |
| 29 | scd2_start_time | TIMESTAMPTZ | NO | PK | SCD2 版本生效时间 |
| 30 | scd2_end_time | TIMESTAMPTZ | YES | | SCD2 版本失效时间 |
| 31 | scd2_is_current | INTEGER | YES | | 当前版本标记 |
| 32 | scd2_version | INTEGER | YES | | 版本号 |

View File

@@ -0,0 +1,70 @@
# staff_info_master 员工档案主表
> 生成时间2026-02-23
## 表信息
| 属性 | 值 |
|------|-----|
| Schema | ods |
| 表名 | staff_info_master |
| 主键 | id |
| 数据来源 | SearchSystemStaffInfo API |
| 快照模式 | FULL_TABLE |
| 说明 | 员工档案主数据(店长、主管、教练、收银员等) |
## 字段说明
| 序号 | 字段名 | 类型 | 可空 | 说明 |
|------|--------|------|------|------|
| 1 | id | BIGINT | NO | 员工主键 ID |
| 2 | tenant_id | BIGINT | YES | 租户 ID |
| 3 | site_id | BIGINT | YES | 门店 ID |
| 4 | tenant_org_id | BIGINT | YES | 租户组织 ID |
| 5 | system_user_id | BIGINT | YES | 系统用户 ID |
| 6 | staff_name | TEXT | YES | 员工姓名 |
| 7 | alias_name | TEXT | YES | 别名 |
| 8 | mobile | TEXT | YES | 手机号 |
| 9 | avatar | TEXT | YES | 头像 URL |
| 10 | gender | INTEGER | YES | 性别3=未知) |
| 11 | job | TEXT | YES | 职位(店长/主管/教练/收银员等) |
| 12 | job_num | TEXT | YES | 工号 |
| 13 | staff_identity | INTEGER | YES | 员工身份类型 |
| 14 | status | INTEGER | YES | 账号状态 |
| 15 | account_status | INTEGER | YES | 账号启用状态 |
| 16 | system_role_id | INTEGER | YES | 系统角色 ID |
| 17 | rank_id | INTEGER | YES | 职级 ID |
| 18 | rank_name | TEXT | YES | 职级名称 |
| 19 | new_rank_id | INTEGER | YES | 新职级 ID |
| 20 | new_staff_identity | INTEGER | YES | 新员工身份 |
| 21 | leave_status | INTEGER | YES | 在职状态0=在职1=离职) |
| 22 | entry_time | TIMESTAMP | YES | 入职时间 |
| 23 | resign_time | TIMESTAMP | YES | 离职时间 |
| 24 | create_time | TIMESTAMP | YES | 创建时间 |
| 25 | is_delete | INTEGER | YES | 删除标记 |
| 26 | is_reserve | INTEGER | YES | 预约标记 |
| 27 | shop_name | TEXT | YES | 门店名称 |
| 28 | site_label | TEXT | YES | 门店标签 |
| 29 | cashier_point_id | BIGINT | YES | 收银点 ID |
| 30 | cashier_point_name | TEXT | YES | 收银点名称 |
| 31 | group_id | BIGINT | YES | 分组 ID |
| 32 | group_name | TEXT | YES | 分组名称 |
| 33 | staff_profile_id | BIGINT | YES | 员工档案 ID |
| 34 | auth_code | TEXT | YES | 授权码 |
| 35 | auth_code_create | TIMESTAMP | YES | 授权码创建时间 |
| 36 | ding_talk_synced | INTEGER | YES | 钉钉同步状态 |
| 37 | salary_grant_enabled | INTEGER | YES | 工资发放启用 |
| 38 | entry_type | INTEGER | YES | 入职类型 |
| 39 | entry_sign_status | INTEGER | YES | 入职签约状态 |
| 40 | resign_sign_status | INTEGER | YES | 离职签约状态 |
| 41 | criticism_status | INTEGER | YES | 批评状态 |
| 42 | user_roles | JSONB | YES | 用户角色列表 |
| 43 | content_hash | TEXT | NO | 记录内容哈希 |
| 44 | source_file | TEXT | YES | 来源文件路径 |
| 45 | fetched_at | TIMESTAMPTZ | YES | 抓取时间 |
| 46 | payload | JSONB | NO | 原始 JSON |
## 与其他表的关系
- 员工表与助教表(`assistant_accounts_master`)是完全独立的实体
- 下游:`dwd.dim_staff`(主表)、`dwd.dim_staff_ex`(扩展表)

View File

@@ -0,0 +1,80 @@
# 员工档案SearchSystemStaffInfo → staff_info_master 字段映射
> 生成时间2026-02-23
## 端点信息
| 属性 | 值 |
|------|-----|
| 接口路径 | `PersonnelManagement/SearchSystemStaffInfo` |
| 请求方法 | POST |
| ODS 对应表 | `ods.staff_info_master` |
| JSON 数据路径 | `data.staffProfiles` |
| 快照模式 | FULL_TABLE全量快照 |
## 请求参数
| 参数 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| workStatusEnum | int | 0 | 在职状态筛选0=全部) |
| dingTalkSynced | int | 0 | 钉钉同步状态0=全部) |
| staffIdentity | int | 0 | 员工身份筛选0=全部) |
| rankId | int | 0 | 职级筛选0=全部) |
| criticismStatus | int | 0 | 批评状态0=全部) |
| signStatus | int | -1 | 签约状态(-1=全部) |
## 字段映射
| JSON 字段 | ODS 列名 | 类型转换 | 说明 |
|-----------|----------|----------|------|
| id | id | int→BIGINT | 员工主键 ID |
| tenant_id | tenant_id | int→BIGINT | 租户 ID |
| site_id | site_id | int→BIGINT | 门店 ID |
| tenant_org_id | tenant_org_id | int→BIGINT | 租户组织 ID |
| system_user_id | system_user_id | int→BIGINT | 系统用户 ID |
| staff_name | staff_name | string→TEXT | 员工姓名 |
| alias_name | alias_name | string→TEXT | 别名 |
| mobile | mobile | string→TEXT | 手机号 |
| avatar | avatar | string→TEXT | 头像 URL |
| gender | gender | int→INTEGER | 性别3=未知) |
| job | job | string→TEXT | 职位名称(店长/主管/教练等) |
| job_num | job_num | string→TEXT | 工号 |
| staff_identity | staff_identity | int→INTEGER | 员工身份类型 |
| status | status | int→INTEGER | 账号状态 |
| account_status | account_status | int→INTEGER | 账号启用状态 |
| system_role_id | system_role_id | int→INTEGER | 系统角色 ID |
| rank_id | rank_id | int→INTEGER | 职级 ID |
| rankName | rank_name | string→TEXT | 职级名称(驼峰→蛇形) |
| new_rank_id | new_rank_id | int→INTEGER | 新职级 ID |
| new_staff_identity | new_staff_identity | int→INTEGER | 新员工身份 |
| leave_status | leave_status | int→INTEGER | 在职状态0=在职) |
| entry_time | entry_time | string→TIMESTAMP | 入职时间 |
| resign_time | resign_time | string→TIMESTAMP | 离职时间 |
| create_time | create_time | string→TIMESTAMP | 创建时间 |
| is_delete | is_delete | int→INTEGER | 删除标记 |
| is_reserve | is_reserve | int→INTEGER | 预约标记 |
| shop_name | shop_name | string→TEXT | 门店名称 |
| site_label | site_label | string→TEXT | 门店标签 |
| cashierPointId | cashier_point_id | int→BIGINT | 收银点 ID驼峰→蛇形 |
| cashierPointName | cashier_point_name | string→TEXT | 收银点名称(驼峰→蛇形) |
| groupId | group_id | int→BIGINT | 分组 ID驼峰→蛇形 |
| groupName | group_name | string→TEXT | 分组名称(驼峰→蛇形) |
| staff_profile_id | staff_profile_id | int→BIGINT | 员工档案 ID |
| auth_code | auth_code | string→TEXT | 授权码 |
| auth_code_create | auth_code_create | string→TIMESTAMP | 授权码创建时间 |
| ding_talk_synced | ding_talk_synced | int→INTEGER | 钉钉同步状态 |
| salary_grant_enabled | salary_grant_enabled | int→INTEGER | 工资发放启用 |
| entry_type | entry_type | int→INTEGER | 入职类型 |
| entry_sign_status | entry_sign_status | int→INTEGER | 入职签约状态 |
| resign_sign_status | resign_sign_status | int→INTEGER | 离职签约状态 |
| criticism_status | criticism_status | int→INTEGER | 批评状态 |
| userRoles | user_roles | array→JSONB | 用户角色列表(驼峰→蛇形) |
## ETL 元数据列
| 列名 | 类型 | 说明 |
|------|------|------|
| content_hash | TEXT | 记录内容哈希(去重用) |
| source_file | TEXT | 来源文件路径 |
| fetched_at | TIMESTAMPTZ | 抓取时间 |
| payload | JSONB | 原始 JSON 完整保留 |

View File

@@ -1,230 +1,38 @@
# BD_Manual — 飞球 ETL 数据库手册
# 飞球 ETL 数据库手册
> 本文档是 `docs/bd_manual/` 目录的导航索引,涵盖 ODS、DWD、DWS、ETL_Admin 四个数据层的表级文档、字段映射文档和变更记录
> 模块专属的表级文档、字段映射、扩展表说明
> DDL 基线见项目级 `docs/database/ddl/`,变更记录已归档至 `_archived/`。
## 目录结构
```
docs/bd_manual/
├── README.md ← 本文件(根索引)
├── ddl_compare_results.md ← DDL 对比结果汇总
├── ODS/ ← 操作数据存储层ods schema
│ ├── main/ ← 表级文档
│ ├── mappings/ ← API JSON → ODS 字段映射文档
│ └── changes/ ← 变更记录
├── DWD/ ← 明细数据层dwd schema
── main/ ← 表级文档
├── Ex/ ← 扩展表文档SCD2 维度扩展等)
│ └── changes/ ← 变更记录
── DWS/ ← 数据服务层dws schema
│ ├── main/ ← 表级文档
│ └── changes/ ← 变更记录
└── ETL_Admin/ ← ETL 管理层meta schema
├── main/ ← 表级文档
└── changes/ ← 变更记录
database/
├── ODS/
│ ├── main/ — ODS 表级文档BD_manual_*.md
│ └── mappings/ — API JSON → ODS 字段映射mapping_*.md
├── DWD/
│ ├── main/ — DWD 主表文档
│ └── Ex/ — DWD 扩展表文档
├── DWS/
── main/ — DWS 汇总表文档
├── ETL_Admin/
│ └── main/ — meta schema 表文档
── _archived/ — 过时的变更记录、DDL 对比报告、已删除表文档
```
## 文档命名规范
## 文档类型
| 文档类型 | 命名格式 | 示例 |
|----------|----------|------|
| 表级文档 | `BD_manual_{表名}.md` | `BD_manual_member_profiles.md` |
| 映射文档 | `mapping_{API端点名}_{ODS表名}.md` | `mapping_GetTenantMemberList_member_profiles.md` |
| 变更记录 | `{YYYYMMDD}_{变更简述}.md``{YYYY-MM-DD}_{变更简述}.md` | `2026-02-13_ddl_sync_ods.md` |
| 类型 | 命名规则 | 说明 |
|------|---------|------|
| 表级文档 | `BD_manual_{表名}.md` | 字段说明、主键、业务含义 |
| 扩展表文档 | `BD_manual_{表名}_ex.md` | SCD2 扩展字段、溢出字段 |
| 字段映射 | `mapping_{API端点}_{ODS表名}.md` | API JSON 字段 → ODS 列的映射关系 |
## ODS 层文档清单ods
## 与项目级文档的关系
### 表级文档(`ODS/main/`)— 共 23 份
| 序号 | 文件名 | 对应表 |
|------|--------|--------|
| 1 | `BD_manual_assistant_accounts_master.md` | assistant_accounts_master |
| 2 | `BD_manual_assistant_cancellation_records.md` | assistant_cancellation_records |
| 3 | `BD_manual_assistant_service_records.md` | assistant_service_records |
| 4 | `BD_manual_goods_stock_movements.md` | goods_stock_movements |
| 5 | `BD_manual_goods_stock_summary.md` | goods_stock_summary |
| 6 | `BD_manual_group_buy_packages.md` | group_buy_packages |
| 7 | `BD_manual_group_buy_redemption_records.md` | group_buy_redemption_records |
| 8 | `BD_manual_member_balance_changes.md` | member_balance_changes |
| 9 | `BD_manual_member_profiles.md` | member_profiles |
| 10 | `BD_manual_member_stored_value_cards.md` | member_stored_value_cards |
| 11 | `BD_manual_payment_transactions.md` | payment_transactions |
| 12 | `BD_manual_platform_coupon_redemption_records.md` | platform_coupon_redemption_records |
| 13 | `BD_manual_recharge_settlements.md` | recharge_settlements |
| 14 | `BD_manual_refund_transactions.md` | refund_transactions |
| 15 | `BD_manual_settlement_records.md` | settlement_records |
| 16 | `BD_manual_settlement_ticket_details.md` | settlement_ticket_details |
| 17 | `BD_manual_site_tables_master.md` | site_tables_master |
| 18 | `BD_manual_stock_goods_category_tree.md` | stock_goods_category_tree |
| 19 | `BD_manual_store_goods_master.md` | store_goods_master |
| 20 | `BD_manual_store_goods_sales_records.md` | store_goods_sales_records |
| 21 | `BD_manual_table_fee_discount_records.md` | table_fee_discount_records |
| 22 | `BD_manual_table_fee_transactions.md` | table_fee_transactions |
| 23 | `BD_manual_tenant_goods_master.md` | tenant_goods_master |
### API→ODS 字段映射文档(`ODS/mappings/`)— 共 23 份
| 序号 | 文件名 | API 端点 → ODS 表 |
|------|--------|-------------------|
| 1 | `mapping_GetAbolitionAssistant_assistant_cancellation_records.md` | GetAbolitionAssistant → assistant_cancellation_records |
| 2 | `mapping_GetAllOrderSettleList_settlement_records.md` | GetAllOrderSettleList → settlement_records |
| 3 | `mapping_GetGoodsInventoryList_store_goods_master.md` | GetGoodsInventoryList → store_goods_master |
| 4 | `mapping_GetGoodsSalesList_store_goods_sales_records.md` | GetGoodsSalesList → store_goods_sales_records |
| 5 | `mapping_GetGoodsStockReport_goods_stock_summary.md` | GetGoodsStockReport → goods_stock_summary |
| 6 | `mapping_GetMemberCardBalanceChange_member_balance_changes.md` | GetMemberCardBalanceChange → member_balance_changes |
| 7 | `mapping_GetOfflineCouponConsumePageList_platform_coupon_redemption_records.md` | GetOfflineCouponConsumePageList → platform_coupon_redemption_records |
| 8 | `mapping_GetOrderAssistantDetails_assistant_service_records.md` | GetOrderAssistantDetails → assistant_service_records |
| 9 | `mapping_GetOrderSettleTicketNew_settlement_ticket_details.md` | GetOrderSettleTicketNew → settlement_ticket_details |
| 10 | `mapping_GetPayLogListPage_payment_transactions.md` | GetPayLogListPage → payment_transactions |
| 11 | `mapping_GetRechargeSettleList_recharge_settlements.md` | GetRechargeSettleList → recharge_settlements |
| 12 | `mapping_GetRefundPayLogList_refund_transactions.md` | GetRefundPayLogList → refund_transactions |
| 13 | `mapping_GetSiteTableOrderDetails_table_fee_transactions.md` | GetSiteTableOrderDetails → table_fee_transactions |
| 14 | `mapping_GetSiteTables_site_tables_master.md` | GetSiteTables → site_tables_master |
| 15 | `mapping_GetSiteTableUseDetails_group_buy_redemption_records.md` | GetSiteTableUseDetails → group_buy_redemption_records |
| 16 | `mapping_GetTaiFeeAdjustList_table_fee_discount_records.md` | GetTaiFeeAdjustList → table_fee_discount_records |
| 17 | `mapping_GetTenantMemberCardList_member_stored_value_cards.md` | GetTenantMemberCardList → member_stored_value_cards |
| 18 | `mapping_GetTenantMemberList_member_profiles.md` | GetTenantMemberList → member_profiles |
| 19 | `mapping_QueryGoodsOutboundReceipt_goods_stock_movements.md` | QueryGoodsOutboundReceipt → goods_stock_movements |
| 20 | `mapping_QueryPackageCouponList_group_buy_packages.md` | QueryPackageCouponList → group_buy_packages |
| 21 | `mapping_QueryPrimarySecondaryCategory_stock_goods_category_tree.md` | QueryPrimarySecondaryCategory → stock_goods_category_tree |
| 22 | `mapping_QueryTenantGoods_tenant_goods_master.md` | QueryTenantGoods → tenant_goods_master |
| 23 | `mapping_SearchAssistantInfo_assistant_accounts_master.md` | SearchAssistantInfo → assistant_accounts_master |
### 变更记录(`ODS/changes/`
| 文件名 | 说明 |
|--------|------|
| `2026-02-13_ddl_sync_ods.md` | DDL 对比同步 — ODS 层 |
| `20260213_align_ods_with_api.md` | ODS 表结构与 API 对齐 |
| `20260214_drop_ods_option_name_able_site_transfer.md` | 移除 ODS 冗余字段/表 |
| `20260214_drop_ods_settlelist.md` | 移除 ODS settle_list 表 |
## DWD 层文档清单dwd
### 表级文档(`DWD/main/`)— 共 22 份
| 序号 | 文件名 | 对应表 |
|------|--------|--------|
| 1 | `BD_manual_dwd.md` | dwd层级概览 |
| 2 | `BD_manual_dim_assistant.md` | dim_assistant |
| 3 | `BD_manual_dim_goods_category.md` | dim_goods_category |
| 4 | `BD_manual_dim_groupbuy_package.md` | dim_groupbuy_package |
| 5 | `BD_manual_dim_member.md` | dim_member |
| 6 | `BD_manual_dim_member_card_account.md` | dim_member_card_account |
| 7 | `BD_manual_dim_site.md` | dim_site |
| 8 | `BD_manual_dim_store_goods.md` | dim_store_goods |
| 9 | `BD_manual_dim_table.md` | dim_table |
| 10 | `BD_manual_dim_tenant_goods.md` | dim_tenant_goods |
| 11 | `BD_manual_dwd_assistant_service_log.md` | dwd_assistant_service_log |
| 12 | `BD_manual_dwd_assistant_trash_event.md` | dwd_assistant_trash_event |
| 13 | `BD_manual_dwd_groupbuy_redemption.md` | dwd_groupbuy_redemption |
| 14 | `BD_manual_dwd_member_balance_change.md` | dwd_member_balance_change |
| 15 | `BD_manual_dwd_payment.md` | dwd_payment |
| 16 | `BD_manual_dwd_platform_coupon_redemption.md` | dwd_platform_coupon_redemption |
| 17 | `BD_manual_dwd_recharge_order.md` | dwd_recharge_order |
| 18 | `BD_manual_dwd_refund.md` | dwd_refund |
| 19 | `BD_manual_dwd_settlement_head.md` | dwd_settlement_head |
| 20 | `BD_manual_dwd_store_goods_sale.md` | dwd_store_goods_sale |
| 21 | `BD_manual_dwd_table_fee_adjust.md` | dwd_table_fee_adjust |
| 22 | `BD_manual_dwd_table_fee_log.md` | dwd_table_fee_log |
### 扩展表文档(`DWD/Ex/`)— 共 19 份
| 序号 | 文件名 | 对应扩展表 |
|------|--------|------------|
| 1 | `BD_manual_dim_assistant_ex.md` | dim_assistant_ex |
| 2 | `BD_manual_dim_groupbuy_package_ex.md` | dim_groupbuy_package_ex |
| 3 | `BD_manual_dim_member_card_account_ex.md` | dim_member_card_account_ex |
| 4 | `BD_manual_dim_member_ex.md` | dim_member_ex |
| 5 | `BD_manual_dim_site_ex.md` | dim_site_ex |
| 6 | `BD_manual_dim_store_goods_ex.md` | dim_store_goods_ex |
| 7 | `BD_manual_dim_table_ex.md` | dim_table_ex |
| 8 | `BD_manual_dim_tenant_goods_ex.md` | dim_tenant_goods_ex |
| 9 | `BD_manual_dwd_assistant_service_log_ex.md` | dwd_assistant_service_log_ex |
| 10 | `BD_manual_dwd_assistant_trash_event_ex.md` | dwd_assistant_trash_event_ex |
| 11 | `BD_manual_dwd_groupbuy_redemption_ex.md` | dwd_groupbuy_redemption_ex |
| 12 | `BD_manual_dwd_member_balance_change_ex.md` | dwd_member_balance_change_ex |
| 13 | `BD_manual_dwd_platform_coupon_redemption_ex.md` | dwd_platform_coupon_redemption_ex |
| 14 | `BD_manual_dwd_recharge_order_ex.md` | dwd_recharge_order_ex |
| 15 | `BD_manual_dwd_refund_ex.md` | dwd_refund_ex |
| 16 | `BD_manual_dwd_settlement_head_ex.md` | dwd_settlement_head_ex |
| 17 | `BD_manual_dwd_store_goods_sale_ex.md` | dwd_store_goods_sale_ex |
| 18 | `BD_manual_dwd_table_fee_adjust_ex.md` | dwd_table_fee_adjust_ex |
| 19 | `BD_manual_dwd_table_fee_log_ex.md` | dwd_table_fee_log_ex |
### 变更记录(`DWD/changes/`
| 文件名 | 说明 |
|--------|------|
| `2026-02-13_ddl_sync_dwd.md` | DDL 对比同步 — DWD 层 |
| `20260214_drop_dwd_settle_list.md` | 移除 DWD settle_list 表 |
## DWS 层文档清单dws
### 表级文档(`DWS/main/`)— 共 29 份
| 序号 | 文件名 | 对应表 |
|------|--------|--------|
| 1 | `BD_manual_cfg_area_category.md` | cfg_area_category |
| 2 | `BD_manual_cfg_assistant_level_price.md` | cfg_assistant_level_price |
| 3 | `BD_manual_cfg_bonus_rules.md` | cfg_bonus_rules |
| 4 | `BD_manual_cfg_index_parameters.md` | cfg_index_parameters |
| 5 | `BD_manual_cfg_performance_tier.md` | cfg_performance_tier |
| 6 | `BD_manual_cfg_skill_type.md` | cfg_skill_type |
| 7 | `BD_manual_dws_assistant_customer_stats.md` | dws_assistant_customer_stats |
| 8 | `BD_manual_dws_assistant_daily_detail.md` | dws_assistant_daily_detail |
| 9 | `BD_manual_dws_assistant_finance_analysis.md` | dws_assistant_finance_analysis |
| 10 | `BD_manual_dws_assistant_monthly_summary.md` | dws_assistant_monthly_summary |
| 11 | `BD_manual_dws_assistant_recharge_commission.md` | dws_assistant_recharge_commission |
| 12 | `BD_manual_dws_assistant_salary_calc.md` | dws_assistant_salary_calc |
| 13 | `BD_manual_dws_finance_daily_summary.md` | dws_finance_daily_summary |
| 14 | `BD_manual_dws_finance_discount_detail.md` | dws_finance_discount_detail |
| 15 | `BD_manual_dws_finance_expense_summary.md` | dws_finance_expense_summary |
| 16 | `BD_manual_dws_finance_income_structure.md` | dws_finance_income_structure |
| 17 | `BD_manual_dws_finance_recharge_summary.md` | dws_finance_recharge_summary |
| 18 | `BD_manual_dws_index_percentile_history.md` | dws_index_percentile_history |
| 19 | `BD_manual_dws_member_assistant_intimacy.md` | dws_member_assistant_intimacy |
| 20 | `BD_manual_dws_member_assistant_relation_index.md` | dws_member_assistant_relation_index |
| 21 | `BD_manual_dws_member_consumption_summary.md` | dws_member_consumption_summary |
| 22 | `BD_manual_dws_member_newconv_index.md` | dws_member_newconv_index |
| 23 | `BD_manual_dws_member_visit_detail.md` | dws_member_visit_detail |
| 24 | `BD_manual_dws_member_winback_index.md` | dws_member_winback_index |
| 25 | `BD_manual_dws_ml_manual_order_alloc.md` | dws_ml_manual_order_alloc |
| 26 | `BD_manual_dws_ml_manual_order_source.md` | dws_ml_manual_order_source |
| 27 | `BD_manual_dws_order_summary.md` | dws_order_summary |
| 28 | `BD_manual_dws_platform_settlement.md` | dws_platform_settlement |
| 29 | `BD_manual_v_member_recall_priority.md` | v_member_recall_priority |
### 变更记录(`DWS/changes/`
| 文件名 | 说明 |
|--------|------|
| `2026-02-13_ddl_sync_dws.md` | DDL 对比同步 — DWS 层 |
## ETL_Admin 层文档清单etl_admin
### 表级文档(`ETL_Admin/main/`)— 共 3 份
| 序号 | 文件名 | 对应表 |
|------|--------|--------|
| 1 | `BD_manual_etl_cursor.md` | etl_cursor |
| 2 | `BD_manual_etl_run.md` | etl_run |
| 3 | `BD_manual_etl_task.md` | etl_task |
### 变更记录(`ETL_Admin/changes/`
暂无变更记录。
## 相关资源
| 资源 | 路径 | 说明 |
| 内容 | 位置 | 说明 |
|------|------|------|
| ODS 数据字典 | `docs/dictionary/ods_tables_dictionary.md` | ODS 层所有表的概览汇总 |
| DDL 对比结果 | `docs/bd_manual/ddl_compare_results.md` | DDL 文件与数据库实际状态的对比报告 |
| DDL 文件 — ODS | `database/schema_ODS_doc.sql` | ODS 层表结构定义 |
| DDL 文件 — DWD | `database/schema_dwd_doc.sql` | DWD 层表结构定义 |
| DDL 文件 — DWS | `database/schema_dws.sql` | DWS 层表结构定义 |
| DDL 文件 — ETL_Admin | `database/schema_etl_admin.sql` | ETL_Admin 层表结构定义 |
| API 端点文档 | `docs/api-reference/endpoints/` | 上游 SaaS API 端点说明 |
| DDL 对比脚本 | `scripts/compare_ddl_db.py` | DDL 与数据库实际状态对比工具 |
| 文档验证脚本 | `scripts/validate_bd_manual.py` | BD_Manual 文档覆盖率和格式验证 |
| DDL 基线 | `docs/database/ddl/` | 从数据库自动导出,按 schema 分文件 |
| ODS→DWD 字段映射 | `docs/database/BD_Manual_*.md` | 跨层映射ODS 表 → DWD 表) |
| 表级字段说明 | 本目录 `*/main/BD_manual_*.md` | 单表字段详情 |
| API→ODS 字段映射 | 本目录 `ODS/mappings/` | API JSON → ODS 列映射 |