# dim_groupbuy_package 团购套餐主表

> 生成时间：2026-01-28

## 表信息

| 属性 | 值 |
|------|-----|
| Schema | dwd |
| 表名 | dim_groupbuy_package |
| 主键 | groupbuy_package_id, scd2_start_time |
| 扩展表 | dim_groupbuy_package_ex |
| 记录数 | 34 |
| 说明 | 内部团购/套餐定义，记录套餐名称、价格、时长、适用台区等核心信息 |

## 字段说明

| 序号 | 字段名 | 类型 | 可空 | 主键 | 说明 |
|------|--------|------|------|------|------|
| 1 | groupbuy_package_id | BIGINT | NO | PK | 团购套餐 ID |
| 2 | tenant_id | BIGINT | YES | | 租户 ID（当前值: 2790683160709957） |
| 3 | site_id | BIGINT | YES | | 门店 ID → dim_site（当前值: 2790685415443269） |
| 4 | package_name | VARCHAR(200) | YES | | 套餐名称。**样本值**: "中八、斯诺克包厢两小时", "斯诺克两小时"等 |
| 5 | package_template_id | BIGINT | YES | | 套餐模板 ID  |
| 6 | selling_price | NUMERIC(10,2) | YES | | 售卖价格（每笔订单不同，从核销记录中dwd_groupbuy_redemption获取） |
| 7 | coupon_face_value | NUMERIC(10,2) | YES | | 券面值（每笔订单不同，从核销记录中dwd_groupbuy_redemption获取） |
| 8 | duration_seconds | INTEGER | YES | | 套餐时长（秒）。**样本值**: 3600=1小时, 7200=2小时, 14400=4小时 等 |
| 9 | start_time | TIMESTAMPTZ | YES | | 套餐生效开始时间 |
| 10 | end_time | TIMESTAMPTZ | YES | | 套餐生效结束时间 |
| 11 | table_area_name | VARCHAR(100) | YES | | 适用台区名称。**枚举值**: "A区", "VIP包厢", "斯诺克区", "B区", "麻将房", "888" |
| 12 | is_enabled | INTEGER | YES | | 启用状态。**枚举值**: 1=启用, 2=停用 |
| 13 | is_delete | INTEGER | YES | | 删除标记。**枚举值**: 0=未删除 |
| 14 | create_time | TIMESTAMPTZ | YES | | 创建时间 |
| 15 | tenant_table_area_id_list | VARCHAR(512) | YES | | 租户级台区 ID 列表 |
| 16 | card_type_ids | VARCHAR(255) | YES | | 允许使用的卡类型 ID 列表（当前数据为 "0"） |
| 17 | sort | INTEGER | YES | | 排序 |
| 18 | is_first_limit | BOOLEAN | YES | | 是否首单限制 |
| 19 | scd2_start_time | TIMESTAMPTZ | NO | PK | SCD2 版本生效时间 |
| 20 | scd2_end_time | TIMESTAMPTZ | YES | | SCD2 版本失效时间 |
| 21 | scd2_is_current | INTEGER | YES | | 当前版本标记 |
| 22 | scd2_version | INTEGER | YES | | 版本号 |

## 使用说明

**版本与最新值**
本表为 SCD2 维度表，版本字段：scd2_start_time / scd2_end_time / scd2_is_current / scd2_version。

- 最新版本：scd2_is_current = 1
- 按业务主键取最新：按 scd2_start_time 倒序

```sql
-- 取某业务主键的最新版本
SELECT *
FROM dwd.dim_groupbuy_package
WHERE groupbuy_package_id = <value>
ORDER BY scd2_start_time DESC
LIMIT 1;
```
**使用示例**
```sql
-- 查询当前启用的套餐
SELECT * FROM dwd.dim_groupbuy_package
WHERE scd2_is_current = 1 AND is_delete = 0 AND is_enabled = 1;
```
