Files
ZQYY.FQ-ETL/docs/api-reference/endpoints/settlement_records.md

23 KiB
Raw Blame History

结账记录GetAllOrderSettleList

自动生成于 2026-02-13 | 数据来源:实时 API

基本信息

属性
接口路径 Site/GetAllOrderSettleList
完整 URL https://pc.ficoo.vip/apiprod/admin/v1/Site/GetAllOrderSettleList
请求方法 POST
Content-Type application/json
鉴权方式 Bearer TokenAuthorization 头)
ODS 对应表 settlement_records
分页方式 page + limit(最大 100
时间范围 需要rangeStartTime / rangeEndTime

请求参数

参数名 类型 示例值 说明
settleType int 0 结算类型0=全部)
rangeStartTime string "2026-02-01 08:00:00" 查询起始时间
rangeEndTime string "2026-02-13 08:00:00" 查询结束时间
siteId int 2790685415443269 门店 ID
siteTableAreaIdList array [] 台桌区域 ID 列表(空=全部)
page int 1 页码(从 1 开始)
limit int 100 每页条数(最大 100

响应字段(共 92 个)

# 字段名 类型 示例值
1 id int 3092711340902597
2 tenantId int 2790683160709957
3 siteId int 2790685415443269
4 siteName string '朗朗桌球'
5 balanceAmount float 4285.55
6 cardAmount float 0.0
7 cashAmount float 0.0
8 couponAmount float 0.0
9 createTime string '2026-02-13 04:48:42'
10 memberId int 2799207522600709
11 memberName string ''
12 tenantMemberCardId int 0
13 memberCardTypeName string ''
14 memberPhone string ''
15 tableId int 2956248279567557
16 consumeMoney float 5567.77
17 onlineAmount float 0.0
18 operatorId int 2790687322443013
19 operatorName string '收银员:郑丽珊'
20 revokeOrderId int 0
21 revokeOrderName string ''
22 revokeTime string '0001-01-01 00:00:00'
23 payAmount float 0.0
24 pointAmount float 0.0
25 refundAmount float 0.0
26 settleName string '发财 发财'
27 settleRelateId int 3092230766020741
28 settleStatus int 2
29 settleType int 1
30 payTime string '2026-02-13 04:49:48'
31 roundingAmount float 0.0
32 paymentMethod int 0
33 adjustAmount float 1282.22
34 assistantCxMoney float 0.0
35 assistantPdMoney float 646.32
36 couponSaleAmount float 0.0
37 plCouponSaleAmount float 0.0
38 merVouSalesAmount float 0.0
39 memberDiscountAmount float 0.0
40 tableChargeMoney float 2564.45
41 goodsMoney float 2357.0
42 realGoodsMoney float 2357.0
43 serviceMoney float 0.0
44 prepayMoney float 0.0
45 salesManName string ''
46 orderRemark string ''
47 salesManUserId int 0
48 canBeRevoked bool False
49 pointDiscountPrice float 0.0
50 pointDiscountCost float 0.0
51 activityDiscount float 0.0
52 serialNumber int 0
53 assistantManualDiscount float 0.0
54 allCouponDiscount float 0.0
55 goodsPromotionMoney float 0.0
56 assistantPromotionMoney float 0.0
57 isUseCoupon bool False
58 isUseDiscount bool False
59 isActivity bool False
60 isBindMember bool False
61 isFirst int 0
62 rechargeCardAmount float 4285.55
63 giftCardAmount int 0
64 electricityMoney float 0.0
65 realElectricityMoney float 0.0
66 electricityAdjustMoney float 0.0
67 siteProfile.id int 0
68 siteProfile.org_id int 0
69 siteProfile.shop_name string ''
70 siteProfile.avatar string ''
71 siteProfile.business_tel string ''
72 siteProfile.full_address string ''
73 siteProfile.address string ''
74 siteProfile.longitude float 0.0
75 siteProfile.latitude float 0.0
76 siteProfile.tenant_site_region_id int 0
77 siteProfile.tenant_id int 0
78 siteProfile.auto_light int 1
79 siteProfile.attendance_distance int 0
80 siteProfile.wifi_name string ''
81 siteProfile.wifi_password string ''
82 siteProfile.customer_service_qrcode string ''
83 siteProfile.customer_service_wechat string ''
84 siteProfile.fixed_pay_qrCode string ''
85 siteProfile.prod_env int 1
86 siteProfile.light_status int 1
87 siteProfile.light_type int 0
88 siteProfile.site_type int 1
89 siteProfile.light_token string ''
90 siteProfile.site_label string ''
91 siteProfile.attendance_enabled int 1
92 siteProfile.shop_status int 1

新增字段(相对本地 JSON 样本)

以下字段在最新 API 响应中出现,但本地 JSON 样本中不存在:

字段名 类型
electricityAdjustMoney float
electricityMoney float
merVouSalesAmount float
plCouponSaleAmount float
realElectricityMoney float

详细字段分析

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

data.total

类型int

含义:本次查询命中的结账记录总数,这里是 4739。

注意:每页只返回最多 100 条记录total 是全量总数。

data.settleList

类型:数组

含义:当前页的结账记录列表。

每个元素结构为:

{ "siteProfile": { ... }, "settleList": { ...结账明细... } }

即“门店快照 + 单条结账记录”组合。

  1. 外层记录结构

每个 data.settleList 元素包含两个字段:

siteProfile

settleList内层真正的结账明细对象

2.1 siteProfile

类型object

本文件中 siteProfile 字段结构与其他 JSON 一致,但内容多为 0 或空字符串:

id门店 ID这里为 0说明该接口没有填充真实门店快照

org_id组织 ID。

shop_name店名这里为空。

avatar门店头像 URL。

business_tel门店电话。

full_address / address门店详细地址 / 简要地址。

longitude / latitude经纬度。

tenant_site_region_id地区编码。

tenant_id租户 ID。

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

site_type门店类型枚举。

site_label门店标签。

attendance_enabled / attendance_distance考勤开关及距离。

customer_service_qrcode / customer_service_wechat客服信息。

fixed_pay_qrCode固定收款码。

prod_env环境标记。

shop_status门店状态。

结构用途: 字段设计上与其它文件相同,用作“门店维度快照”;但当前导出中几乎是空壳,真正的门店信息在结账记录的内层字段 siteId / siteName 以及其他 JSON 的门店档案里。

2.2 settleList内层结算对象

类型object

含义:本次结账的一条汇总记录(整单维度),真正的业务字段都在这个对象里。

下文所有字段说明,都是针对这个内层 settleList。

二、内层结账记录字段逐个说明(共 61 个)

为便于理解,按维度分组说明。

  1. 主键与关联 ID / 桌台信息

id

类型int

示例2957922914357125

含义:结账记录主键 ID订单结算 ID

结构关联:

与台费流水siteTableUseDetailsList中的 order_settle_id 一致。

与小票详情orderSettleId一致。

即:这是全系统统一的“结账单号”。

tenantId

类型int

示例2790683160709957全表固定

含义:租户/商户 ID品牌维度

siteId

类型int

示例2790685415443269朗朗桌球

含义:门店 ID。

关联:

与其他所有 JSON 中的 site_id 对应。

与门店档案中的 id 对应。

siteName

类型string

示例:"朗朗桌球"

含义:门店名称,冗余展示字段。

tableId

类型int

示例2793003705192517

含义:本次结账对应的桌台 ID。

关联:

对应台桌维表或台费流水中的 site_table_id。

用于定位具体是哪张桌。

settleName

类型string

示例:"A区 A17", "A区 A4"

含义:结账对象名称,一般是“区域 + 桌号”的组合。

结构关系:

与台费流水中的 site_table_area_name + ledger_name 一致(如 A区 + A17

便于报表和前端展示。

settleRelateId

类型int

示例2957858167230149

含义关联订单的“交易号”order_trade_no

结构关联:

与台费流水order_trade_no、助教流水order_trade_no中的该字段完全一致。

这一字段将“结账记录”与“各类明细表(台费、助教、商品等)”逻辑上串起来。

serialNumber

类型int

示例0当前样本均为 0

含义(推测):结账序列号 / 打印序号,用于内部排序或冲正追踪。

  1. 时间与状态字段

createTime

类型string时间字符串

格式:"YYYY-MM-DD HH:MM:SS"

示例:"2025-11-09 23:34:49"

含义:结账记录创建时间,一般对应收银端点“确认结账”的时间。

payTime

类型string

示例:"2025-11-09 23:35:57"

含义:实际支付完成时间。通常晚于 createTime比如多支付场景

settleStatus

类型int枚举

当前样本:全部为 2

含义(推测):结账状态枚举。

2 很可能表示“已结算/已完成”。

其它枚举值(未出现在本数据中)可能为“待支付”、“已撤销”等。

settleType

类型int枚举

当前样本值1、3

含义(结构层面):

代表结账类型,比如:

1正常结账

3特殊类型例如挂账、补单、某类调整单

具体含义依赖系统配置,但可以确定这是“结账类型”的枚举字段。

canBeRevoked

类型bool

当前样本:全部为 False

含义:是否允许被撤销/冲正。

True当前结账记录仍可做撤销或冲正操作

False不能再撤销例如已过撤销时限、已经被冲正

revokeOrderId

类型int

当前样本:全为 0

含义:若当前记录是“被撤销的单”,则记录对应的“撤销单 ID”或反过来记录“原单 ID”。

结构上:作为撤销关系的外键使用,目前样本中未出现实际撤销记录。

revokeOrderName

类型string

当前样本:全为空字符串

含义:撤销单名称/标识,用于辅助说明撤销关系。

revokeTime

类型string时间

当前样本:全为 "0001-01-01 00:00:00"(无效时间)

含义:撤销时间。当记录发生撤销时将写入真实时间,当前数据尚未出现此场景。

  1. 会员维度字段

memberId

类型int

示例0 或 2799207363643141 等

含义:会员主键 ID。

结构关联:

与“会员卡列表tenantMemberCards”中的 tenant_member_id 一致。

即:这是“租户维度的会员卡 ID”。

memberName

类型string

当前样本:均为空字符串

含义:会员姓名快照。

说明:当前导出中未填充,但结构上就是成员名称。

memberPhone

类型string

当前样本:均为空

含义:会员手机号快照。

tenantMemberCardId

类型int

当前样本:均为 0

含义(推测):会员卡账户 ID与 memberId、会员卡表的 id 之间存在映射)。

当前导出未实际使用,但结构上预留了“结账记录 → 会员卡账户表”的外键。

memberCardTypeName

类型string

当前样本:空

含义:会员卡类型名称,如“储值卡”“次卡”“活动抵用券”等。

对应会员卡表中的 member_card_type_name 字段。

isBindMember

类型bool

当前样本:全部为 False

含义:本次结账是否绑定了会员。

True本单关联会员即 memberId > 0

False散客。

isFirst

类型int0/1 枚举的可能性较大)

当前样本:全部为 0

含义(推测):是否首单(新客首单)。

0

1是。 当前导出中未出现首单记录,值全部为 0。

memberDiscountAmount

类型float

当前样本:全部为 0.0

含义:会员折扣产生的优惠金额(元)。

虽然值全为 0但结构上这是“会员折扣”维度的金额字段后续可与其他优惠字段一起分层统计。

  1. 消费构成(台费/商品/助教/服务)

这些字段是在“消费侧”拆解每一笔结账的构成(不涉及付款方式)。

consumeMoney

类型float

示例58.0, 96.0, 362.82 等

含义:本次结账消费总额(不考虑支付方式/优惠结构的前后顺序,单纯汇总项目金额)。

结构关系(从金额结构角度):

近似可表示为: consumeMoney ≈ tableChargeMoney + goodsMoney + assistantPdMoney + assistantCxMoney + serviceMoney ± 各类调价/抹零 这里不展开计算,只指出这是综合金额。

tableChargeMoney

类型float

示例48.0, 96.0, 85.72 等

含义:台费(桌台计费部分)的金额。

goodsMoney

类型float

示例10.0, 0.0, 8.0 等

含义:商品销售金额(原始商品金额)。

realGoodsMoney

类型float

示例10.0, 0.0, 6.0 等

含义:商品实际计入金额(可能已扣除某些折扣、促销)。

结构上realGoodsMoney 通常是 goodsMoney 调整后的结果。

assistantPdMoney

类型float

示例0.0, 206.67, 194.99 等

含义:助教“排钟/上课”应计金额(原价)。

结构关联:

与 助教流水.json 中对应订单的 ledger_amount 一致(应收金额)。

与该订单下所有助教明细合计后对齐。

assistantCxMoney

类型float

示例0.0, 1330.0, 2280.0

含义(推测):助教“次课/套餐/持续课”等另一类助教项目的金额。

从结构看,这是对助教收入的另一种拆分维度,和 assistantPdMoney 一起将助教项目区分为不同类型。

serviceMoney

类型float

示例:当前样本全为 0.0

含义:服务费/其他服务类收费金额,结构上单独列出一个维度,便于区分台费、商品、助教之外的服务收入。

  1. 支付与资金构成(按渠道拆分)

这些字段描述“钱从哪来/怎么付”的分配,不是消费项目构成。

payAmount

类型float

示例10.0, 58.0, 0.0 等

含义:本次结账“实付金额”(顾客实际支付的总金额),不包括券面值、积分等非现金部分。

cashAmount

类型float

示例0.0, 8.0 等

含义:现金支付部分金额。

cardAmount

类型float

示例0.0, 8.0, 14.0 等(样本中主要为 0

含义(推测):非储值卡类的刷卡金额(例如信用卡/银行卡)。也可能是“会员卡支付”的一种编码方式,视系统定义而定。

balanceAmount

类型float

示例0.0, 120.0, 144.0 等

含义:从会员余额账户扣除的金额(储值卡余额消费)。

onlineAmount

类型float

示例0.0, 8.0, 352.0 等

含义:线上支付金额汇总(微信/支付宝/云闪付等通道的总和),具体通道细分不在本表中体现。

rechargeCardAmount

类型float / int大部分 0少数为 float

示例0, 120.0, 114.61, 1194.0

含义(推测):与“充值卡”相关的支付额,可能表示本次使用充值卡抵扣的金额。

giftCardAmount

类型float / int

示例0, 41.0, 18.0, 500.0, 100.0

含义:礼品卡/代金卡的支付金额。

refundAmount

类型float

示例:目前样本中多为 0.0

含义:本次结账中涉及的退款金额(如果是退款单或部分退单,则为正数)。

prepayMoney

类型float

示例0.0

含义:预付金(定金)部分金额。用于记录提前预付在本单中使用的金额。

  1. 优惠 / 折扣 / 活动等金额字段

couponAmount

类型float

示例48.0, 96.0, 0.0 等

含义:本单实际由优惠券(代金券/团购券等)抵扣的金额。

couponSaleAmount

类型float

示例:当前样本为 0.0

含义(推测):优惠券本身的售卖金额/成本金额(比如顾客为购券支付的金额)。

allCouponDiscount

类型float

示例0.0

含义:归集所有券类优惠折扣的金额,作为汇总字段,便于统计“总券优惠”。

goodsPromotionMoney

类型float

示例:当前样本为 0.0

含义:商品促销产生的优惠金额(如买赠、满减分摊到商品部分)。

assistantPromotionMoney

类型float

示例0.0

含义:助教项目参与活动或促销产生的优惠金额。

activityDiscount

类型float

示例0.0

含义:活动折扣金额(如整单打折、满减等归集)。

memberDiscountAmount

前文已提(会员维度),本质也是优惠金额字段,只是专属于会员折扣。

roundingAmount

类型float

示例0.0, 0.33, 0.01 等

含义:抹零金额/舍入差值。如四舍五入或按角、分抹零产生的调整。

adjustAmount

类型float

示例0.0, 148.15, 120.0, 38.34, 18.0 等

含义:人工调价金额(总和),包括整单减免、特殊调整等。

在某些记录中,该值较大,说明存在明显的人工改价行为,但这里不做业务解释,仅说明字段角色是“可调整浮动金额”。

assistantManualDiscount

类型float

示例:当前样本为 0.0

含义:专门针对助教服务进行的人工减免金额(区别于普通商品/台费的折扣)。

  1. 积分相关字段

pointAmount

类型float

示例10.0, 215.0 等

含义(结构层面):

代表与积分相关的一个金额或数量指标。结合字段命名,可能有两种用途:

本单“获得的积分数量”;

本单“用积分抵扣了多少金额”。

具体业务含义需要结合系统配置,不在本次结构分析范围内。

pointDiscountPrice

类型float

示例:当前样本为 0.0

含义:积分抵扣对应的金额(售价侧)。

pointDiscountCost

类型float

示例0.0

含义:积分抵扣对应的成本金额(成本侧)。

  1. 布尔标志位(优惠/活动使用情况)

isUseCoupon

类型bool

当前样本:全部 False

含义:本次结账是否使用了优惠券。

True使用

False未使用。

isUseDiscount

类型bool

当前样本False

含义:是否使用了折扣(比如会员折扣、整单打折等)。

isActivity

类型bool

当前样本False

含义:是否参与了营销活动(活动价、满减活动等)。

  1. 员工 / 操作相关字段

operatorId

类型int

示例2790687322443013

含义:结账操作员的用户 ID。

关联:可与员工/账号表中的 id 对应。

operatorName

类型string

示例:"收银员:郑丽珊"

含义:结账操作员名称,包含角色前缀(如“收银员:”)。

salesManName

类型string

当前样本:为空字符串

含义:营业员/业务员名称(用于提成或业绩归属)。

说明:样本中未单独设置营业员,字段留空。

salesManUserId

类型int

当前样本0

含义:营业员对应的用户 ID。

orderRemark

类型string

当前样本:为空字符串

含义订单备注由收银员手工输入记录特殊说明例如“客人反映XX”、“活动赠送”等

三、字段级结构关系与重要线索(只谈结构,不做业务结论)

从字段结构和跨表关系来看,结账记录.json 在整个系统中的定位非常清晰,主要有以下关键点:

  1. 结账记录是多张明细表的“汇总头”

关键外键映射关系已经非常明确:

结账.id = 台费流水的 order_settle_id = 助教流水的 order_settle_id = 小票详情的 orderSettleId → 结账记录是这些明细表的“结算头表”。

结账.settleRelateId = 台费流水 / 助教流水 / 其他订单明细中的 order_trade_no → 表示的是同一笔“交易号”,可跨不同业务明细汇总。

结论(结构层面): 结账记录.json 是所有消费行为(台费、助教、商品、服务)在“订单维度”上的整合节点。

  1. 桌台维度的绑定

tableId ↔ 台费流水的 site_table_id ↔ 台桌列表的 id

settleName 与台费流水中的 site_table_area_name + ledger_name 一致。 结构上表明:“结账”是针对于具体某张桌和某个区域的。

  1. 与助教流水的金额映射

对于含助教的结账记录:

assistantPdMoney = 对应订单下助教流水的 ledger_amount 汇总(原价侧金额)。

助教流水中的 projected_income 则是助教部分在核算侧的实际计入金额。 在本表中不出现 projected_income而是用一系列折扣、调价、券金额等字段从其他角度拆分。

结构层面: 本表承担“按项目类型(台费/商品/助教/服务)+ 按优惠来源(券、活动、会员、抹零、调价…)”两个维度的汇总拆分。

  1. 与会员卡 / 积分体系的连接点

memberId ↔ 会员卡 JSON (tenantMemberCards) 中的 tenant_member_id。

多个金额字段专门为会员卡和积分预留:

balanceAmount、rechargeCardAmount、giftCardAmount → 不同卡/余额类型的资金来源。

memberDiscountAmount、pointAmount、pointDiscountPrice、pointDiscountCost → 会员折扣与积分收益/抵扣的金额维度。

结构上,这说明:

结账记录不仅仅是“收了多少钱”,而是同时承载了“会员体系如何参与本单”的信息,且与会员卡与积分的专门表有外键可以联动。

  1. 小票详情与结账记录的一对一关系

在“小票详情.json”你那边是 orderSettleId + data 那个文件)中:

orderSettleId 与本表的 id 完全一致。

小票详情中也存在大量与本表同名字段couponAmount、giftCardAmount、adjustAmount 等)。

结构层面:

结账记录.json 是一个“汇总视图”,字段较为精简。

“小票详情.json” 是更细粒度的结构(包含 orderItem 列表、配送信息、会员详情等)。

这意味着如果你要做字段级的数据模型,通常会把结账记录作为 fact 表的一部分,小票详情作为明细扩展。

  1. 优惠维度设计的全面性

从字段命名可以看出系统在优惠维度上做了非常细的拆分:

按来源:会员折扣、活动折扣、商品促销、助教促销、券优惠、积分优惠、人工调价、抹零。

每一个维度都对应独立的金额字段(多为 float并非简单的“总折扣”。

从纯结构角度,这个设计为后续做“多维折扣分析 / 审计 / 对账”提供了足够信息,但同时也增加了建模复杂度,需要在模型中清晰标注每个字段代表“折扣来源”还是“支付渠道”。