# 租户配置（GetTenantConfig）接口字段分析报告

> 手动分析于 2026-03-20 | 数据来源：浏览器抓包

## 基本信息


| 属性         | 值                                                             |
| -------------- | ---------------------------------------------------------------- |
| 接口路径     | `System/GetTenantConfig`                                       |
| 完整 URL     | `https://pc.ficoo.vip/apiprod/admin/v1/System/GetTenantConfig` |
| 请求方法     | `POST`                                                         |
| Content-Type | 无 body（`body: null`）                                        |
| 鉴权方式     | Bearer Token（`Authorization` 头）                             |
| 分页方式     | 无分页（单次返回全量）                                         |
| 时间范围     | 不需要                                                         |
| 响应结构     | `data` 对象包含 7 个子对象 + 1 个顶层字段                      |

## 请求参数

无请求体。通过 Token 中的 `tenant-id` 和 `site-id` 确定返回范围。当 `site-id=0` 时返回租户级默认配置。

## 响应顶层结构


| 子对象                      | 类型   | 说明                                                      |
| ----------------------------- | -------- | ----------------------------------------------------------- |
| `showAssistant`             | int    | 顶层开关：是否展示助教模块（1=展示）                      |
| `siteConfig`                | object | 门店级配置（当 site_id=0 时与 tenantConfig 字段完全一致） |
| `tenantConfig`              | object | 租户级配置（品牌默认值）                                  |
| `siteProfile`               | object | 门店档案信息（site_id=0 时全部为零值/空值）               |
| `tenantProfile`             | object | 租户档案信息（品牌名称、图标、状态）                      |
| `assistantLevels`           | array  | 助教等级配置列表（当前为空数组）                          |
| `siteUserAppletConfig`      | object | 小程序端功能配置（site_id=0 时全部为零值/默认值）         |
| `memberCardGradeConfigList` | array  | 会员卡等级配置列表（当前为空数组）                        |

### 关于 siteConfig 与 tenantConfig 的关系

两者字段完全一致（~150 个字段），当 `site_id=0` 时值也完全一致。业务含义：

- `tenantConfig`：品牌级默认配置
- `siteConfig`：门店级覆盖配置（门店可以覆盖品牌默认值）
- 当请求 `site_id=0` 时，siteConfig 回退到 tenantConfig 的值

**ETL 建议**：ODS 层只存一份（tenantConfig），DWD 层按需区分。如果未来需要按门店拉取，再增加 siteConfig 的独立存储。

---

## 一、tenantConfig / siteConfig 字段分析（共 ~150 字段）

> siteConfig 与 tenantConfig 字段完全一致，以下统一分析。按业务域分组。
> 开关字段惯例：1=启用/是，2=禁用/否（飞球系统通用约定），0=未设置/默认。
> 「是否保留」列留空，由人工筛选填写。

### 1.1 主键与标识


| # | 字段名      | 类型 | 示例值           | 业务含义推导            | 是否保留 |
| --- | ------------- | ------ | ------------------ | ------------------------- | ---------- |
| 1 | `id`        | int  | 2790683527351109 | 配置记录主键 ID         | Y        |
| 2 | `tenant_id` | int  | 2790683160709957 | 租户 ID（品牌标识）     | Y        |
| 3 | `site_id`   | int  | 0                | 门店 ID（0=租户级默认） | Y        |

### 1.2 助教模块配置


| #  | 字段名                          | 类型   | 示例值     | 业务含义推导                                                         | 是否保留                           |
| ---- | --------------------------------- | -------- | ------------ | ---------------------------------------------------------------------- | ------------------------------------ |
| 4  | `able_assistant_hang_more`      | int    | 2          | 助教是否允许同时挂多台（2=禁用）。控制一个助教能否同时服务多张球台   |                                    |
| 5  | `assistant_add_clock`           | int    | 2          | 助教是否可以自行加钟（2=禁用）。控制助教端是否有"加钟"按钮           |                                    |
| 6  | `assistant_global_name`         | string | "助理教练" | 助教在系统中的全局称谓。不同门店可能叫"助教""教练""陪练"等           | Y                                  |
| 7  | `assistant_live`                | int    | 2          | 助教直播功能开关（2=禁用）                                           |                                    |
| 8  | `assistant_performance_confirm` | int    | 1          | 助教绩效是否需要确认（1=需要）。助教完成服务后是否需要管理员确认绩效 |                                    |
| 9  | `assistant_ranking`             | int    | 1          | 助教排行榜功能开关（1=启用）                                         |                                    |
| 10 | `assistant_restrict_count`      | int    | 3          | 助教限制数量。推测为单台最多可安排的助教人数上限                     |                                    |
| 11 | `assistant_reward_name`         | string | "激励"     | 助教奖励/激励的自定义名称。对应 DWS 中的`assistant_reward_name` 配置 | Y                                  |
| 12 | `assistant_salary_allocation`   | int    | 2          | 助教薪资分配方式开关（2=禁用自动分配）                               | 统一使用本项目的薪资计算结算方式。 |
| 13 | `assistant_schedule`            | int    | 2          | 助教排班功能开关（2=禁用）                                           |                                    |
| 14 | `assistant_show_type`           | int    | 2          | 助教展示方式。推测 1=列表 2=卡片 或类似的前端展示模式切换            |                                    |
| 15 | `assistant_time_over`           | int    | 1          | 助教超时处理开关（1=启用）。服务超时后是否自动结束或提醒             |                                    |
| 16 | `is_assistant_rotation`         | int    | 1          | 助教轮转/轮岗开关（1=启用）。是否按轮次自动分配助教                  |                                    |
| 17 | `is_offline_assistant`          | int    | 1          | 线下助教模式开关（1=启用）。是否支持线下（非系统派单）的助教服务     |                                    |
| 18 | `virtual_playwith_limit`        | int    | 1          | 虚拟陪打限制（1=启用限制）。控制虚拟/模拟陪打场景的约束              |                                    |
| 19 | `virtual_reward`                | int    | 2          | 虚拟奖励开关（2=禁用）。是否启用虚拟激励/奖励机制                    |                                    |

### 1.3 收银与支付配置


| #  | 字段名                  | 类型    | 示例值 | 业务含义推导                                                           | 是否保留 |
| ---- | ------------------------- | --------- | -------- | ------------------------------------------------------------------------ | ---------- |
| 20 | `able_cash_pay`         | int     | 2      | 现金支付开关（2=禁用）。收银台是否接受现金                             |          |
| 21 | `able_offline_pay`      | int     | 2      | 线下支付开关（2=禁用）。是否支持线下（非在线）支付方式                 |          |
| 22 | `able_pos_pay`          | int     | 2      | POS 机支付开关（2=禁用）                                               |          |
| 23 | `able_revoke_settle`    | int     | 2      | 撤销结算开关（2=禁用）。已结算订单是否允许撤销                         |          |
| 24 | `can_round_manually`    | int     | 2      | 手动抹零开关（2=禁用）。收银时是否允许手动调整金额（抹零）             |          |
| 25 | `pay_round_accuracy`    | int     | 0      | 支付金额舍入精度。0=不舍入，其他值表示小数位数                         |          |
| 26 | `pay_round_type`        | int     | 0      | 支付金额舍入方式。0=不舍入，1=四舍五入，2=向上取整，3=向下取整（推测） |          |
| 27 | `up_round`              | decimal | 0.00   | 向上取整阈值。配合 pay_round_type 使用                                 |          |
| 28 | `down_round`            | decimal | 0.00   | 向下取整阈值。配合 pay_round_type 使用                                 |          |
| 29 | `split_real_charge`     | int     | 1      | 拆分实收/应收开关（1=启用）。结算时是否区分实收金额和应收金额          |          |
| 30 | `currency_symbol_type`  | int     | 1      | 货币符号类型。1=¥（人民币），其他值对应其他货币符号                   |          |
| 31 | `income_inclusion_type` | int     | 0      | 收入计入方式。0=默认，控制哪些收入项目计入营收统计                     |          |

### 1.4 会员与储值卡配置


| #  | 字段名                         | 类型    | 示例值                      | 业务含义推导                                                 | 是否保留 |
| ---- | -------------------------------- | --------- | ----------------------------- | -------------------------------------------------------------- | ---------- |
| 32 | `applet_member_recharge`       | int     | 2                           | 小程序端会员充值开关（2=禁用）                               |          |
| 33 | `member_app_type`              | int     | 6                           | 会员应用类型。6 可能表示某种会员系统版本或模式               |          |
| 34 | `member_bind_plural_table`     | int     | 1                           | 会员绑定多台开关（1=允许）。一个会员是否可以同时绑定多张球台 |          |
| 35 | `member_consumption_sms`       | int     | 1                           | 会员消费短信通知开关（1=启用）                               |          |
| 36 | `member_discount_balance_mode` | int     | 1                           | 会员折扣余额模式。控制折扣与余额的计算优先级                 |          |
| 37 | `member_discount_mode`         | int     | 2                           | 会员折扣模式。2=某种折扣计算方式（如按等级/按消费额）        |          |
| 38 | `member_expense_hint`          | int     | 2                           | 会员消费提醒开关（2=禁用）。消费达到阈值时是否提醒           |          |
| 39 | `member_expense_money`         | decimal | 500.00                      | 会员消费提醒阈值（元）。当单次消费超过此金额时触发提醒       |          |
| 40 | `member_login_method`          | string  | "1"                         | 会员登录方式。"1"=手机号登录（推测）                         |          |
| 41 | `default_member_avatar`        | string  | "https://oss.ficoo.vip/..." | 会员默认头像 URL                                             |          |
| 42 | `default_member_password`      | string  | "123456"                    | ⚠️ 敏感字段：会员默认密码。ODS 层需脱敏（保留最后 2 字符） |          |
| 43 | `recharge_card_included`       | int     | 1                           | 充值卡纳入统计开关（1=纳入）。充值卡金额是否计入营收         |          |
| 44 | `gift_card_included`           | int     | 1                           | 赠送卡纳入统计开关（1=纳入）。赠送金额是否计入营收           |          |
| 45 | `platform_coupon_included`     | int     | 1                           | 平台优惠券纳入统计开关（1=纳入）                             |          |
| 46 | `self_coupon_included`         | int     | 1                           | 自有优惠券纳入统计开关（1=纳入）                             |          |
| 47 | `rcp_able_chose_member_grade`  | int     | 1                           | 收银台是否可选择会员等级（1=可选）                           |          |
| 48 | `send_level_change_notice`     | int     | 1                           | 会员等级变更通知开关（1=发送）                               |          |
| 49 | `auto_rela_sales_man`          | int     | 2                           | 自动关联销售员开关（2=禁用）。新会员是否自动关联推荐销售员   |          |
| 50 | `consume_auto_rela_sales_man`  | int     | 2                           | 消费时自动关联销售员开关（2=禁用）                           |          |
| 51 | `is_rela_more_salesmen`        | int     | 1                           | 允许关联多个销售员开关（1=允许）                             |          |

### 1.5 会员等级与积分规则


| #  | 字段名                     | 类型         | 示例值                           | 业务含义推导                                                                                                                        | 是否保留 |
| ---- | ---------------------------- | -------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
| 52 | `is_calc_points`           | int          | 1                                | 积分计算开关（1=启用）。消费时是否自动计算积分                                                                                      |          |
| 53 | `point_alias`              | string       | "积分"                           | 积分的自定义名称。不同品牌可能叫"积分""金币""豆子"等                                                                                |          |
| 54 | `point_expire_num`         | int          | 0                                | 积分过期数值。0=不过期                                                                                                              |          |
| 55 | `point_expire_type`        | int          | 1                                | 积分过期类型。1=按固定周期                                                                                                          |          |
| 56 | `point_expire_unit`        | int          | 1                                | 积分过期单位。1=月（推测）                                                                                                          |          |
| 57 | `point_rule`               | string       | ""                               | 积分规则描述（当前为空，可能是 JSON 或文本规则）                                                                                    |          |
| 58 | `growth_value_expire_num`  | int          | 0                                | 成长值过期数值。0=不过期                                                                                                            |          |
| 59 | `growth_value_expire_type` | int          | 1                                | 成长值过期类型                                                                                                                      |          |
| 60 | `growth_value_expire_unit` | int          | 1                                | 成长值过期单位                                                                                                                      |          |
| 61 | `member_grade_expire_num`  | int          | 0                                | 会员等级过期数值。0=不过期                                                                                                          |          |
| 62 | `member_grade_expire_type` | int          | 1                                | 会员等级过期类型                                                                                                                    |          |
| 63 | `member_grade_expire_unit` | int          | 1                                | 会员等级过期单位                                                                                                                    |          |
| 64 | `member_rule_config_json`  | string(JSON) | `{growthValueExpireNum: 12,...}` | 会员规则综合配置 JSON。包含成长值过期、等级升级类型、等级保级策略等。注意：非标准 JSON（缺引号），解析时需容错。**建议 JSONB 存储** |          |
| 65 | `registration_info_rule`   | string       | ""                               | 注册信息规则（当前为空）                                                                                                            |          |

### 1.6 球台与计费配置


| #  | 字段名                     | 类型 | 示例值 | 业务含义推导                                                             | 是否保留 |
| ---- | ---------------------------- | ------ | -------- | -------------------------------------------------------------------------- | ---------- |
| 66 | `billing_rate_time_type`   | int  | 1      | 计费费率时间类型。控制按分钟/小时/时段计费                               |          |
| 67 | `business_time_type`       | int  | 1      | 营业时间类型。1=标准营业时间模式                                         |          |
| 68 | `charge_time_type`         | int  | 1      | 计费时间类型。与 billing_rate_time_type 配合，控制计费起止时间的计算方式 |          |
| 69 | `cross_region_fee`         | int  | 1      | 跨区域费用开关（1=启用）。不同区域球台之间转台是否收取额外费用           |          |
| 70 | `table_rental_fee_enable`  | int  | 1      | 台费租赁费开关（1=启用）。是否收取球台租赁费                             |          |
| 71 | `normal_table_number`      | int  | -1     | 普通台数量。-1=不限制（由实际球台数决定）                                |          |
| 72 | `rest_table_number`        | int  | -1     | 休息台数量。-1=不限制                                                    |          |
| 73 | `virtual_table_number`     | int  | -1     | 虚拟台数量。-1=不限制。虚拟台用于不占用实体球台的服务场景                |          |
| 74 | `temporary_light_time`     | int  | 0      | 临时开灯时长（分钟）。0=不启用临时开灯                                   |          |
| 75 | `temporary_light_max_time` | int  | 0      | 临时开灯最大时长（分钟）                                                 |          |

### 1.7 收银台与前台配置


| #  | 字段名                     | 类型 | 示例值 | 业务含义推导                                               | 是否保留 |
| ---- | ---------------------------- | ------ | -------- | ------------------------------------------------------------ | ---------- |
| 76 | `bill_font_type`           | int  | 1      | 小票字体类型。1=标准字体                                   |          |
| 77 | `cash_register_goods_sort` | int  | 1      | 收银台商品排序方式。1=默认排序                             |          |
| 78 | `cashier_login_restrict`   | int  | 1      | 收银员登录限制（1=启用）。是否限制收银员只能在指定设备登录 |          |
| 79 | `cashier_switch_light`     | int  | 1      | 收银台开关灯控制（1=启用）。收银台是否可以控制球台灯光     |          |
| 80 | `cashier_table_show_money` | int  | 1      | 收银台球台显示金额（1=显示）。球台列表是否显示当前消费金额 |          |
| 81 | `cashier_temporary_light`  | int  | 1      | 收银台临时开灯（1=启用）                                   |          |
| 82 | `rcp_table_list_version`   | int  | 1      | 收银台球台列表版本。1=V1 版本布局                          |          |
| 83 | `coupon_goods_auto_print`  | int  | 2      | 优惠券商品自动打印开关（2=禁用）                           |          |
| 84 | `is_not_paid_goods`        | int  | 2      | 未付款商品显示开关（2=不显示）                             |          |
| 85 | `return_goods_settled`     | int  | 1      | 已结算商品退货开关（1=允许）                               |          |
| 86 | `enable_goods_remark`      | int  | 1      | 商品备注功能开关（1=启用）                                 |          |
| 87 | `enable_serial_number`     | int  | 1      | 序列号功能开关（1=启用）                                   |          |

### 1.8 智慧屏与前厅配置


| #  | 字段名                            | 类型    | 示例值                | 业务含义推导                                           | 是否保留 |
| ---- | ----------------------------------- | --------- | ----------------------- | -------------------------------------------------------- | ---------- |
| 88 | `enable_smart_antechamber`        | int     | 1                     | 智慧前厅开关（1=启用）。是否启用智慧前厅（自助服务屏） |          |
| 89 | `is_smart_screen_pay`             | int     | 1                     | 智慧屏支付开关（1=启用）。智慧屏是否支持直接支付       |          |
| 90 | `is_show_smart_screen_tip`        | int     | 1                     | 智慧屏提示开关（1=显示）                               |          |
| 91 | `smart_screen_menu_cfg`           | string  | "1,2,3"               | 智慧屏菜单配置。逗号分隔的菜单项 ID                    |          |
| 92 | `smart_screen_rental`             | decimal | 0.00                  | 智慧屏租赁费（元/月）                                  |          |
| 93 | `smart_screen_rental_receiver_id` | int     | 0                     | 智慧屏租赁费收款方 ID。0=未设置                        |          |
| 94 | `smart_screen_rental_start_time`  | string  | "0001-01-01 00:00:00" | 智慧屏租赁开始时间（零值=未设置）                      |          |
| 95 | `smart_screen_rental_end_time`    | string  | "0001-01-01 00:00:00" | 智慧屏租赁结束时间（零值=未设置）                      |          |
| 96 | `is_open_screen_savers`           | int     | 1                     | 屏保开关（1=启用）                                     |          |
| 97 | `front_delivery_enabled`          | int     | 1                     | 前台配送开关（1=启用）。前台是否支持商品配送到桌       |          |

### 1.9 通知与短信配置


| #   | 字段名               | 类型   | 示例值 | 业务含义推导                    | 是否保留 |
| ----- | ---------------------- | -------- | -------- | --------------------------------- | ---------- |
| 98  | `able_notify`        | int    | 1      | 通知总开关（1=启用）            |          |
| 99  | `is_sms_notified`    | int    | 0      | 短信通知开关（0=禁用）          |          |
| 100 | `sms_notice_mobile`  | string | ""     | 短信通知接收手机号（空=未设置） |          |
| 101 | `total_sms_credit`   | int    | 0      | 短信余额/额度。0=无余额         |          |
| 102 | `is_rcp_notice_ring` | int    | 1      | 收银台通知铃声开关（1=启用）    |          |
| 103 | `announce_one`       | int    | 0      | 公告位 1 开关（0=关闭）         |          |
| 104 | `announce_two`       | int    | 0      | 公告位 2 开关（0=关闭）         |          |

### 1.10 考勤与排班配置


| #   | 字段名                             | 类型         | 示例值                | 业务含义推导                                       | 是否保留 |
| ----- | ------------------------------------ | -------------- | ----------------------- | ---------------------------------------------------- | ---------- |
| 105 | `attendance_enabled`               | int          | 1                     | 考勤功能总开关（1=启用）                           |          |
| 106 | `attendance_sync_deadline`         | string       | "2000-01-01 08:00:00" | 考勤同步截止时间。零值占位=使用默认                |          |
| 107 | `absent_flag`                      | int          | 1                     | 缺勤标记开关（1=启用）。是否自动标记缺勤           |          |
| 108 | `absent_number`                    | int          | 7                     | 缺勤天数阈值。连续缺勤超过此天数触发告警/处理      |          |
| 109 | `shift_enabled`                    | int          | 1                     | 班次功能开关（1=启用）                             |          |
| 110 | `shift_turnover_goods`             | int          | 1                     | 交班时商品盘点开关（1=启用）                       |          |
| 111 | `shift_turnover_type`              | int          | 1                     | 交班类型。1=标准交班流程                           |          |
| 112 | `sign_enable`                      | int          | 1                     | 签到功能开关（1=启用）                             |          |
| 113 | `sign_config`                      | string(JSON) | "{}"                  | 签到配置 JSON（当前为空对象）。**建议 JSONB 存储** |          |
| 114 | `online_sign_enable`               | int          | 1                     | 在线签到开关（1=启用）                             |          |
| 115 | `offline_sign_enable`              | int          | 1                     | 离线签到开关（1=启用）                             |          |
| 116 | `site_attendance_approval_enabled` | int          | 1                     | 门店考勤审批开关（1=启用）                         |          |
| 117 | `site_staff_salary_enabled`        | int          | 1                     | 门店员工薪资开关（1=启用）                         |          |

### 1.11 财务与结算配置


| #   | 字段名                          | 类型   | 示例值                | 业务含义推导                                                              | 是否保留 |
| ----- | --------------------------------- | -------- | ----------------------- | --------------------------------------------------------------------------- | ---------- |
| 118 | `cutoff_time`                   | string | "2000-01-05 08:00:00" | 财务截止时间（日结时间点）。只取时间部分 08:00，表示每日 8 点为财务日切点 | Y        |
| 119 | `site_cutoff_time`              | string | "0001-01-01 00:00:00" | 门店级财务截止时间（零值=使用租户默认）                                   | Y        |
| 120 | `daily_settle_enable`           | int    | 1                     | 日结功能开关（1=启用）。是否启用每日自动结算                              |          |
| 121 | `data_analysis`                 | int    | 1                     | 数据分析功能开关（1=启用）。是否在管理端展示数据分析模块                  |          |
| 122 | `financial_analysis_url`        | string | ""                    | 财务分析外链 URL（空=未配置外部 BI 链接）                                 |          |
| 123 | `performance_time`              | int    | 2                     | 绩效计算时间维度。2=按月（推测：1=按周，2=按月，3=按季）                  |          |
| 124 | `revenue_switch`                | int    | 2                     | 营收统计开关（2=禁用）。是否在首页展示营收数据                            |          |
| 125 | `able_show_platform_receivable` | int    | 1                     | 平台应收展示开关（1=展示）。是否展示平台代收的应收款项                    |          |
| 126 | `declaration_concealment`       | int    | 1                     | 报表隐藏开关（1=启用）。是否隐藏部分敏感财务报表                          |          |
| 127 | `coach_look_performance`        | int    | 1                     | 教练查看绩效开关（1=允许）。助教/教练是否可以查看自己的绩效数据           |          |

### 1.12 商品与库存配置


| #   | 字段名                      | 类型 | 示例值 | 业务含义推导                    | 是否保留 |
| ----- | ----------------------------- | ------ | -------- | --------------------------------- | ---------- |
| 128 | `goods_version_cfg`         | int  | 1      | 商品版本配置。1=V1 版本商品管理 |          |
| 129 | `warehouse_type`            | int  | 1      | 仓库类型。1=单仓模式            |          |
| 130 | `manager_applet_goods_sort` | int  | 1      | 管理端小程序商品排序方式        |          |

### 1.13 灯控与电力配置


| #   | 字段名           | 类型 | 示例值 | 业务含义推导                                      | 是否保留 |
| ----- | ------------------ | ------ | -------- | --------------------------------------------------- | ---------- |
| 131 | `is_electricity` | int  | 1      | 电力管理开关（1=启用）。是否启用球台电力/灯控管理 |          |

### 1.14 团队编辑配置


| #   | 字段名                         | 类型   | 示例值                | 业务含义推导                                                      | 是否保留 |
| ----- | -------------------------------- | -------- | ----------------------- | ------------------------------------------------------------------- | ---------- |
| 132 | `edit_team_current_next_month` | int    | 1                     | 编辑团队当月/下月开关（1=允许）。是否允许编辑当月和下月的团队配置 |          |
| 133 | `edit_team_start_time`         | string | "2025-01-01 00:00:00" | 团队编辑允许的开始时间                                            |          |
| 134 | `edit_team_end_time`           | string | "2025-01-01 00:00:00" | 团队编辑允许的结束时间（与 start 相同=未限制）                    |          |

### 1.15 小程序与线上配置


| #   | 字段名                              | 类型   | 示例值 | 业务含义推导                                 | 是否保留 |
| ----- | ------------------------------------- | -------- | -------- | ---------------------------------------------- | ---------- |
| 135 | `enable_auto_accept`                | int    | 1      | 自动接单开关（1=启用）。线上订单是否自动接受 |          |
| 136 | `enable_outdoor_order`              | int    | 2      | 外卖/外送订单开关（2=禁用）                  |          |
| 137 | `enable_professional_member_applet` | int    | 1      | 专业版会员小程序开关（1=启用）               |          |
| 138 | `member_applet_share_url`           | string | ""     | 会员小程序分享链接（空=未配置）              |          |

### 1.16 百能运营费配置


| #   | 字段名                              | 类型    | 示例值 | 业务含义推导                                                          | 是否保留 |
| ----- | ------------------------------------- | --------- | -------- | ----------------------------------------------------------------------- | ---------- |
| 139 | `baineng_operation_fee_enable`      | int     | 1      | 百能运营费开关（1=启用）。百能=第三方运营服务商，是否启用其运营费抽成 |          |
| 140 | `baineng_operation_fee_ratio`       | decimal | 0.00   | 百能运营费比例。0.00=不抽成（虽然开关启用但比例为 0）                 |          |
| 141 | `baineng_operation_fee_receiver_id` | int     | 0      | 百能运营费收款方 ID。0=未设置                                         |          |

### 1.17 UI 与颜色配置


| #   | 字段名              | 类型         | 示例值                                     | 业务含义推导                                                                                                                                                               | 是否保留 |
| ----- | --------------------- | -------------- | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
| 142 | `color_config_json` | string(JSON) | `{"statuses":{"assistant":"#DA5F8E",...}}` | PC 端球台状态颜色配置。包含：assistant（助教服务中）、cluster（拼台）、font（字体）、leisure（空闲）、reserve（预约）、start（开台）、warning（警告）。**建议 JSONB 存储** |          |
| 143 | `min_color_json`    | string(JSON) | `{"statuses":{"leisure":"#BBC1C6",...}}`   | 小程序端球台状态颜色配置。字段结构与 color_config_json 一致，颜色值不同（适配小程序 UI）。**建议 JSONB 存储**                                                              |          |

### 1.18 安全与登录配置


| #   | 字段名                  | 类型   | 示例值        | 业务含义推导                                                           | 是否保留 |
| ----- | ------------------------- | -------- | --------------- | ------------------------------------------------------------------------ | ---------- |
| 144 | `can_many_account`      | int    | 1             | 多账号登录开关（1=允许）。同一用户是否可以在多设备同时登录             |          |
| 145 | `single_sign_on`        | int    | 1             | 单点登录开关（1=启用）。是否启用 SSO                                   |          |
| 146 | `default_user_password` | string | "AFD42Zto..." | ⚠️ 敏感字段：用户默认密码（加密后）。ODS 层需脱敏（保留最后 2 字符） |          |
| 147 | `needs_confirm`         | int    | 1             | 操作确认开关（1=需要）。关键操作是否需要二次确认                       |          |
| 148 | `watermark_enable`      | int    | 1             | 水印开关（1=启用）。管理端页面是否显示水印（防截图泄露）               |          |

### 1.19 营销与默认门店配置


| #   | 字段名                      | 类型 | 示例值           | 业务含义推导                                     | 是否保留 |
| ----- | ----------------------------- | ------ | ------------------ | -------------------------------------------------- | ---------- |
| 149 | `default_marketing_site_id` | int  | 2928823574824965 | 默认营销门店 ID。营销活动默认关联的门店          |          |
| 150 | `material_id`               | int  | 0                | 素材 ID。0=未设置，可能关联营销素材库            |          |
| 151 | `service_level`             | int  | 1                | 服务等级。1=基础服务等级（可能影响功能可用范围） |          |

---

## 二、tenantProfile 字段分析


| # | 字段名         | 类型   | 示例值                                   | 业务含义推导                                         | 是否保留 |
| --- | ---------------- | -------- | ------------------------------------------ | ------------------------------------------------------ | ---------- |
| 1 | `tenantName`   | string | "朗朗桌球"                               | 租户/品牌名称                                        | Y        |
| 2 | `tenantIcon`   | string | "https://oss.ficoo.vip/admin/DbtcMZ_..." | 租户/品牌图标 URL                                    |          |
| 3 | `prodEnv`      | string | "Normal"                                 | 生产环境标识。Normal=正式环境（区别于测试/演示环境） |          |
| 4 | `tenantStatus` | int    | 0                                        | 租户状态。0=正常运营（其他值可能表示停用/欠费等）    |          |

---

## 三、siteProfile 字段分析

> 当 site_id=0 时全部为零值/空值，以下为字段结构说明。实际按门店拉取时会有真实数据。


| #  | 字段名                    | 类型   | 示例值   | 业务含义推导                         | 是否保留 |
| ---- | --------------------------- | -------- | ---------- | -------------------------------------- | ---------- |
| 1  | `id`                      | int    | 0        | 门店档案主键 ID                      |          |
| 2  | `org_id`                  | int    | 0        | 组织 ID                              |          |
| 3  | `shop_name`               | string | ""       | 门店名称                             |          |
| 4  | `avatar`                  | string | ""       | 门店头像/Logo URL                    |          |
| 5  | `business_tel`            | string | ""       | 门店联系电话                         |          |
| 6  | `full_address`            | string | ""       | 门店完整地址                         |          |
| 7  | `address`                 | string | ""       | 门店简短地址                         |          |
| 8  | `longitude`               | float  | 0.000000 | 经度                                 |          |
| 9  | `latitude`                | float  | 0.000000 | 纬度                                 |          |
| 10 | `tenant_site_region_id`   | int    | 0        | 租户门店区域 ID                      |          |
| 11 | `tenant_id`               | int    | 0        | 租户 ID                              |          |
| 12 | `auto_light`              | int    | 1        | 自动开灯开关（1=启用）               |          |
| 13 | `attendance_distance`     | int    | 0        | 考勤打卡距离限制（米）。0=不限制     |          |
| 14 | `wifi_name`               | string | ""       | 门店 WiFi 名称（用于考勤 WiFi 打卡） |          |
| 15 | `wifi_password`           | string | ""       | 门店 WiFi 密码                       |          |
| 16 | `customer_service_qrcode` | string | ""       | 客服二维码 URL                       |          |
| 17 | `customer_service_wechat` | string | ""       | 客服微信号                           |          |
| 18 | `fixed_pay_qrCode`        | string | ""       | 固定收款二维码 URL                   |          |
| 19 | `prod_env`                | int    | 1        | 生产环境标识（1=正式）               |          |
| 20 | `light_status`            | int    | 1        | 灯控状态（1=正常）                   |          |
| 21 | `light_type`              | int    | 0        | 灯控类型。0=默认                     |          |
| 22 | `site_type`               | int    | 1        | 门店类型。1=标准门店                 |          |
| 23 | `light_token`             | string | ""       | 灯控设备 Token                       |          |
| 24 | `site_label`              | string | ""       | 门店标签                             |          |
| 25 | `attendance_enabled`      | int    | 1        | 门店考勤开关                         |          |
| 26 | `shop_status`             | int    | 1        | 门店营业状态（1=营业中）             |          |

---

## 四、siteUserAppletConfig 字段分析

> 小程序端功能配置。当 site_id=0 时全部为零值/默认值。


| #  | 字段名                                  | 类型    | 示例值 | 业务含义推导                       | 是否保留 |
| ---- | ----------------------------------------- | --------- | -------- | ------------------------------------ | ---------- |
| 1  | `id`                                    | int     | 0      | 配置记录主键                       |          |
| 2  | `applet_assistant_order`                | int     | 2      | 小程序助教下单开关（2=禁用）       |          |
| 3  | `applet_assistant_reward`               | int     | 2      | 小程序助教打赏开关（2=禁用）       |          |
| 4  | `applet_goods_order`                    | int     | 2      | 小程序商品下单开关（2=禁用）       |          |
| 5  | `applet_goods_outer`                    | int     | 2      | 小程序外卖商品开关（2=禁用）       |          |
| 6  | `applet_look_order`                     | int     | 2      | 小程序查看订单开关（2=禁用）       |          |
| 7  | `applet_member_recharge`                | int     | 2      | 小程序会员充值开关（2=禁用）       |          |
| 8  | `applet_order_settle`                   | int     | 2      | 小程序订单结算开关（2=禁用）       |          |
| 9  | `applet_use_package_coupon`             | int     | 2      | 小程序使用套餐券开关（2=禁用）     |          |
| 10 | `applet_use_table`                      | int     | 2      | 小程序开台开关（2=禁用）           |          |
| 11 | `applet_use_table_with_self_coupon`     | int     | 2      | 小程序使用自有券开台开关（2=禁用） |          |
| 12 | `applet_use_table_with_self_coupon_pay` | int     | 2      | 小程序自有券开台支付开关（2=禁用） |          |
| 13 | `booking_retain_time`                   | int     | 900    | 预约保留时长（秒）。900=15 分钟    |          |
| 14 | `cancel_booking_refund`                 | int     | 2      | 取消预约退款开关（2=禁用）         |          |
| 15 | `delivery_fee`                          | decimal | 0.00   | 配送费（元）                       |          |
| 16 | `is_delete`                             | int     | 0      | 逻辑删除标记                       |          |
| 17 | `is_online_reservation`                 | int     | 2      | 在线预约开关（2=禁用）             |          |
| 18 | `member_recharge_pay_channel`           | int     | 0      | 会员充值支付渠道。0=默认           |          |
| 19 | `minimum_order_amount`                  | decimal | 0.00   | 最低订单金额（元）                 |          |
| 20 | `pay_channel`                           | int     | 0      | 支付渠道。0=默认                   |          |
| 21 | `reservation_deposit`                   | decimal | 0.00   | 预约押金（元）                     |          |
| 22 | `reservation_expiration_time`           | int     | 0      | 预约过期时间（秒）。0=不过期       |          |
| 23 | `site_id`                               | int     | 0      | 门店 ID                            |          |
| 24 | `take_out_delivery`                     | int     | 2      | 外卖配送开关（2=禁用）             |          |
| 25 | `tenant_id`                             | int     | 0      | 租户 ID                            |          |
| 26 | `site_show_assistant`                   | int     | 2      | 门店展示助教开关（2=不展示）       |          |
| 27 | `site_show_goods`                       | int     | 2      | 门店展示商品开关（2=不展示）       |          |

---

## 五、assistantLevels 字段分析

> 当前返回空数组 `[]`。推测结构如下（基于系统中助教等级的已知信息）：


| # | 字段名          | 类型    | 推测含义                         |
| --- | ----------------- | --------- | ---------------------------------- |
| 1 | `id`            | int     | 等级配置主键                     |
| 2 | `level`         | int     | 等级代码（如 10/20/30/40）       |
| 3 | `level_name`    | string  | 等级名称（如"初级""中级""高级"） |
| 4 | `pd_unit_price` | decimal | 陪打单价                         |
| 5 | `cx_unit_price` | decimal | 超休单价                         |

> 注意：此为推测结构，需要在有数据的门店验证。当前租户级请求返回空数组，可能需要按门店拉取才有数据。

---

## 六、memberCardGradeConfigList 字段分析

> 当前返回空数组 `[]`。推测结构如下（基于系统中会员卡等级的已知信息）：


| # | 字段名          | 类型    | 推测含义       |
| --- | ----------------- | --------- | ---------------- |
| 1 | `id`            | int     | 等级配置主键   |
| 2 | `grade_name`    | string  | 等级名称       |
| 3 | `grade_level`   | int     | 等级序号       |
| 4 | `discount_rate` | decimal | 折扣率         |
| 5 | `growth_value`  | int     | 升级所需成长值 |

> 注意：此为推测结构，需要在有数据的门店验证。

---

## 七、JSON 字段用途分析


| 字段名                    | 所属子对象   | 结构                                                                                                                                                          | 用途                                                                                                                   | 存储建议 |
| --------------------------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ---------- |
| `color_config_json`       | tenantConfig | `{"statuses":{"assistant":"#DA5F8E","cluster":"#F39F01","font":"#FFFFFF","leisure":"#2B2B38","reserve":"#2B2B38","start":"#01A39B","warning":"#EC6B04"}}`     | PC 端球台状态颜色主题。7 种状态各一个 HEX 颜色值                                                                       | JSONB    |
| `min_color_json`          | tenantConfig | 同上结构，颜色值不同                                                                                                                                          | 小程序端球台状态颜色主题                                                                                               | JSONB    |
| `member_rule_config_json` | tenantConfig | `{growthValueExpireNum: 12, memberGradeUpType: 1, memberGradeExpireType: 1, memberGradeExpireNum: 12, memberGradeKeepType: 1, memberGradeKeepBalanceType: 1}` | 会员等级规则综合配置：成长值过期周期、等级升级方式、等级过期策略、保级策略。⚠️ 非标准 JSON（键名无引号），解析需容错 | JSONB    |
| `sign_config`             | tenantConfig | `{}`                                                                                                                                                          | 签到规则配置（当前为空，预留）                                                                                         | JSONB    |

---

## 八、敏感字段清单


| 字段名                    | 所属子对象   | 示例值                | 脱敏方式                                      |
| --------------------------- | -------------- | ----------------------- | ----------------------------------------------- |
| `default_member_password` | tenantConfig | "123456"              | ODS 层保留最后 2 字符 → "****56"             |
| `default_user_password`   | tenantConfig | "AFD42ZtoGhIn+LYp..." | ODS 层保留最后 2 字符 → "****Q=="            |
| `wifi_password`           | siteProfile  | ""                    | ODS 层保留最后 2 字符（当前为空，有值时脱敏） |

---

## 九、与现有 ETL 数据的关联分析


| 本接口字段                                      | 关联的现有数据                     | 关联方式                               |
| ------------------------------------------------- | ------------------------------------ | ---------------------------------------- |
| `tenant_id`                                     | 所有 ODS/DWD 表的`tenant_id`       | 直接匹配                               |
| `site_id`                                       | 所有 ODS/DWD 表的`site_id`         | 直接匹配                               |
| `assistant_global_name`                         | DWS 层助教相关报表的称谓显示       | 替代硬编码"助教"                       |
| `assistant_reward_name`                         | DWS 层`assistant_reward_name` 配置 | 替代硬编码"激励"                       |
| `point_alias`                                   | 会员积分相关展示                   | 替代硬编码"积分"                       |
| `cutoff_time`                                   | 财务日结时间点                     | 影响日结算逻辑的时间窗口               |
| `performance_time`                              | 绩效计算周期                       | 影响 DWS 绩效汇总的时间维度            |
| `color_config_json` / `min_color_json`          | 小程序/管理端球台状态颜色          | 前端渲染配置                           |
| `member_rule_config_json`                       | 会员等级升降级逻辑                 | 影响会员维度表的等级变更判断           |
| `recharge_card_included` / `gift_card_included` | 营收统计口径                       | 影响 DWS 营收汇总是否包含充值卡/赠送卡 |
| `assistant_restrict_count`                      | 助教排班/派单逻辑                  | 单台最大助教数限制                     |
