# assistant_accounts_master 助教账户主表

> 生成时间：2026-02-14

## 表信息

| 属性 | 值 |
|------|-----|
| Schema | ods |
| 表名 | assistant_accounts_master |
| 主键 | id, content_hash |
| 数据来源 | export/test-json-doc/assistant_accounts_master.json |
| 说明 | 助教档案主数据 |

## 字段说明

| 序号 | 字段名 | 类型 | 可空 | 说明 |
|------|--------|------|------|------|
| 1 | id | BIGINT | NO | 助教账号主键 ID，在“助教流水.json”中对应 site_assistant_id |
| 2 | tenant_id | BIGINT | YES | 品牌/租户 ID，对应“非球科技”系统中该商户的唯一标识 |
| 3 | site_id | BIGINT | YES | 门店 ID，对应本次数据的这家球房（朗朗桌球） |
| 4 | assistant_no | TEXT | YES | 助教工号 / 编号，便于业务侧识别 |
| 5 | nickname | TEXT | YES | 助教在前台展示的昵称，如“佳怡”“周周”“球球”等 |
| 6 | real_name | TEXT | YES | 助教真实姓名，如“何海婷”“梁婷婷”等 |
| 7 | mobile | TEXT | YES | 助教手机号，用于登录绑定、通知、钉钉同步等 |
| 8 | team_id | BIGINT | YES | 助教所属团队 ID |
| 9 | team_name | TEXT | YES | 团队名称，展示用，和 team_id 一一对应 |
| 10 | user_id | BIGINT | YES | 系统级“用户账号 ID”，通常对应登录账号 |
| 11 | level | TEXT | YES | 10 × 24 |
| 12 | assistant_status | INTEGER | YES | 1 × 48 |
| 13 | work_status | INTEGER | YES | 当 leave_status = 0 时，work_status = 1 |
| 14 | leave_status | INTEGER | YES | 0 × 21 |
| 15 | entry_time | TIMESTAMP | YES | 入职时间 |
| 16 | resign_time | TIMESTAMP | YES | 离职日期 |
| 17 | start_time | TIMESTAMP | YES | 当前配置生效的开始日期 |
| 18 | end_time | TIMESTAMP | YES | 当前配置生效的结束日期（例如一个周期性的排班/合同周期） |
| 19 | create_time | TIMESTAMP | YES | 账号创建时间 |
| 20 | update_time | TIMESTAMP | YES | 账号最近一次被修改的时间（例如修改等级、昵称等） |
| 21 | order_trade_no | TEXT | YES | 该助教最近一次关联的订单号，用于快速跳转或回溯最近服务行为 |
| 22 | staff_id | BIGINT | YES | 预留给“人事系统员工 ID”的字段，目前未接入或未启用 |
| 23 | staff_profile_id | BIGINT | YES | 人事档案 ID，与第三方 HR 系统或内部员工档案集成使用，当前未启用 |
| 24 | system_role_id | BIGINT | YES | 标识类 ID 字段，用于关联/定位相关实体 |
| 25 | avatar | TEXT | YES | 助教头像地址 |
| 26 | birth_date | TIMESTAMP | YES | 助教出生日期 |
| 27 | gender | INTEGER | YES | 0 × 40 |
| 28 | height | NUMERIC(18,2) | YES | 身高（单位：厘米） |
| 29 | weight | NUMERIC(18,2) | YES | 体重（单位：公斤） |
| 30 | job_num | TEXT | YES | 备用工号字段，目前未在该门店启用 |
| 31 | show_status | INTEGER | YES | 来自 JSON 导出的原始字段，用于保留业务取值 |
| 32 | show_sort | INTEGER | YES | 前台展示排序权重，值越小/越大对应不同的排序策略（当前看起来与 assistant_no 有一定对应关系） |
| 33 | sum_grade | NUMERIC(18,2) | YES | 评分总和，用于计算平均分（assistant_grade = sum_grade / get_grade_times），当前为 0 |
| 34 | assistant_grade | NUMERIC(18,2) | YES | 助教综合评分（员工维度的平均分 snapshot），当前尚未启用评分 |
| 35 | get_grade_times | INTEGER | YES | 累计被评分次数 |
| 36 | introduce | TEXT | YES | 个人简介文案，预留给助教自我介绍使用 |
| 37 | video_introduction_url | TEXT | YES | 助教个人视频介绍地址 |
| 38 | group_id | BIGINT | YES | 上层“分组 ID”预留字段（例如集团/事业部），本门店未使用 |
| 39 | group_name | TEXT | YES | group_id 对应的名称，目前为空 |
| 40 | shop_name | TEXT | YES | 门店名称，冗余字段，用于展示 |
| 41 | charge_way | INTEGER | YES | 2 代表当前门店为“计时收费”，其他值（1、3 等）可能对应按局、按课时等，当前未出现 |
| 42 | entry_type | INTEGER | YES | 来自 JSON 导出的原始字段，用于保留业务取值 |
| 43 | allow_cx | INTEGER | YES | 来自 JSON 导出的原始字段，用于保留业务取值 |
| 44 | is_guaranteed | INTEGER | YES | 布尔/开关字段，用于表示权限、可用性或状态开关 |
| 45 | salary_grant_enabled | INTEGER | YES | 来自 JSON 导出的原始字段，用于保留业务取值 |
| 46 | light_status | INTEGER | YES | 灯光控制状态，如 1=启用控制、2=不启用 或相反 |
| 47 | online_status | INTEGER | YES | 在线状态 |
| 48 | is_delete | INTEGER | YES | 逻辑删除标记（0=否，1=是） |
| 49 | cx_unit_price | NUMERIC(18,2) | YES | 促销时段的单价，本门店未在账号表层面设置 |
| 50 | pd_unit_price | NUMERIC(18,2) | YES | 某种标准单价（例如“普通时段单价”），这里未在账号上配置（实际单价在助教商品或套餐配置中） |
| 51 | last_table_id | BIGINT | YES | 该助教最近一次服务的球台 ID |
| 52 | last_table_name | TEXT | YES | 最近服务球台名称（展示用） |
| 53 | person_org_id | BIGINT | YES | 人事组织 ID，通常表示“某某门店-助教部-某小组”等层级组织 |
| 54 | serial_number | BIGINT | YES | 系统内部生成的序列号或排序标识，用于全局排序或迁移 |
| 55 | is_team_leader | INTEGER | YES | 布尔/开关字段，用于表示权限、可用性或状态开关 |
| 56 | criticism_status | INTEGER | YES | 1 × 49 |
| 57 | last_update_name | TEXT | YES | 最近修改该账号配置的管理员名称 |
| 58 | ding_talk_synced | INTEGER | YES | 来自 JSON 导出的原始字段，用于保留业务取值 |
| 59 | site_light_cfg_id | BIGINT | YES | 门店灯控配置 ID，本门店未在助教账号维度启用 |
| 60 | light_equipment_id | TEXT | YES | 灯控设备 ID，如果开启“助教开台自动控制灯”，会通过该字段关联到灯控硬件 |
| 61 | entry_sign_status | INTEGER | YES | 来自 JSON 导出的原始字段，用于保留业务取值 |
| 62 | resign_sign_status | INTEGER | YES | 离职协议签署状态，类似上面 |
| 63 | source_file | TEXT | YES | ETL 元数据：原始导出文件名，用于数据追溯 |
| 64 | source_endpoint | TEXT | YES | ETL 元数据：采集来源（接口/文件路径），用于数据追溯 |
| 65 | fetched_at | TIMESTAMPTZ | YES | ETL 元数据：采集/入库时间戳，用于口径对齐与增量处理 |
| 66 | payload | JSONB | NO | ETL 元数据：完整原始 JSON 记录快照，用于回溯与二次解析 |
| 67 | content_hash | TEXT | NO | ETL 元数据：对业务字段计算 SHA256，用于变更检测与去重 |

## 使用说明

```sql
-- 查询最新入库的记录
SELECT * FROM ods.assistant_accounts_master
ORDER BY fetched_at DESC
LIMIT 10;
```

```sql
-- 按业务主键查询某条记录的所有版本
SELECT * FROM ods.assistant_accounts_master
WHERE id = <value>
ORDER BY fetched_at DESC;
```

## ETL 元数据字段

| 字段名 | 类型 | 说明 |
|--------|------|------|
| content_hash | TEXT | 对业务字段计算 SHA256，用于变更检测与去重 |
| source_file | TEXT | 原始导出文件名，用于数据追溯 |
| source_endpoint | TEXT | 采集来源（接口/文件路径），用于数据追溯 |
| fetched_at | TIMESTAMPTZ | 采集/入库时间戳，用于口径对齐与增量处理 |
| payload | JSONB | 完整原始 JSON 记录快照，用于回溯与二次解析 |

## 可回溯性

| 项目 | 说明 |
|------|------|
| 可回溯 | ✅ 完全可回溯（保留 payload 原始 JSON） |
| 数据来源 | export/test-json-doc/assistant_accounts_master.json |
