# 结账记录(GetAllOrderSettleList) > 自动生成于 2026-02-13 | 数据来源:实时 API ## 基本信息 | 属性 | 值 | |------|-----| | 接口路径 | `Site/GetAllOrderSettleList` | | 完整 URL | `https://pc.ficoo.vip/apiprod/admin/v1/Site/GetAllOrderSettleList` | | 请求方法 | `POST` | | Content-Type | `application/json` | | 鉴权方式 | Bearer Token(`Authorization` 头) | | 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": { ...结账明细... } } 即“门店快照 + 单条结账记录”组合。 2. 外层记录结构 每个 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) 含义(推测):结账序列号 / 打印序号,用于内部排序或冲正追踪。 2. 时间与状态字段 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"(无效时间) 含义:撤销时间。当记录发生撤销时将写入真实时间,当前数据尚未出现此场景。 3. 会员维度字段 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 类型:int(0/1 枚举的可能性较大) 当前样本:全部为 0 含义(推测):是否首单(新客首单)。 0:否; 1:是。 当前导出中未出现首单记录,值全部为 0。 memberDiscountAmount 类型:float 当前样本:全部为 0.0 含义:会员折扣产生的优惠金额(元)。 虽然值全为 0,但结构上这是“会员折扣”维度的金额字段,后续可与其他优惠字段一起分层统计。 4. 消费构成(台费/商品/助教/服务) 这些字段是在“消费侧”拆解每一笔结账的构成(不涉及付款方式)。 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 含义:服务费/其他服务类收费金额,结构上单独列出一个维度,便于区分台费、商品、助教之外的服务收入。 5. 支付与资金构成(按渠道拆分) 这些字段描述“钱从哪来/怎么付”的分配,不是消费项目构成。 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 含义:预付金(定金)部分金额。用于记录提前预付在本单中使用的金额。 6. 优惠 / 折扣 / 活动等金额字段 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 含义:专门针对助教服务进行的人工减免金额(区别于普通商品/台费的折扣)。 7. 积分相关字段 pointAmount 类型:float 示例:10.0, 215.0 等 含义(结构层面): 代表与积分相关的一个金额或数量指标。结合字段命名,可能有两种用途: 本单“获得的积分数量”; 本单“用积分抵扣了多少金额”。 具体业务含义需要结合系统配置,不在本次结构分析范围内。 pointDiscountPrice 类型:float 示例:当前样本为 0.0 含义:积分抵扣对应的金额(售价侧)。 pointDiscountCost 类型:float 示例:0.0 含义:积分抵扣对应的成本金额(成本侧)。 8. 布尔标志位(优惠/活动使用情况) isUseCoupon 类型:bool 当前样本:全部 False 含义:本次结账是否使用了优惠券。 True:使用; False:未使用。 isUseDiscount 类型:bool 当前样本:False 含义:是否使用了折扣(比如会员折扣、整单打折等)。 isActivity 类型:bool 当前样本:False 含义:是否参与了营销活动(活动价、满减活动等)。 9. 员工 / 操作相关字段 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 是所有消费行为(台费、助教、商品、服务)在“订单维度”上的整合节点。 2. 桌台维度的绑定 tableId ↔ 台费流水的 site_table_id ↔ 台桌列表的 id settleName 与台费流水中的 site_table_area_name + ledger_name 一致。 结构上表明:“结账”是针对于具体某张桌和某个区域的。 3. 与助教流水的金额映射 对于含助教的结账记录: assistantPdMoney = 对应订单下助教流水的 ledger_amount 汇总(原价侧金额)。 助教流水中的 projected_income 则是助教部分在核算侧的实际计入金额。 在本表中不出现 projected_income,而是用一系列折扣、调价、券金额等字段从其他角度拆分。 结构层面: 本表承担“按项目类型(台费/商品/助教/服务)+ 按优惠来源(券、活动、会员、抹零、调价…)”两个维度的汇总拆分。 4. 与会员卡 / 积分体系的连接点 memberId ↔ 会员卡 JSON (tenantMemberCards) 中的 tenant_member_id。 多个金额字段专门为会员卡和积分预留: balanceAmount、rechargeCardAmount、giftCardAmount → 不同卡/余额类型的资金来源。 memberDiscountAmount、pointAmount、pointDiscountPrice、pointDiscountCost → 会员折扣与积分收益/抵扣的金额维度。 结构上,这说明: 结账记录不仅仅是“收了多少钱”,而是同时承载了“会员体系如何参与本单”的信息,且与会员卡与积分的专门表有外键可以联动。 5. 小票详情与结账记录的一对一关系 在“小票详情.json”(你那边是 orderSettleId + data 那个文件)中: orderSettleId 与本表的 id 完全一致。 小票详情中也存在大量与本表同名字段(couponAmount、giftCardAmount、adjustAmount 等)。 结构层面: 结账记录.json 是一个“汇总视图”,字段较为精简。 “小票详情.json” 是更细粒度的结构(包含 orderItem 列表、配送信息、会员详情等)。 这意味着如果你要做字段级的数据模型,通常会把结账记录作为 fact 表的一部分,小票详情作为明细扩展。 6. 优惠维度设计的全面性 从字段命名可以看出系统在优惠维度上做了非常细的拆分: 按来源:会员折扣、活动折扣、商品促销、助教促销、券优惠、积分优惠、人工调价、抹零。 每一个维度都对应独立的金额字段(多为 float),并非简单的“总折扣”。 从纯结构角度,这个设计为后续做“多维折扣分析 / 审计 / 对账”提供了足够信息,但同时也增加了建模复杂度,需要在模型中清晰标注每个字段代表“折扣来源”还是“支付渠道”。