# dim_site_ex 门店扩展表

> 生成时间：2026-01-28

## 表信息

| 属性 | 值 |
|------|-----|
| Schema | dwd |
| 表名 | dim_site_ex |
| 主键 | site_id, scd2_start_time |
| 主表 | dim_site |
| 记录数 | 1 |
| 说明 | 门店扩展表，包含灯控、考勤、客服等配置信息 |

## 字段说明

| 序号 | 字段名 | 类型 | 可空 | 主键 | 说明 |
|------|--------|------|------|------|------|
| 1 | site_id | BIGINT | NO | PK | 门店 ID → dim_site |
| 2 | avatar | TEXT | YES | | 门店头像 URL |
| 3 | address | TEXT | YES | | 地址（冗余） |
| 4 | longitude | NUMERIC(9,6) | YES | | 经度（冗余） |
| 5 | latitude | NUMERIC(9,6) | YES | | 纬度（冗余） |
| 6 | tenant_site_region_id | BIGINT | YES | | 区域 ID（冗余） |
| 7 | auto_light | INTEGER | YES | | 自动灯控。**枚举值**: 1(1)=启用 |
| 8 | light_status | INTEGER | YES | | 灯控状态。**枚举值**: 1(1)=**[待确认]** |
| 9 | light_type | INTEGER | YES | | 灯控类型。**枚举值**: 0(1)=**[待确认]** |
| 10 | light_token | TEXT | YES | | 灯控令牌 |
| 11 | site_type | INTEGER | YES | | 门店类型（冗余） |
| 12 | site_label | TEXT | YES | | 门店标签（冗余） |
| 13 | attendance_enabled | INTEGER | YES | | 考勤启用。**枚举值**: 1(1)=启用 |
| 14 | attendance_distance | INTEGER | YES | | 考勤距离（米）。**当前值**: 0 |
| 15 | customer_service_qrcode | TEXT | YES | | 客服二维码 URL |
| 16 | customer_service_wechat | TEXT | YES | | 客服微信号 |
| 17 | fixed_pay_qrcode | TEXT | YES | | 固定收款码 URL |
| 18 | prod_env | TEXT | YES | | 环境标识。**当前值**: "1" |
| 19 | shop_status | INTEGER | YES | | 营业状态（冗余） |
| 20 | create_time | TIMESTAMPTZ | YES | | 创建时间 |
| 21 | update_time | TIMESTAMPTZ | YES | | 更新时间 |
| 22 | scd2_start_time | TIMESTAMPTZ | NO | PK | SCD2 版本生效时间 |
| 23 | scd2_end_time | TIMESTAMPTZ | YES | | SCD2 版本失效时间 |
| 24 | scd2_is_current | INTEGER | YES | | 当前版本标记 |
| 25 | 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_site_ex
WHERE site_id = <value>
ORDER BY scd2_start_time DESC
LIMIT 1;
```
**使用示例**
```sql
-- 关联主表与扩展表
SELECT m.*, e.*
FROM dwd.dim_site m
JOIN dwd.dim_site_ex e
  ON m.site_id = e.site_id
  AND m.scd2_start_time = e.scd2_start_time
WHERE m.scd2_is_current = 1;
```
