360 lines
15 KiB
Markdown
360 lines
15 KiB
Markdown
# 充值结算记录 — GetRechargeSettleList
|
||
|
||
> 模块:`Site` · ODS 表:`recharge_settlements` · 事实表(增量)
|
||
|
||
---
|
||
|
||
## 一、接口概述
|
||
|
||
查询门店下会员充值/充值撤销的结算记录。每条记录对应一笔充值订单或充值撤销操作,包含会员信息、充值金额、退款金额、支付方式等。本表复用了通用"结算单"模型,大量消费类字段(商品、台费、助教等)在充值场景下为 0,仅充值相关字段有值。通过 `settleType` 区分充值订单与充值撤销。
|
||
|
||
| 属性 | 值 |
|
||
|------|-----|
|
||
| 完整路径 | `POST /Site/GetRechargeSettleList` |
|
||
| Base URL | `https://pc.ficoo.vip/apiprod/admin/v1/` |
|
||
| 鉴权 | `Authorization: Bearer <token>` |
|
||
| 分页 | `page` + `limit`(最大 100) |
|
||
| 时间范围 | `rangeStartTime` / `rangeEndTime`(必填) |
|
||
|
||
---
|
||
|
||
## 二、请求
|
||
|
||
### 请求体(JSON)
|
||
|
||
```json
|
||
{
|
||
"settleType": 0,
|
||
"paymentMethod": 0,
|
||
"rangeStartTime": "2025-11-01 08:00:00",
|
||
"rangeEndTime": "2025-11-10 08:00:00",
|
||
"siteId": 2790685415443269,
|
||
"isFirst": 0,
|
||
"page": 1,
|
||
"limit": 100
|
||
}
|
||
```
|
||
|
||
### 参数说明
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
|------|------|------|------|
|
||
| `settleType` | int | 是 | 结算类型筛选。`0` = 全部 |
|
||
| `paymentMethod` | int | 是 | 支付方式筛选。`0` = 全部 |
|
||
| `rangeStartTime` | string | 是 | 查询起始时间 |
|
||
| `rangeEndTime` | string | 是 | 查询结束时间 |
|
||
| `siteId` | int | 是 | 门店 ID |
|
||
| `isFirst` | int | 是 | 是否首充筛选。`0` = 全部 |
|
||
| `page` | int | 是 | 页码,从 1 开始 |
|
||
| `limit` | int | 是 | 每页条数,最大 100 |
|
||
|
||
---
|
||
|
||
## 三、响应结构
|
||
|
||
```
|
||
{
|
||
"code": 200,
|
||
"data": {
|
||
"list": [
|
||
{
|
||
"siteProfile": { ... },
|
||
"settleList": { ... }
|
||
}
|
||
],
|
||
"total": 74
|
||
}
|
||
}
|
||
```
|
||
|
||
每个 `list` 元素包含两个顶层对象:`siteProfile`(门店快照)和 `settleList`(充值结算记录本体)。`settleList` 内共 66 个业务字段,加上 `siteProfile` 的 26 个子字段,合计 92 个字段。按逻辑分组说明如下。
|
||
|
||
---
|
||
|
||
## 四、响应字段详解(92 个字段)
|
||
|
||
### 4.1 门店信息快照(siteProfile)
|
||
|
||
`siteProfile` 为门店信息冗余快照,包含 26 个子字段,结构与其他接口(如台费流水、助教流水等)完全一致。所有记录的 `siteProfile` 内容相同。主要字段:
|
||
|
||
| 字段 | 类型 | 示例 | 说明 |
|
||
|------|------|------|------|
|
||
| `siteProfile.id` | int | `2790685415443269` | 门店 ID,与 `settleList.siteId` 一致 |
|
||
| `siteProfile.org_id` | int | `2790684179467077` | 门店所属组织 ID |
|
||
| `siteProfile.shop_name` | string | `"朗朗桌球"` | 门店名称 |
|
||
| `siteProfile.avatar` | string | `"https://oss.ficoo.vip/..."` | 门店头像 URL |
|
||
| `siteProfile.business_tel` | string | `"13316068642"` | 门店电话 |
|
||
| `siteProfile.full_address` | string | `"广东省广州市天河区丽阳街12号"` | 完整地址 |
|
||
| `siteProfile.address` | string | `"广东省广州市天河区天园街道朗朗桌球"` | 精简地址 |
|
||
| `siteProfile.longitude` | float | `113.360321` | 经度 |
|
||
| `siteProfile.latitude` | float | `23.133629` | 纬度 |
|
||
| `siteProfile.tenant_site_region_id` | int | `156440100` | 行政区域编码 |
|
||
| `siteProfile.tenant_id` | int | `2790683160709957` | 租户 ID |
|
||
| `siteProfile.auto_light` | int | `1` | 是否自动控灯 |
|
||
| `siteProfile.attendance_distance` | int | `0` | 考勤打卡范围 |
|
||
| `siteProfile.wifi_name` | string | `""` | WiFi 名称 |
|
||
| `siteProfile.wifi_password` | string | `""` | WiFi 密码 |
|
||
| `siteProfile.customer_service_qrcode` | string | `""` | 客服二维码 |
|
||
| `siteProfile.customer_service_wechat` | string | `""` | 客服微信 |
|
||
| `siteProfile.fixed_pay_qrCode` | string | `""` | 固定收款码 |
|
||
| `siteProfile.prod_env` | int | `1` | 环境标志(`1` = 生产) |
|
||
| `siteProfile.light_status` | int | `1` | 灯控状态 |
|
||
| `siteProfile.light_type` | int | `0` | 灯控类型 |
|
||
| `siteProfile.site_type` | int | `1` | 门店类型 |
|
||
| `siteProfile.light_token` | string | `""` | 灯控对接凭证 |
|
||
| `siteProfile.site_label` | string | `"A"` | 门店标签 |
|
||
| `siteProfile.attendance_enabled` | int | `1` | 是否启用考勤 |
|
||
| `siteProfile.shop_status` | int | `1` | 门店营业状态(`1` = 营业中) |
|
||
|
||
---
|
||
|
||
以下字段均来自 `settleList` 内层对象。
|
||
|
||
### 4.2 主键与关联维度
|
||
|
||
| 字段 | 类型 | 示例 | 说明 |
|
||
|------|------|------|------|
|
||
| `id` | int | `3087072625102533` | 充值结算记录主键 ID |
|
||
| `tenantId` | int | `2790683160709957` | 租户/品牌 ID |
|
||
| `siteId` | int | `2790685415443269` | 门店 ID |
|
||
| `siteName` | string | `""` | 门店名称(当前为空,门店名在 `siteProfile.shop_name` 中) |
|
||
| `settleRelateId` | int | `3087072624987845` | 关联的结算单/业务单 ID,与支付记录的 `relate_id` 呼应,用于跨表追踪 |
|
||
| `tableId` | int | `0` | 台桌 ID。充值场景不依附具体球台,全部为 0 |
|
||
| `serialNumber` | int | `0` | 流水号/小票序号。当前未启用 |
|
||
|
||
### 4.3 结算类型与状态
|
||
|
||
| 字段 | 类型 | 示例 | 说明 |
|
||
|------|------|------|------|
|
||
| `settleType` | int | `5` | 结算类型枚举。`5` = 充值订单(正常充值);`7` = 充值撤销 |
|
||
| `settleName` | string | `"充值订单"` | 业务类型名称。`"充值订单"` 对应 `settleType = 5`;`"充值撤销"` 对应 `settleType = 7` |
|
||
| `settleStatus` | int | `2` | 结算状态。`2` = 已完成/已结算。当前导出仅包含已完成记录 |
|
||
| `canBeRevoked` | bool | `false` | 是否仍可撤销。当前全部为 `false`(时间窗已过) |
|
||
|
||
### 4.4 会员与会员卡
|
||
|
||
| 字段 | 类型 | 示例 | 说明 |
|
||
|------|------|------|------|
|
||
| `memberId` | int | `2799207363643141` | 会员档案主键 ID,对应会员档案表的 `id` |
|
||
| `memberName` | string | `"葛先生"` | 会员名称/昵称快照(充值时的名字,后续改名不影响本记录) |
|
||
| `memberPhone` | string | `"13811638071"` | 会员手机号快照 |
|
||
| `tenantMemberCardId` | int | `2799216572794629` | 会员卡实例 ID(具体某张卡的主键)。同一张卡可有多条充值记录 |
|
||
| `memberCardTypeName` | string | `"储值卡"` | 会员卡类型名称。已知值:`"储值卡"`(绝大多数)、`"月卡"` |
|
||
| `isBindMember` | bool | `false` | 是否绑定会员。当前全部为 `false`,实际业务含义可能已变化 |
|
||
| `isFirst` | int | `2` | 是否首充标志。`1` = 首充(11 条);`2` = 非首充(63 条)。具体编码需参考系统字典 |
|
||
|
||
### 4.5 充值金额与退款
|
||
|
||
| 字段 | 类型 | 示例 | 说明 |
|
||
|------|------|------|------|
|
||
| `payAmount` | float | `10000.0` | 充值金额(元/人民币)。正数 = 实际充值额;负数 = 撤销/冲销额(对应 `settleType = 7`) |
|
||
| `pointAmount` | float | `10000.0` | 计入会员账户的储值金额(元)。多数等于 `payAmount` 绝对值;充值撤销记录为 0 |
|
||
| `refundAmount` | float | `0.0` | 针对本条充值订单的退款金额(元)。非 0 时表示该充值已被退款,同时会有对应的 `settleType = 7` 撤销记录 |
|
||
| `consumeMoney` | float | `10000.0` | 总消费/充值金额(元)。在充值场景中与 `payAmount` 一致 |
|
||
|
||
### 4.6 资金来源拆分
|
||
|
||
| 字段 | 类型 | 示例 | 说明 |
|
||
|------|------|------|------|
|
||
| `balanceAmount` | float | `0.0` | 从账户余额支付的金额(元)。充值场景不适用 |
|
||
| `cardAmount` | float | `0.0` | 从储值卡/会员卡余额支付的金额(元)。充值场景不适用 |
|
||
| `cashAmount` | float | `0.0` | 现金收款金额(元)。少数记录有值(如 3000、5000) |
|
||
| `onlineAmount` | float | `0.0` | 线上支付金额(元)。当前未拆分渠道 |
|
||
| `couponAmount` | float | `0.0` | 用券支付的金额(元)。充值场景未使用 |
|
||
| `rechargeCardAmount` | int | `0` | 充值到卡上的金额。当前未单独拆出 |
|
||
| `giftCardAmount` | int | `0` | 赠送卡金额(如买 1000 送 100 的赠送部分)。当前未使用 |
|
||
| `prepayMoney` | float | `0.0` | 预付款/订金金额(元)。充值场景未使用 |
|
||
|
||
### 4.7 消费类金额(充值场景全部为 0)
|
||
|
||
以下字段来自通用结算单模型,在充值场景下不适用,全部为 0.0:
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
|------|------|------|
|
||
| `tableChargeMoney` | float | 台费金额 |
|
||
| `goodsMoney` | float | 商品消费金额 |
|
||
| `realGoodsMoney` | float | 实际商品应计金额 |
|
||
| `serviceMoney` | float | 服务类项目金额 |
|
||
| `assistantPdMoney` | float | 助教配单金额 |
|
||
| `assistantCxMoney` | float | 助教促销/冲销金额 |
|
||
| `electricityMoney` | float | 电费金额 |
|
||
| `realElectricityMoney` | float | 实际电费金额 |
|
||
| `electricityAdjustMoney` | float | 电费调整金额 |
|
||
|
||
### 4.8 优惠与折扣(充值场景全部为 0)
|
||
|
||
以下字段在充值场景下未使用,全部为 0.0 或 `false`:
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
|------|------|------|
|
||
| `activityDiscount` | float | 营销活动折扣金额 |
|
||
| `allCouponDiscount` | float | 各类优惠券综合折扣金额 |
|
||
| `goodsPromotionMoney` | float | 商品促销优惠金额 |
|
||
| `assistantPromotionMoney` | float | 助教促销优惠金额 |
|
||
| `assistantManualDiscount` | float | 助教手动减免金额 |
|
||
| `couponSaleAmount` | float | 出售券/套餐金额 |
|
||
| `plCouponSaleAmount` | float | 平台优惠券销售金额 |
|
||
| `merVouSalesAmount` | float | 商户代金券销售金额 |
|
||
| `memberDiscountAmount` | float | 会员折扣优惠金额 |
|
||
| `pointDiscountPrice` | float | 积分抵扣价差 |
|
||
| `pointDiscountCost` | float | 积分抵扣成本 |
|
||
| `adjustAmount` | float | 手工调整金额 |
|
||
| `roundingAmount` | float | 抹零金额 |
|
||
| `isActivity` | bool | 是否关联营销活动 |
|
||
| `isUseCoupon` | bool | 是否使用优惠券 |
|
||
| `isUseDiscount` | bool | 是否使用折扣 |
|
||
|
||
### 4.9 撤销相关
|
||
|
||
| 字段 | 类型 | 示例 | 说明 |
|
||
|------|------|------|------|
|
||
| `revokeOrderId` | int | `0` | 撤销相关订单 ID。部分记录有值,指向被撤销的原始订单或撤销单 |
|
||
| `revokeOrderName` | string | `""` | 撤销单名称。当前未使用 |
|
||
| `revokeTime` | string | `"0001-01-01 00:00:00"` | 撤销生效时间。`0001-01-01` 为默认无效日期,表示未撤销 |
|
||
|
||
### 4.10 时间字段
|
||
|
||
| 字段 | 类型 | 示例 | 说明 |
|
||
|------|------|------|------|
|
||
| `createTime` | string | `"2026-02-09 05:12:42"` | 充值记录创建时间,一般即收银完成时间 |
|
||
| `payTime` | string | `"2026-02-09 05:12:42"` | 支付完成时间。与 `createTime` 通常非常接近或相同 |
|
||
|
||
### 4.11 操作员与营业员
|
||
|
||
| 字段 | 类型 | 示例 | 说明 |
|
||
|------|------|------|------|
|
||
| `operatorId` | int | `2790687322443013` | 操作该笔充值的收银员/员工 ID |
|
||
| `operatorName` | string | `"收银员:郑丽珊"` | 操作员姓名 |
|
||
| `salesManName` | string | `""` | 营业员/销售员姓名。充值记录未指定销售员 |
|
||
| `salesManUserId` | int | `0` | 营业员用户 ID。当前未使用 |
|
||
| `paymentMethod` | int | `4` | 支付方式枚举。已知值:`1`、`2`、`4`。具体映射需参考系统支付方式配置表 |
|
||
|
||
### 4.12 备注
|
||
|
||
| 字段 | 类型 | 示例 | 说明 |
|
||
|------|------|------|------|
|
||
| `orderRemark` | string | `""` | 充值单备注。当前未使用 |
|
||
|
||
---
|
||
|
||
## 五、响应样例(单条记录,精简版)
|
||
|
||
```json
|
||
{
|
||
"siteProfile": { "id": 2790685415443269, "shop_name": "朗朗桌球", "..." : "..." },
|
||
"settleList": {
|
||
"id": 3087072625102533,
|
||
"tenantId": 2790683160709957,
|
||
"siteId": 2790685415443269,
|
||
"siteName": "",
|
||
"memberId": 2799207363643141,
|
||
"memberName": "葛先生",
|
||
"memberPhone": "13811638071",
|
||
"tenantMemberCardId": 2799216572794629,
|
||
"memberCardTypeName": "储值卡",
|
||
"settleType": 5,
|
||
"settleName": "充值订单",
|
||
"settleStatus": 2,
|
||
"payAmount": 10000.0,
|
||
"pointAmount": 10000.0,
|
||
"refundAmount": 0.0,
|
||
"consumeMoney": 10000.0,
|
||
"paymentMethod": 4,
|
||
"operatorId": 2790687322443013,
|
||
"operatorName": "收银员:郑丽珊",
|
||
"createTime": "2026-02-09 05:12:42",
|
||
"payTime": "2026-02-09 05:12:42",
|
||
"settleRelateId": 3087072624987845,
|
||
"isFirst": 2,
|
||
"canBeRevoked": false,
|
||
"revokeOrderId": 0,
|
||
"revokeOrderName": "",
|
||
"revokeTime": "0001-01-01 00:00:00",
|
||
"balanceAmount": 0.0,
|
||
"cardAmount": 0.0,
|
||
"cashAmount": 0.0,
|
||
"onlineAmount": 0.0,
|
||
"couponAmount": 0.0,
|
||
"roundingAmount": 0.0,
|
||
"adjustAmount": 0.0,
|
||
"tableChargeMoney": 0.0,
|
||
"goodsMoney": 0.0,
|
||
"realGoodsMoney": 0.0,
|
||
"serviceMoney": 0.0,
|
||
"assistantPdMoney": 0.0,
|
||
"assistantCxMoney": 0.0,
|
||
"couponSaleAmount": 0.0,
|
||
"plCouponSaleAmount": 0.0,
|
||
"merVouSalesAmount": 0.0,
|
||
"memberDiscountAmount": 0.0,
|
||
"prepayMoney": 0.0,
|
||
"salesManName": "",
|
||
"salesManUserId": 0,
|
||
"orderRemark": "",
|
||
"pointDiscountPrice": 0.0,
|
||
"pointDiscountCost": 0.0,
|
||
"activityDiscount": 0.0,
|
||
"serialNumber": 0,
|
||
"assistantManualDiscount": 0.0,
|
||
"allCouponDiscount": 0.0,
|
||
"goodsPromotionMoney": 0.0,
|
||
"assistantPromotionMoney": 0.0,
|
||
"isUseCoupon": false,
|
||
"isUseDiscount": false,
|
||
"isActivity": false,
|
||
"isBindMember": false,
|
||
"tableId": 0,
|
||
"rechargeCardAmount": 0,
|
||
"giftCardAmount": 0,
|
||
"electricityMoney": 0.0,
|
||
"realElectricityMoney": 0.0,
|
||
"electricityAdjustMoney": 0.0
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 六、跨表关联
|
||
|
||
### 与会员档案
|
||
|
||
| 本表字段 | 关联表字段 | 说明 |
|
||
|----------|-----------|------|
|
||
| `memberId` | 会员档案 `id`(`tenant_member_id`) | 会员主键 |
|
||
| `memberName` / `memberPhone` | 会员档案对应字段 | 快照值,充值时记录 |
|
||
|
||
### 与会员卡
|
||
|
||
`tenantMemberCardId` 对应会员卡表主键,标识充值到哪张具体的卡。`memberCardTypeName` 给出卡类型(储值卡、月卡等),充值记录同时向"会员主体"和"卡实例"两层维度挂钩。
|
||
|
||
### 与支付记录(`payment_transactions`)
|
||
|
||
| 本表字段 | 关联表字段 | 说明 |
|
||
|----------|-----------|------|
|
||
| `settleRelateId` | `relate_id`(当 `relate_type = 5`) | 充值业务单号 |
|
||
| `paymentMethod` | `payment_method` | 共用支付方式枚举 |
|
||
|
||
> 支付记录中 `relate_type = 5` 的记录对应充值类业务,通过 `settleRelateId` 关联。
|
||
|
||
### 与退款流水(`refund_transactions`)
|
||
|
||
当充值被退款时,退款流水中 `relate_type = 5` 的记录通过 `relate_id` 关联到本表的充值业务。本表通过 `refundAmount > 0` 标记已退款,同时生成 `settleType = 7` 的充值撤销记录。
|
||
|
||
### 与其他结算类接口
|
||
|
||
本表复用通用"结算单"模型,字段结构(`goodsMoney`、`tableChargeMoney`、`serviceMoney`、折扣类字段等)与结账记录(`settlement_records`)完全一致。在同一系统中,台费结算、商品销售、助教结算、充值记录是同一张逻辑表的不同类型切片,通过 `settleType` 区分。
|
||
|
||
### 与门店维度
|
||
|
||
`siteId` 与所有业务表一致。`siteProfile` 为冗余快照。
|
||
|
||
<!--
|
||
AI_CHANGELOG:
|
||
- 日期: 2026-02-13
|
||
- Prompt: P20260213-183000 — 使用子代理并行处理剩余 API 文档重构
|
||
- 直接原因: 按标杆文档格式重写高质量 API 参考文档
|
||
- 变更摘要: 新建 docs/api-reference/recharge_settlements.md,按逻辑分组详解所有字段,含跨表关联
|
||
- 风险与验证: 纯文档,无运行时影响;验证方式:对比 endpoints/ 和 samples/ 确认字段覆盖完整
|
||
-->
|