# 助教撤销记录（GetAbolitionAssistant）

> 自动生成于 2026-02-13 | 数据来源：本地 JSON 样本

## 基本信息

| 属性 | 值 |
|------|-----|
| 接口路径 | `AssistantPerformance/GetAbolitionAssistant` |
| 完整 URL | `https://pc.ficoo.vip/apiprod/admin/v1/AssistantPerformance/GetAbolitionAssistant` |
| 请求方法 | `POST` |
| Content-Type | `application/json` |
| 鉴权方式 | Bearer Token（`Authorization` 头） |
| ODS 对应表 | `assistant_cancellation_records` |
| 分页方式 | `page` + `limit`（最大 100） |
| 时间范围 | 需要（startTime / endTime） |

## 请求参数

| 参数名 | 类型 | 示例值 | 说明 |
|--------|------|--------|------|
| `startTime` | string | `"2026-02-01 08:00:00"` | 查询起始时间 |
| `endTime` | string | `"2026-02-13 08:00:00"` | 查询结束时间 |
| `siteId` | int | `2790685415443269` | 门店 ID |
| `page` | int | `1` | 页码（从 1 开始） |
| `limit` | int | `100` | 每页条数（最大 100） |

## 响应字段（共 13 个）

| # | 字段名 | 类型 | 示例值 |
|---|--------|------|--------|
| 1 | `siteProfile` | object | {'id': 2790685415443269, 'org_id': 2790684179467077, 'sho... |
| 2 | `createTime` | string | '2025-11-09 19:23:29' |
| 3 | `id` | int | 2957675849518789 |
| 4 | `siteId` | int | 2790685415443269 |
| 5 | `tableAreaId` | int | 2791963816579205 |
| 6 | `tableId` | int | 2793016660660357 |
| 7 | `tableArea` | string | 'C区' |
| 8 | `tableName` | string | 'C1' |
| 9 | `assistantOn` | string | '27' |
| 10 | `assistantName` | string | '泡芙' |
| 11 | `pdChargeMinutes` | int | 214 |
| 12 | `assistantAbolishAmount` | float | 5.83 |
| 13 | `trashReason` | string | '' |

## 详细字段分析

> 以下内容迁移自旧版 `assistant_cancellation_records-Analysis.md`，包含字段的业务含义、枚举值、跨表关联等详细说明。

1. 门店相关字段
1.1 siteProfile

类型：对象（Object）

含义：门店信息快照。

结构：包含以下子字段（26 个左右）：

id：门店 ID（与其他 JSON 中的 site_id 一致）。

org_id：组织 ID（总部/品牌组织）。

shop_name：店名，如“朗朗桌球”。

avatar：门店头像图片 URL。

business_tel：门店电话。

full_address：详细地址。

address：简化地址描述。

longitude / latitude：经纬度。

tenant_site_region_id：区域行政编码。

tenant_id：租户 ID（品牌商户 ID）。

auto_light：是否自动控灯（0/1 枚举）。

attendance_distance：考勤打卡范围。

wifi_name / wifi_password：WiFi 账号和密码。

customer_service_qrcode / customer_service_wechat：客服二维码、微信号。

fixed_pay_qrCode：固定收款码。

prod_env：环境标记（测试/生产等）。

light_status / light_type / light_token：灯控相关配置。

site_type：门店类型枚举。

site_label：门店标签（如“A”）。

attendance_enabled：是否启用考勤（0/1）。

shop_status：门店状态（1=营业等）。

特点：

与其他 JSON 中的 siteProfile 完全同构，是冗余的门店信息快照。

真正的主键是 siteProfile.id，且与同记录的 siteId 一致。

1.2 siteId

类型：整数（long）

观测：所有记录均为同一值 2790685415443269。

含义：门店 ID，即该废除记录所在门店。

关联：

与 siteProfile.id 一致。

与其他 JSON 中所有 site_id 字段相同（同一门店的数据）。

2. 台桌维度字段

这几个字段描述废除发生在哪张桌、哪个区域。

2.1 tableId

类型：整数（long）

含义：球台/桌子的 ID。

关联：

对应 “台桌列表.json” 中的 id 字段。

用于定位具体哪一张台桌上发生了助教废除。

2.2 tableName

类型：字符串（string）

示例值：

"C1", "C2", "B9", "VIP1", "A4", "666", "董事办", "补时长5", "Ｍ1" 等。

含义：台桌名称/编号，供人阅读。

关系：

与台桌列表中的 table_name 或 table_no 文本一致。

作为冗余字段存在，即使不联表也能看出是哪个桌。

2.3 tableAreaId

类型：整数（long）

示例：2791963816579205 等。

含义：台桌所在区域 ID。

关联：

应对应“区域配置表”的主键（本次导出未包含该表）。

与其他 JSON 中出现的 tableAreaId（比如台费流水、助教流水里的区域字段）是一致的。

2.4 tableArea

类型：字符串（string）

示例值：

"C区", "B区", "A区", "VIP包厢", "K包", "补时长", "666"。

含义：台桌所属区域名称。

说明：

用于展示和报表分区。

与 tableAreaId 一起从“区域维表”中可以查出区域层级信息（本次数据未导出该表）。

3. 助教维度字段

反映是哪一个助教被废除。

3.1 assistantOn

类型：字符串（string）

观测值（本次 15 条记录中）：

'2', '4', '9', '16', '23', '27', '52', '15', '99'

含义：助教编号（工号/序号）。

说明：

虽然是字符串，但内容上是纯数字，实际是编号，不是业务金额。

与 助教流水.json 中的 assistantNo 字段是一致的。

与“助教账号1/2.json” 中的 assistant_no 字段相同，用于识别哪位助教。

枚举性质：

在当前门店范围内，assistantOn 实际上是枚举集合（有限个编号）。

具体编号-姓名的映射关系在“助教账号”表中定义，不在本文件中。

3.2 assistantName

类型：字符串（string）

观测值（本次 15 条中）：

'佳怡'、'璇子'、'周周'、'球球'、'泡芙'、'婉婉'、'小柔'、'七七'、'Amy'

含义：助教姓名/对外展示名称。

关系：

与“助教账号”档案中的 real_name / nickname 对应。

与 助教流水.json 里的 assistantName 字段一致。

注意：

这是被废除的那位助教，不是顾客姓名。

4. 时间与时长字段
4.1 createTime

类型：字符串（string），格式 YYYY-MM-DD HH:MM:SS

示例："2025-11-09 19:23:29"

含义：这条“助教废除记录”被创建的时间，即系统正式记录“废除”操作的时刻。

与其他时间字段关系：

在 助教流水.json 里有 create_time / ledger_start_time / ledger_end_time 等，本字段通常会落在这些时间点之后，表示在某次服务计时过程后发生了废除操作。

数据特征：

所有记录都有非空时间，精确到秒。

4.2 pdChargeMinutes

类型：整数（int）

示例值：214, 10800, 3602, 3600, 2379, 14400, 10605, 10608, 10611, 0 等。

含义（结构层面）：

“已发生的计费时长（分钟）”，即这次助教服务在被废除前已经累计了多少分钟。

特点：

单位是“分钟”，不是秒。

绝大部分是较大的整数（如 10800 分钟这样的数字，显然系统里有异常/默认值，具体业务含义要结合上下文看，这里只从字段命名和类型说明）。

也有 0 的情况，表示发生废除时尚未有有效计费时间产生（例如刚排钟就撤销）。

与其他字段的关系（结构层面推断，不做业务结论）：

这类字段很可能用于后续计算“应退时长”或“扣费时长”。

对应 助教流水 里关于 real_use_seconds、income_seconds 的记录，可用来判断“废除时已经消耗了多少时间”。

5. 金额字段
5.1 assistantAbolishAmount

类型：浮点数（float）

示例值：

5.83, 570.0, 108.06, 190.0, 71.37, 392.0, 465.44, 318.24, 318.33, 以及 0.0。

含义（结构层面）：

与“助教废除”关联的金额字段。字面上是“助教废除金额”。

可以理解为本次废除操作对应的一笔金额数值（是扣除、退还、补差，由业务规则决定，这里不做盈利/收益分析）。

特点：

为浮点数，单位为元。

存在 0 值，表示这条废除记录没有产生额外金额变动（纯记录操作）。

可能的用途（从字段角色角度，而不是结论）：

后续在账务模块中，可以用 assistantAbolishAmount 这类字段与其他表（如退款记录、余额变更记录）进行金额对账和逻辑匹配。

6. 废除原因字段
6.1 trashReason

类型：字符串（string）

当前数据观测：所有 15 条记录都是空字符串 ""。

含义：

用于记录“废除原因”的文本描述，例如“顾客临时有事取消”“录入错误”“更换助教”等。

特点：

可为空字符串，说明系统允许不填原因。

从结构上看，这是一个自由文本字段，不是枚举，不会做严格约束。

与其他字段的关系：

当配合 is_trash（在 助教流水.json 中）使用时，trashReason 可以为那条流水提供“为什么被废除”的说明。

本表专门记录“废除事件”的列表，因此 trashReason 是这张表记录的重要附加信息。

三、字段之间的结构关系与外部关联

虽然本文件字段不多，但从字段设计可以看出它在整个系统中的位置。这里只从“字段结构”和“关联键”的角度说明，不做业务/盈利分析。

1. 与门店表 / 全局维度的关系

siteId 与 siteProfile.id 一致，且与其他 JSON 中的 site_id 一致。

说明：这是典型的“门店维度外键 + 冗余快照”设计：

siteId 作为外键；

siteProfile 作为冗余快照，方便直接展示店名、地址等。

2. 与台桌列表（台桌列表.json）的关系

对应关系：

tableId ↔ 台桌列表中的 id

tableName ↔ 台桌列表中的 table_name / table_no

tableAreaId ↔ 台桌列表中的 area_id（通过区域表可以进一步找到区域名称）

tableArea ↔ 台桌列表中的 area_name

结论（结构层面）：

助教废除.json 中关于桌台的四个字段，是对“台桌维度”信息的引用 + 冗余快照。

当用 tableId 去联查台桌列表时，可以获取更多静态信息（如台费设置、是否可预约等），本文件只保留了最基础的桌号和区域。

3. 与助教档案 / 助教流水的关系

对助教的标识字段：

assistantOn ↔ 助教流水中的 assistantNo ↔ 助教账号中的 assistant_no

assistantName ↔ 助教流水中的 assistantName ↔ 助教账号中的姓名字段

结构上的含义：

助教废除.json 可以看作是“助教服务流水”的一个特殊子集：只记录被废除的部分。

在 助教流水.json 中，存在字段 is_trash、trash_reason 等，它们从主流水视角记录“此条流水已经被废除”这一状态。

在 助教废除.json 中，則以“废除事件”为主视角，列出每一次废除操作的明细（在哪张桌、哪个助教、多少分钟、金额多少）。

需要注意的结构事实：

助教废除.json 里 没有 订单号类字段（例如 order_trade_no、order_assistant_id），因此如果要从“废除事件”反查到具体哪一条助教流水，目前只能通过组合条件关联，例如：

相同门店 siteId；

相同助教 assistantOn + assistantName；

相同台桌 tableId / tableName；

相近时间（createTime 对应助教流水的 create_time/ledger_end_time 附近）。

这说明系统在设计时，把“废除事件”作为独立表存储，但没有在导出中包含可直接联表的订单 ID。结构上就导致“硬外键”缺失，只能做“软匹配”。

4. 与资金/账户类表的潜在关系（结构层面）

关键金额字段：

assistantAbolishAmount 是本表唯一金额字段。

结合字段命名和位置，可以推断结构关系：

如果废除操作产生金额变动（例如退还部分费用或扣除违约金），那么在：

退款记录.json 中可能有对应一笔退款记录；

余额变更记录.json 中可能有对应一条会员卡余额变动（若退到卡里）。

这些表中不会直接有 assistantAbolishAmount 字段，但会有金额字段 + 关联 ID，结构上可能通过金额和时间进行逻辑匹配。

需要强调：

这里只指出“这个字段在系统里承担的是一个‘金额变量’的角色”，不做盈利/损益层面的任何分析或结论。

四、本表本身暴露出的结构性线索

清晰的单一职责
助教废除.json 不包含订单号、支付信息、会员信息等字段，只保留：

门店/桌台维度；

助教维度；

时间、分钟数；

一个金额字段；

文本原因字段。
说明这个表的设计就是“专门记录助教废除事件”的事件表，倾向于作为运营日志或审计用途，而不是主结算表。

软外键的设计取向

没有 order_trade_no、order_settle_id 等硬外键字段。

需要通过“时间 + 助教 + 桌台”的组合条件与 助教流水、订单/结算 进行软关联。

在迁移或对接新系统时，如果希望建立强外键，建议在新结构中给废除表补充 order_assistant_id 或 order_trade_no 之类的字段，以便直接关联。

分钟与秒的混用

pdChargeMinutes 单位是“分钟”；

在 助教流水.json 中，同类字段如 income_seconds / real_use_seconds 是“秒”。
结构层面说明：系统在不同接口/表中用了不同的时间单位。
在做结构统一或数据建模时，最好统一为一个单位（全部转为秒或全部转为分钟），否则容易出现比较/汇总混乱。

废除原因文本未被使用但结构预留完备

当前 15 条记录中，trashReason 全部为空，说明实际运营中并没有强制填写原因。

但结构上预留了这个字段，将来如果要做“废除原因统计”或“内部稽核”，无需修改结构，只要要求前台填写即可。

数量很少但字段完整

当前总记录数只有 15 条，但已经有完整的门店、桌台、助教、时长、金额、原因字段。

说明设计不是临时补的，而是参照完整流水表（助教流水）设计的一张配套表，只是当前时间范围内“废除事件”确实不多。
