13 KiB
会员档案(GetTenantMemberList)
自动生成于 2026-02-13 | 数据来源:本地 JSON 样本
基本信息
| 属性 | 值 |
|---|---|
| 接口路径 | MemberProfile/GetTenantMemberList |
| 完整 URL | https://pc.ficoo.vip/apiprod/admin/v1/MemberProfile/GetTenantMemberList |
| 请求方法 | POST |
| Content-Type | application/json |
| 鉴权方式 | Bearer Token(Authorization 头) |
| ODS 对应表 | member_profiles |
| 分页方式 | page + limit(最大 100) |
| 时间范围 | 不需要 |
请求参数
| 参数名 | 类型 | 示例值 | 说明 |
|---|---|---|---|
isMemberInBlackList |
int | 0 |
是否黑名单(0=全部) |
status_Revoked |
int | 0 |
是否已注销(0=全部) |
isBindOrg |
int | 0 |
是否绑定组织(0=全部) |
registerSource |
int | 0 |
注册来源(0=全部) |
page |
int | 1 |
页码(从 1 开始) |
limit |
int | 100 |
每页条数(最大 100) |
响应字段(共 15 个)
| # | 字段名 | 类型 | 示例值 |
|---|---|---|---|
| 1 | id |
int | 2955204541320325 |
| 2 | create_time |
string | '2025-11-08 01:29:33' |
| 3 | member_card_grade_code |
int | 2790683528022853 |
| 4 | mobile |
string | '18620043391' |
| 5 | nickname |
string | '胡先生' |
| 6 | register_site_id |
int | 2790685415443269 |
| 7 | site_name |
string | '朗朗桌球' |
| 8 | member_card_grade_name |
string | '储值卡' |
| 9 | system_member_id |
int | 2955204540009605 |
| 10 | tenant_id |
int | 2790683160709957 |
| 11 | referrer_member_id |
int | 0 |
| 12 | point |
float | 0.0 |
| 13 | user_status |
int | 1 |
| 14 | status |
int | 1 |
| 15 | growth_value |
float | 0.0 |
新增字段(相对本地 JSON 样本)
以下字段在最新 API 响应中出现,但本地 JSON 样本中不存在:
| 字段名 | 类型 |
|---|---|
pay_money_sum |
float |
person_tenant_org_id |
int |
person_tenant_org_name |
string |
recharge_money_sum |
float |
register_source |
int |
详细字段分析
以下内容迁移自旧版
member_profiles-Analysis.md,包含字段的业务含义、枚举值、跨表关联等详细说明。
三、主键 / 会员标识类字段
- id
类型:int
非空:200 条
唯一值个数:199(有 1 个 ID 出现了 2 次,完全重复记录)
含义:
这是“租户内会员账户”的主键 ID。
对应一个 会员在当前租户下的一条账户档案(通常是一张卡/一个账户)。
和其它表的关系(从字段命名推断):
在余额变更、储值卡列表等表中,通常会有 member_card_id 或类似字段,按系统习惯,这类字段一般就对应这里的 id。
重复记录说明:
id=2799212615616261 的记录在文件中出现了两次,所有字段完全相同,明显是导出过程重复,不是设计层面的问题。
- system_member_id
类型:int
唯一值个数:199(同样有一个值出现了 2 次,对应上面的重复记录)
含义(结合其它文件):
这是“系统级会员 ID”,在全平台唯一,用来把一个会员在不同门店/不同卡类型下的账户统一到一个“人”的维度上。
在其它 JSON(例如助教流水)里也出现了 system_member_id,用来标识消费对应哪个会员。
结构关系:
在“会员档案”这张表里,system_member_id 与 id 是一对多的关系(理论上:一人可有多张卡),只是本次截取的数据里恰好只有一人一条记录(除那条导出重复)。
- member_card_grade_code / member_card_grade_name
这两个字段是成对出现的:一个数值码,一个中文名称。
member_card_grade_code
类型:int
唯一值个数:4
member_card_grade_name
类型:string
唯一值个数:4
从数据可得对应关系:
member_card_grade_code -> member_card_grade_name 2790683528022853 -> "储值卡" 2790683528022855 -> "台费卡" 2790683528022856 -> "活动抵用券" 2790683528022857 -> "月卡"
含义:
这是“会员卡种类/等级”的定义字段。
member_card_grade_code 是内部编码(枚举 ID),member_card_grade_name 是展示用名称。
统计分布(只是为了说明结构,不做盈利分析):
储值卡:112 条
台费卡:82 条
活动抵用券:4 条
月卡:2 条
结构上的意义:
从设计上看,这张“会员档案”实际上是 “会员 × 卡种” 级别的账户记录:
system_member_id 表示“谁”;
member_card_grade_code/name 表示“哪种卡”;
id 则是这张卡在当前租户下的账号 ID。
四、联系方式与会员展示信息 4. mobile
类型:string
唯一值个数:199(1 个号码重复,对应重复记录)
特征:
全部是 11 位手机号字符串,未发现空字符串或明显无效值。
含义:
会员绑定的手机号码。
结构意义:
在普通业务里,“手机号 + tenant_id”通常具备“会员唯一性”的作用(禁止同租户重复注册同一个手机号)。
在本数据中,手机号重复仅出现在那条重复的会员记录上,可以判断是导出重复,而非同一手机号注册多个账户。
- nickname
类型:string
唯一值个数:200(每条记录昵称都不同)
含义:
会员在当前租户下的显示名称(可以是姓名,也可以是昵称)。
与助教流水里的 nickname 区分:
助教流水中的 nickname 是“助教昵称”(服务人员),这里的 nickname 是“会员昵称”,虽然字段名相同,但含义不同,关联时要注意表的上下文。
五、注册门店 / 租户维度 6. register_site_id
类型:int
唯一值个数:1
所有记录都是同一个值:2790685415443269
含义:
会员的注册门店 ID。
结构关系:
与其它 JSON 中普遍存在的 site_id 相同(都是“朗朗桌球”这家店的 ID)。
说明本文件的 200 条会员账户,全部是在这家门店注册的。
- site_name
类型:string
唯一值个数:1
全部为 "朗朗桌球"
含义:
注册门店名称,属于冗余字段,用于直接展示。
与 register_site_id 关系:
register_site_id → 逻辑外键
site_name → 冗余的门店名称快照
- tenant_id
类型:int
唯一值个数:1
全部为 2790683160709957
含义:
租户/品牌 ID。
确认这批会员都是属于同一个租户“朗朗桌球”(而非连锁多店场景)。
六、推荐关系与成长值字段 9. referrer_member_id
类型:int
唯一值个数:1
全部为 0
含义(按命名推断):
推荐人会员 ID,用于记录该会员是由哪位老会员推荐。
目前数据的状态:
本批数据中全部为 0,意味着在导出时间范围内,这些会员账户没有记录任何推荐关系(或该功能未使用)。
- point
类型:float
唯一值个数:1
全部为 0.0
含义:
当前积分余额(这条会员账户的积分值)。
当前状态:
所有账户积分为 0,说明要么积分体系刚启用,要么此数据截取点时,积分未开始累积或未导出非零记录。
- growth_value
类型:float
唯一值个数:1
全部为 0.0
含义(按常见会员体系设计):
成长值 / 经验值,用于会员等级晋升的累计指标。
当前状态:
与 point 一样,全部为 0,说明成长体系虽然有字段,但目前没有实际使用或数据尚在初期。
从这三个字段可以看出: 系统预留了“推荐关系 + 积分 + 成长值”的完整会员运营链路,但这家门店在当前截取时间点上基本还处于“只建档案、不玩复杂运营”的状态。结构上功能完备,只是业务上尚未填充数据。
七、状态 / 启用标志相关字段 12. user_status
类型:int,枚举
唯一值个数:1
全部为 1
含义(结合行业惯例):
用户账号状态(偏“用户逻辑”层面的状态)。
典型枚举可能为:
1:正常启用
0:禁用 / 冻结
其他值:例如已注销等(本数据尚未出现)
当前数据:
全为 1,说明导出的都是正常有效的会员账户。
- status
类型:int,枚举
唯一值个数:1
全部为 1
含义(按命名推断):
帐户状态(偏“卡状态/档案状态”)。
在你之前的其它 JSON 里,“status = 1”通常也是“正常”,4 等值用来表示删除/失效等。
当前数据:
同样全部为 1,表示这些档案都是有效的卡档案,没有注销/停用记录被导出。
这里有一个设计上的细节:
user_status 和 status 都是状态字段,属于“业务状态 + 系统状态”并存的设计。
很多系统会用:
user_status 管用户层面(是否允许登录、是否冻结等);
status 管卡账户本身(卡是否作废、是否挂失)。
在你这份数据里,两者当前值完全一致(都是 1),但从结构上可以看出未来可以出现两者不一致的场景(例如用户已注销但卡余额仍在清算中等)。
八、时间字段 14. create_time
类型:string
格式:YYYY-MM-DD HH:MM:SS
唯一值个数:86
典型样例:
'2025-07-20 20:46:38'(出现 5 次)
'2025-07-20 20:46:36'(5 次)
…
含义:
会员账户的创建时间(即这条档案/这张卡在系统中被创建的时间)。
数据特征:
很多时间戳成批出现(同一时间出现 5 条),高度怀疑是“批量导入/老系统迁移”或“批量开卡”的结果,而不是一条条手动录入。
和其它业务数据(例如消费流水)相比,时间集中在 2025-07-20 晚间,说明这批会员是某个时间点一次性导入的。
九、综合结构判断与和其它 JSON 的关系
从字段设计可以得出以下结构层面的结论(仅从结构出发,不做任何盈利/行为分析):
记录粒度
每一条 tenantMemberInfos 记录,是一个“会员在当前租户下某个卡种/账户”的档案。
关键组合键可以理解为:
(tenant_id, system_member_id, member_card_grade_code)
或更加具体的主键 id。
与其它表的关联键
与消费流水(台费、助教、商品等)
通过 system_member_id 把会员消费流水与会员档案关联起来。
一些表里还会出现 member_card_id 或类似字段,对应这里的 id。
与储值卡/余额变更/充值等表:
这些表的 member_card_id / system_member_id / tenant_member_id(在不同表叫法略有差异)会与这里的 id 和 system_member_id 做主外键关系。
与门店(site):
register_site_id 与其他表的 site_id 援用同一门店 ID;site_name 是冗余名称。
枚举字段总结
卡种枚举(明确):
member_card_grade_code / member_card_grade_name 四种:
储值卡 / 台费卡 / 活动抵用券 / 月卡
状态枚举(当前只见到一种值,但显然是枚举型设计):
user_status:1(正常)
status:1(正常)
其它预留枚举(当前值全部为单一值):
referrer_member_id:目前全为 0(“无推荐人”状态)
字段使用状态
已投入使用的字段:
id, system_member_id, member_card_grade_*, mobile, nickname, register_site_id, site_name, tenant_id, create_time, user_status, status。
这些字段组合起来,足以支持基本的会员识别、卡种区分和简单状态管理。
结构上预留但目前几乎未被使用的字段:
referrer_member_id(推荐体系)
point(积分体系)
growth_value(成长值/等级成长体系)
这些字段从结构上完整存在,但在当前数据截面上全部为默认值 0,说明门店尚未使用这些高级运营功能。
分页与导出行为的结构线索
data.total = 438,而本次两个 page 合并只有 200 条,说明:
该接口是典型的分页接口(每页 100 条);
当前只导出了前两页(或者是时间/条件过滤导致只取到部分)。
id 和 system_member_id 各有一个值重复了两次,且所有字段完全相同:
很可能是分页处理时边界重叠导致的重复(比如页 1 末尾的记录又出现在页 2 的开头),不是数据设计错误。
十、小结:会员档案.json 的角色
从纯字段与结构角度,可以把 20251110_043209_会员档案.json 概括为:
它不是“纯粹的人头表”,而是“会员 × 卡种 的账户档案表”,一条记录既包含“谁”(system_member_id / mobile / nickname),也包含“是什么卡”(member_card_grade_xxx)。
它作为 会员维度的核心参照表,被其它业务表通过 system_member_id 和 id 广泛引用:
消费流水中的会员消费,回来可以通过这些键指向这一表;
储值余额变动、充值、退款等资金类流水,最终也会落到某个 id 所代表的“会员账户/卡”上。
从字段现状可见:门店目前主要使用的是“储值卡 + 台费卡 + 少量月卡/抵用券”的基本功能,重点在“建档与卡种区分”,尚未真正利用积分、成长值、推荐等高级字段。这是“结构完备、业务使用部分开启”的典型状态。