# 支付流水(GetPayLogListPage) > 自动生成于 2026-02-13 | 数据来源:实时 API ## 基本信息 | 属性 | 值 | |------|-----| | 接口路径 | `PayLog/GetPayLogListPage` | | 完整 URL | `https://pc.ficoo.vip/apiprod/admin/v1/PayLog/GetPayLogListPage` | | 请求方法 | `POST` | | Content-Type | `application/json` | | 鉴权方式 | Bearer Token(`Authorization` 头) | | ODS 对应表 | `payment_transactions` | | 分页方式 | `page` + `limit`(最大 100) | | 时间范围 | 需要(StartPayTime / EndPayTime) | ## 请求参数 | 参数名 | 类型 | 示例值 | 说明 | |--------|------|--------|------| | `StartPayTime` | string | `"2026-02-01 08:00:00"` | 支付起始时间 | | `EndPayTime` | string | `"2026-02-13 08:00:00"` | 支付结束时间 | | `siteId` | int | `2790685415443269` | 门店 ID | | `OnlinePayChannel` | int | `0` | 在线支付渠道(0=全部) | | `paymentMethod` | int | `0` | 支付方式(0=全部) | | `relateType` | int | `0` | 关联类型(0=全部) | | `page` | int | `1` | 页码(从 1 开始) | | `limit` | int | `100` | 每页条数(最大 100) | ## 响应字段(共 11 个) | # | 字段名 | 类型 | 示例值 | |---|--------|------|--------| | 1 | `siteProfile` | object | {'id': 2790685415443269, 'org_id': 2790684179467077, 'sho... | | 2 | `create_time` | string | '2026-02-13 04:49:48' | | 3 | `pay_amount` | float | 0.0 | | 4 | `pay_status` | int | 2 | | 5 | `pay_time` | string | '2026-02-13 04:49:48' | | 6 | `online_pay_channel` | int | 0 | | 7 | `relate_type` | int | 2 | | 8 | `relate_id` | int | 3092711340902597 | | 9 | `site_id` | int | 2790685415443269 | | 10 | `id` | int | 3092712422508741 | | 11 | `payment_method` | int | 4 | ## 详细字段分析 > 以下内容迁移自旧版 `payment_transactions-Analysis.md`,包含字段的业务含义、枚举值、跨表关联等详细说明。 二、字段逐一说明(含类型、枚举、可能含义) 1. 门店维度字段 1.1 siteProfile 类型:对象(Object) 含义:门店信息快照,与其他 JSON 中的 siteProfile 结构一致。 关键子字段(只列最重要的,结构与前面文件相同): id:门店 ID(本数据中固定为 2790685415443269)。 org_id:组织 ID。 shop_name:店名(例如“朗朗桌球”)。 full_address / address:详细地址 / 简要地址。 business_tel:门店电话。 longitude / latitude:经纬度。 tenant_id:租户 ID。 site_label:门店标签(如 “A”)。 shop_status:门店状态枚举(本数据中为 1,表示正常营业)。 以及 WIFI、灯控、客服二维码等配置字段。 说明: siteProfile.id 与本记录的 site_id 完全一致。 在整个系统中,这是一份门店维度的冗余快照,方便前端和报表使用。 1.2 site_id 类型:整数(long) 观测:所有记录均为 2790685415443269。 含义:支付记录所属的门店 ID。 关联关系: 与其他所有 JSON 中的 site_id / siteId 对应,是全局的门店外键。 与 siteProfile.id 相同,保证“门店维度”一致。 2. 支付流水主键与业务关联 2.1 id 类型:整数(long) 特征:200 条记录中的 id 全部唯一。 含义:支付流水记录的主键 ID。 作用: 在“支付记录”这个表内部,唯一标识一条支付流水(包括金额为 0 的记录)。 2.2 relate_type 类型:整数(int),明显是 枚举字段。 观测到的枚举值及数量: 2:出现 196 次。 5:出现 3 次。 1:出现 1 次。 含义(从结构与其他表关联推断): 表示“这条支付记录关联的业务类型”。 不同的 relate_type,relate_id 指向不同业务表: relate_type = 2: 通过数据实际比对,可以确认: relate_id 对应 结账记录.json 中的 settleList.id(即结账单 ID / order_settle_id)。 本类型是“结账单支付流水”。 relate_type = 5: 通过与 会员卡流水(tenantMemberCardLogs) 的比对: 在 tenantMemberCardLogs 中,存在字段 relate_id = 本表.relate_id,from_type = 3,且有充值金额 account_data。 因此可以判断:relate_type = 5 对应“会员卡余额/充值类业务”的支付流水。 relate_type = 1: 当前样本中只有 1 条,且在其他 JSON 中没有找到同 ID 的记录,具体业务类型不明,结构上可先视作“其他业务类型(预留枚举值)”。 总结:relate_type 是“支付关联业务类型”的枚举,至少包括: 2:结账单支付; 5:会员卡充值/账户操作支付; 1:其他少见业务类型(暂不确定)。 2.3 relate_id 类型:整数(long) 特征: 200 条记录中,relate_id 全部互不重复(n_unique=200)。 含义:关联业务记录的主键 ID(按 relate_type 不同指向不同表)。 具体关联关系: 当 relate_type = 2: relate_id = 结账记录表(结账记录.json)中 settleList.id。 即:一条结账单,会在本表中对应一条支付记录(当前样本里是一对一,结构上允许扩展为一对多)。 当 relate_type = 5: relate_id = 会员卡流水(tenantMemberCardLogs)中的 relate_id 字段,而非该表的主键 id。 说明:充值/余额变更有自己的“业务单号”,该单号在支付记录和会员卡流水中共享。 当 relate_type = 1: 未在其他已解析表中找到对应 ID,只能确认它是一种保留业务类型。 3. 支付金额与时间字段 3.1 pay_amount 类型:浮点数(float) 观测数据: 不同取值共 36 个。 最小值:0.0,最大值:3000.0。 分布特征(只看结构): 0.0:出现 140 次。 其他典型值:4.0, 5.0, 6.0, 10.0, 14.0, 15.0, 20.0, 48.0, 96.0, 1000.0, 3000.0 等。 含义(结构层面): 本条支付流水的“支付金额”,单位为元。 特别情况: 140 条 pay_amount = 0 的记录,其 (relate_type, payment_method) 组合全部为 (2, 2)。 从结构角度看,可以解读为: 这部分支付流水记录通过 payment_method=2 标记了某种支付渠道,但金额为 0; 金额实际可能由其他渠道/卡券抵扣(具体业务逻辑不在本次分析范围)。 这里仅说明“0 元支付记录在结构上是合法且被大量使用的”。 3.2 create_time 类型:字符串(string),格式 "YYYY-MM-DD HH:MM:SS" 特征: 200 条记录中,create_time 全部唯一。 含义: 支付记录创建时间,通常与发起支付请求的时间一致(创建支付流水的时间戳)。 3.3 pay_time 类型:字符串(string),格式同上。 特征: 200 条记录中,pay_time 也全部唯一。 在数据中 create_time 与 pay_time 多数完全一致,说明支付完成较快。 含义: 实际支付完成时间(支付状态变为成功的时间戳)。 从结构角度: create_time 可以用来追踪“付费动作发起时间”。 pay_time 记录“支付成功时间”。 在异步支付场景,二者有可能不一致(当前样本中大多相同)。 4. 支付状态与渠道、方式字段 4.1 pay_status 类型:整数(int),枚举。 样本情况:所有记录 pay_status = 2。 含义(结合命名和导出结果推断): 支付状态枚举字段。 当前导出只包含状态为 2 的记录,很明显是“支付成功”的状态。 其他可能存在的枚举值(未出现在本数据中): 例如 0=未支付,1=支付中,3=支付失败,4=已退款等(仅示例,具体需参考系统配置)。 结论(结构): 导出的 支付记录.json 是“成功支付流水”的子集,其他状态被过滤掉。 4.2 payment_method 类型:整数(int),枚举。 样本分布: 2:140 条记录。 4:60 条记录。 含义: 支付方式枚举,例如微信、支付宝、现金、银行卡、储值卡等某一种。 当前数据中只出现了 2 种枚举值,但没有文字说明映射关系。 从结构角度的判断: 这是区分不同支付“方式/通道”的关键字段; 应与系统中的“支付方式配置表”存在映射关系(本次导出未包含该配置表)。 需要注意: 虽然可以猜测 2 和 4 可能对应常见通道(如微信/支付宝等),但在缺乏配置表的情况下不宜直接下结论,这里只确认它是“支付方式枚举”的字段。 4.3 online_pay_channel 类型:整数(int),枚举。 样本情况:所有记录 online_pay_channel = 0。 含义(命名层面): 线上支付渠道枚举,例如: 0:无 / 线下; 1:微信; 2:支付宝; …… 但当前时间范围内,所有记录均为 0,没有其他枚举值出现。 结构特点: 这个字段是为细分“在线支付通道”准备的; 当前门店在本次导出时间段内,可能没有使用该字段(或所有支付统一走某种方式未拆分)。 5. 其他结构性字段 这里主要就是前面已经涉及的: siteProfile:门店快照(对象)。 site_id:门店 ID,所有记录相同。 id:支付流水主键。 relate_type & relate_id:业务关联键。 没有额外隐藏字段,本表结构很精简、单一职责较强。 三、与其他 JSON 的关联关系(从字段角度) 本表核心作用:承载“支付结果”层面的信息,通过 relate_type + relate_id 把不同业务域的流水(结账单、会员卡流水等)统一串到“支付系统”上。 1. 与结账记录(结账记录.json)的关系 关联字段: 当 relate_type = 2 时: 支付记录.relate_id = 结账记录.settleList.id 结构含义: 每一笔结账单(settleList.id)对应一条支付记录(当前样本中是一条记录,relate_id 唯一)。 通过这个关系,可以: 从结账记录跳转到对应的支付记录; 从支付记录反查对应的结账单。 补充: 在整个系统中,结账记录.id 也对应各类明细表的 order_settle_id(台费、助教等),因此: 支付记录 间接成为连接“支付系统”与“台费/助教/商品明细”的桥梁。 2. 与会员卡流水(tenantMemberCardLogs)/ 余额变更记录的关系 对于 relate_type = 5 的记录: 在 tenantMemberCardLogs 中存在: tenantMemberCardLogs.relate_id = 支付记录.relate_id tenantMemberCardLogs.payment_method = 支付记录.payment_method tenantMemberCardLogs.account_data = 充值金额(例如 1000.0)。 结构含义: 这些支付记录对应的业务类型是“会员卡余额充值/账户变动”。 relate_id 在这里扮演“充值业务单号”的角色,在支付表和会员卡流水中共享。 3. 与门店维度的关系 site_id 与各个表(结账记录、台费流水、助教流水等)的 site_id 一致。 siteProfile 作为冗余的门店信息快照,与其他文件中的门店快照结构一致。 4. 与结算/小票维度的间接关系 支付记录 →(通过 relate_id)→ 结账记录 →(通过 id/orderSettleId)→ 小票详情/台费/助教明细。 结构上,这构成一条完整的链路: 业务明细表(台费/助教等)只记录“消费内容”; 结账记录汇总明细,形成一条“结算单”; 支付记录在“结算单”基础上记录“实际支付行为”。 四、本表暴露出的结构性设计特点和线索 从纯结构、字段设计角度,本表有几个明显的设计意图和特点: 强烈的“统一支付网关”设计 通过 (relate_type, relate_id) 组合,支付系统不直接关心支付的是“台费单、结账单还是会员卡充值单”,而是: 不同业务系统约定一个 relate_type; 将各自的业务主键(或业务单号)写入 relate_id。 这样整个支付层可以统一处理资金动作,而上层业务只需按约定填字段。 支付成功流水视角,非全量支付事件日志 pay_status 全部为 2; 没有看到待支付、失败、关闭等状态。 说明当前导出的 支付记录.json 实际上是“支付成功流水卡片”,而不是“完整交易生命周期日志”。 对数据建模时,应该把“支付记录”视为 成功资金落地的事实表。 支付方式与线上渠道双层枚举结构 payment_method:高层次区分支付方式(现金/卡/微信/支付宝/储值卡等); online_pay_channel:更细粒度区分“线上支付通道”(按实际配置可能划分微信/支付宝等)。 当前样本中 online_pay_channel 全为 0,说明这个维度还没被实际利用,但结构已经预留,用于以后精细化拆分。 允许一单多笔支付的设计空间 结构上,relate_id 并没有强制唯一,可以允许: 同一个 relate_id + 不同 payment_method; 同一结账单部分现金、部分在线等组合支付。 虽然本时间段样本中每个 relate_id 只出现一次(对 relate_type=2 来说),但从设计上看,完全可以扩展为一对多。 在后续建模时不要假定“一个 relate_id 一定只对应一条支付记录”,这只是当前时间段的实际情况。 0 元支付流水的大量存在 规模:200 条记录中,有 140 条 pay_amount = 0,且全部 (relate_type=2, payment_method=2)。 结构意义: 系统会对“金额为 0 的支付动作”也产生支付流水记录,这可能是为了: 记录“某个支付方式参与了本单,但实际金额由其他方式/卡券承担”; 或记录内部结算/记账动作。 对后续分析和建模来说,不能简单按“pay_amount > 0”过滤数据,否则会丢失一大批结构上真实存在的支付行为。 门店维度冗余一致性 site_id 与 siteProfile.id 始终一致; 该模式与台费流水、助教流水、结账记录中的门店设计完全统一。 这种“一份数字外键 + 一份冗余快照”的模式,对于你后面做数据中台/数仓建模有直接影响: 在数仓中一般会把 site_id 建成维度外键; siteProfile 只在上游 ODS 层保留快照,DW 层不一定全量展开。