充值赠送账户 MVP 需求评审材料

版本 V1.2 · 评审稿 · 生成日期 2026-07-20 · 智慧餐厅 / 智慧营养健康餐厅

已提交云效 VWCG-1121原型外网可访问PRD V1.2

评审摘要

本次需求新增赠送账户,并把现金充值赠送、消费扣款顺序、赠送支付展示、提现隔离、退款回退、余额流水展示贯通到 PC、小程序和消费机端。

新增账户赠送账户
充值字段实付 / 赠送 / 到账
消费顺序可配置
提现规则赠送不可提现

需评审确认

账户资金口径
活动充值本金是否确定不可提现,可消费但不能提现。
消费顺序默认值
默认是否锁定为餐补账户 -> 赠送账户 -> 个人账户。
充值规则 MVP
本期是否只做满额固定赠送,不做比例、部门、人群、有效期。
退款拆分
赠送支付退款是否必须回赠送账户,不能转现金或个人可提现。
字段兼容
后端需确认 actual_money 等历史字段是否已被占用,避免实付和到账混用。
消费机端范围
如机端不支持余额展示,是否至少展示本次实际赠送支付。

资料链接

资料位置状态
云效需求VWCG-1121已创建,指派赖清涛
外网全页面原型https://recharge-gift-account-mvp.lanting611.chatgpt.site/prototype-all-pages.htmlGET 200,已写入云效正文
本地点击原型prototype.html已生成
完整 PRDPRD-final.mdV1.2

评审前自查结果

通过 云效正文包含 PRD V1.2 与外网原型链接。
通过 原型外网直接页返回 200,内容包含关键页面。
通过 PRD 覆盖 PC、小程序、消费机端、充值、消费、退款、提现、流水、订单。
通过 防套利路径已明确:赠送账户和活动充值本金均不可提现。
待确认 旧字段 actual_money 语义、退款拆分数据、消费机端展示能力。
待确认 充值补贴统计是否需要承担财务报表口径。

充值赠送账户 MVP PRD

版本:V1.2 日期:2026-07-16 产品线:智慧餐厅 / 智慧营养健康餐厅 涉及端:PC 后台、微信小程序、消费机端 状态:评审稿

0. 文档说明

0.1 一句话概述

本需求在现有个人账户、餐补账户基础上,新增“赠送账户”,支持现金充值按规则赠送金额,并在充值、消费、订单、余额、流水、提现等资金链路中完整区分实付金额、赠送金额、到账金额和赠送支付金额。

0.2 最新变更

版本日期变更
V1.22026-07-16明确 PC 端和小程序端充值固定展示“赠送金额”,未命中规则显示 0.00;消费顺序设置按 PC 后台表单交互交付,使用第一/第二/第三顺位下拉框、当前预览、保存校验、恢复默认、操作日志
V1.12026-07-16补充账户设置模块、充值订单字段、手机端余额流水、PC 人员余额、消费机端支付展示、赠送余额默认永久有效

0.3 交付物

类型文件
完整 PRDzhctprompt/modules/product/products/smart-canteen/requirements/2026-07-13-recharge-gift-account-mvp/PRD-final.md
点击原型zhctprompt/modules/product/products/smart-canteen/requirements/2026-07-13-recharge-gift-account-mvp/prototype.html
全页面原型zhctprompt/modules/product/products/smart-canteen/requirements/2026-07-13-recharge-gift-account-mvp/prototype-all-pages.html

1. 背景

当前系统已有个人账户和餐补账户,支持现金充值、消费、订单查询、退款、提现等资金链路。现在需要在当前系统及功能下增加“现金充值赠送金额”能力:用户现金充值时可按后台规则获得赠送金额,赠送金额进入独立赠送账户,可用于消费,但不能提现。

本需求按新增 MVP 处理。当前系统没有正式上线的赠送规则、赠送账户和赠送消费字段;如本地分支存在相关开发痕迹,仅作为页面承载和代码位置参考,不作为已具备能力判断。

本版核心模块架构:

层级模块说明
账户管理补贴管理保持现有补贴账户能力
账户管理现金管理负责现金充值、现金退款、充值订单等业务执行
账户管理账户设置新增模块,与补贴管理、现金管理并列
账户设置现金充值设置配置现金充值赠送规则和充值金额字段口径
账户设置消费顺序设置配置餐补账户、赠送账户、个人账户扣款顺序

2. 目标

  1. 在账户管理下新增“账户设置”,包含现金充值设置和消费顺序设置。
  2. 支持配置现金充值赠送规则,MVP 只做满额固定赠送。
  3. 充值时清楚区分实付金额、赠送金额、到账金额。
  4. 新增赠送账户,与个人账户、餐补账户并列。
  5. 消费时支持按后台配置的账户支付顺序扣款。
  6. 所有相关消费订单、支付过程、支付成功页展示赠送支付金额。
  7. 充值订单、充值记录、充值统计、导出中区分实付金额、赠送金额、到账金额。
  8. 赠送金额不能提现,且防止“充值拿赠送后立即提现本金,只消费赠送金额”的套利。
  9. 手机端余额、账户流水、PC 人员余额等所有余额入口补充赠送余额信息。

3. 范围

3.1 本期做

优先级能力范围
P0账户设置模块账户管理下新增账户设置,与补贴管理、现金管理并列
P0现金充值设置满额固定赠送规则,支持启用/停用
P0消费顺序设置餐补账户、赠送账户、个人账户支持后台排序
P0充值三金额PC 和小程序展示实付金额、赠送金额、到账金额
P0充值订单三金额充值订单列表、详情、导出、统计必须区分实付、赠送、到账
P0赠送账户新增赠送账户,可消费,不可提现
P0活动充值本金命中赠送的充值本金可消费,不可提现
P0消费扣款按配置顺序扣款并记录现金/餐补/赠送拆分
P0支付过程展示手机点餐、扫码/机端消费、消费机端支付过程展示赠送支付
P0支付成功展示手机点餐、扫码/机端消费、消费机端支付成功页展示赠送支付
P0手机端余额/流水余额页和账户流水展示赠送余额、赠送入账、赠送消费、赠送退款
P0PC 人员余额展示人员列表、人员详情、人员编辑只读信息、组织人员列表展示赠送余额
P0提现隔离可提现金额排除餐补、赠送、活动充值本金
P1订单展示PC 和小程序订单展示赠送支付
P1导出统计消费订单导出和统计增加赠送支付
P1退款按原支付来源退款,赠送支付退回赠送账户

3.2 本期不做

  • 不做比例赠送,只做固定金额赠送。
  • 不做优惠券、积分、会员等级。
  • 不做赠送金额有效期、过期清零。
  • 不做按人员、部门、餐厅、档口配置赠送规则。
  • 不做按人员、部门、餐厅、餐次差异化支付顺序。
  • 不开放赠送账户手动转入个人账户。
  • 不开放人工直接编辑赠送余额。

4. 用户与场景

角色场景成功标准
后台管理员配置账户设置可在账户设置中维护现金充值设置和消费顺序设置
后台管理员配置充值赠送规则可设置满额金额、赠送金额、适用端、支付方式、状态
后台管理员给人员现金充值能看到实付、赠送、到账,并完成入账
后台管理员设置支付顺序可调整餐补、赠送、个人账户扣款顺序
用户小程序充值支付前知道实付金额、赠送金额和到账金额
用户查看余额能区分个人、餐补、赠送账户
用户消费系统按配置顺序自动扣款,并展示赠送支付
用户提现只能提现普通可提现本金
财务/运营查订单和导出能区分现金支付、餐补支付、赠送支付
运营/客服查人员资产能在人员列表和人员详情中看到个人、餐补、赠送余额

5. 核心口径

5.1 账户口径

账户来源可消费可提现
个人账户普通充值本金、活动充值本金、退款回退等部分可提现
餐补账户单位补贴
赠送账户充值活动赠送金额

赠送账户有效期规则:

  • 本期赠送余额不设置有效期。
  • 赠送余额默认永久有效。
  • 本期不做过期提醒、过期冻结、过期清零。
  • 后续如要增加有效期,需作为独立需求重新设计规则、提示、流水和清零审计。

个人账户需要进一步区分:

个人账户资金类型来源可消费可提现
普通可提现本金未命中赠送规则的充值本金按现有规则可提现
活动充值本金命中赠送规则的充值实付本金

5.2 充值金额口径

字段公式说明
实付金额用户实际支付金额第三方支付/现金收款金额,财务实收口径
赠送金额按现金充值设置规则计算进入赠送账户,不可提现
到账金额实付金额 + 赠送金额用户看到的到账总额

示例:充值 100,命中满 100 送 20。

结果
实付金额100
赠送金额20
到账金额120
个人账户增加100
赠送账户增加20
活动充值本金增加100
可提现金额增加0

5.3 防套利口径

问题路径:

充值拿赠送 -> 立即提现本金 -> 只消费赠送余额 -> 再充值再提现

控制规则:

规则说明
命中赠送的实付本金标记为活动充值本金可消费,不可提现
可提现金额不等于个人账户余额必须按资金类型计算
赠送账户不可提现不能转个人账户,不能现金退款
赠送支付退款回赠送账户不能进入个人账户或现金退款
现金退款/余额退还只退普通可提现本金不退赠送账户和活动充值本金

计算口径:

可提现金额 = 普通可提现本金 - 已提现/已退金额
不可提现金额 = 餐补账户 + 赠送账户 + 活动充值本金

6. 业务规则

6.1 现金充值设置规则

现金充值设置位于:

账户管理 / 账户设置 / 现金充值设置

配置字段:

字段必填说明
规则名称如“满100送20”
适用端PC、小程序、全部
支付方式现金、微信、支付宝、全部
满额金额实付金额达到该金额才赠送
赠送金额固定赠送金额
状态启用、停用

匹配规则:

  1. 仅启用规则参与匹配。
  2. 实付金额大于等于满额金额。
  3. 适用端匹配当前充值来源。
  4. 支付方式匹配当前支付方式。
  5. 多条命中时,优先取满额金额最高;满额相同取赠送金额最高;仍相同取最新创建规则。
  6. 未命中规则时赠送金额为 0,到账金额等于实付金额。

6.2 消费顺序设置

消费顺序设置位于:

账户管理 / 账户设置 / 消费顺序设置

可配置账户:

  • 餐补账户
  • 赠送账户
  • 个人账户

默认顺序建议:

餐补账户 -> 赠送账户 -> 个人账户

配置规则:

规则说明
三个账户必须全部出现不允许缺失
三个账户不可重复不允许两个顺位选同一账户
配置只影响新订单历史订单不重算
保存需记录操作日志记录操作人、操作前顺序、操作后顺序、时间

保存确认文案:

调整账户支付顺序后,仅影响新订单,历史订单不重算。确认保存?

6.3 消费扣款规则

消费支付时,后端按当前有效消费顺序设置依次扣款。

订单必须记录:

  • 现金支付金额
  • 餐补支付金额
  • 赠送支付金额
  • 使用的扣款顺序版本或快照

示例:订单金额 28,支付顺序为餐补 -> 赠送 -> 个人。

账户支付前余额扣款
餐补账户2020
赠送账户508
个人账户1000

订单记录:

实付金额 28,现金支付 0,餐补支付 20,赠送支付 8

6.4 退款规则

退款按原支付来源回退:

原支付来源退款去向
现金/个人账户支付回退个人账户,是否可提现按资金类型判断
餐补支付回退餐补账户
赠送支付回退赠送账户

退款页面和订单详情需展示:

  • 现金退款金额
  • 餐补退款金额
  • 赠送退款金额

赠送支付退款不能进入个人账户,也不能转为现金退款。

7. 信息架构与页面需求

7.1 PC:账户设置

7.1.1 入口

新增入口:

账户管理 / 账户设置

与以下模块并列:

  • 补贴管理
  • 现金管理
  • 账户设置

账户设置下包含:

  1. 现金充值设置
  2. 消费顺序设置

7.1.2 现金充值设置

用途:

  • 维护现金充值赠送规则。
  • 固定充值金额字段口径:实付金额、赠送金额、到账金额。
  • PC 端和小程序端充值时字段名固定为“赠送金额”,不因未命中规则而隐藏或改名;未命中规则时显示 赠送金额 0.00
  • 供 PC 现金充值和小程序充值读取,不直接完成充值入账。

列表字段:

字段说明
规则名称如满100送20
适用端PC、小程序、全部
支付方式现金、微信、支付宝、全部
满额金额命中阈值
赠送金额命中后赠送金额
字段口径固定展示实付/赠送/到账
状态启用、停用
更新时间最后修改时间
操作新增、编辑、启用、停用、删除

表单字段:

字段类型规则
规则名称文本必填
适用端下拉/多选PC、小程序、全部
支付方式下拉/多选现金、微信、支付宝、全部
满额金额数字大于 0,保留 2 位
赠送金额数字大于等于 0,保留 2 位
状态开关启用、停用

7.1.3 消费顺序设置

配置字段:

字段选项校验
第一扣款账户餐补账户、赠送账户、个人账户三选一
第二扣款账户餐补账户、赠送账户、个人账户不能重复
第三扣款账户餐补账户、赠送账户、个人账户三个账户必须全部出现

展示建议:

  • 采用 PC 后台常规表单交互,不采用拖拽或卡片式排序。
  • 表单包含“第一顺位、第二顺位、第三顺位”三个下拉框。
  • 每个下拉框选项均为餐补账户、赠送账户、个人账户。
  • 默认展示当前生效顺序。
  • 下拉变更后实时刷新“当前预览”,如餐补账户 -> 赠送账户 -> 个人账户
  • 页面展示“仅影响新订单”的说明。
  • 保存后写入操作日志。

页面交付要求:

  • 消费顺序设置必须作为独立页面交付,路径为账户管理 / 账户设置 / 消费顺序设置
  • 页面包含当前启用顺序、三顺位下拉配置区、当前预览、保存校验区、保存确认提示、恢复默认、操作日志。
  • 保存校验必须提示三个账户全部参与、账户不可重复、生效范围为新订单。
  • 如果三个下拉框存在重复账户,保存按钮不可用,并提示“三个顺位必须选择不同账户,且餐补账户、赠送账户、个人账户必须全部出现”。
  • 顶部快捷“保存消费顺序”和页面内“保存”必须走同一套校验逻辑,不能绕过校验。
  • “恢复默认”点击后恢复为餐补账户 -> 赠送账户 -> 个人账户
  • 操作日志记录操作时间、操作人、调整前顺序、调整后顺序、影响范围。

7.2 PC:现金管理 / 现金充值

本地落点:

  • 路由:/accountManagement/cashManagement/rechargeList
  • 页面:zhctproject/store/public/static/src/view/accountManagement/cashManagement/rechargeList.vue
  • 组件:zhctproject/store/public/static/src/components/rechargeTable.vue

职责:

  • 执行现金充值。
  • 按账户设置中的现金充值设置匹配赠送规则。
  • 展示并保存实付金额、赠送金额、到账金额。
  • 不承载配置入口。

新增充值弹窗字段:

字段类型规则
充值部门级联多选沿用现有部门选择
充值人员多选沿用现有人员选择
充值金额/实付金额数字输入大于 0,保留 2 位
充值类型单选现金、线下支付宝、线下微信
赠送金额只读根据现金充值设置自动计算
实际到账/到账金额只读实付 + 赠送
备注文本域可选

交互:

  • 输入实付金额或切换支付方式后,实时刷新赠送金额和到账金额。
  • 始终显示字段名“赠送金额”;赠送金额为 0 时显示赠送金额 0.00,并提示“未命中赠送规则”。
  • 命中规则时显示规则名称,如“满100送20”。

充值订单列表新增/调整字段:

字段说明
充值单编号充值订单唯一编号
姓名充值人员
所在部门当前部门
充值类型现金、线下微信、线下支付宝等
充值前金额充值前个人账户余额
实付金额用户实际支付金额,财务实收口径
赠送金额本次充值按规则赠送的金额,进入赠送账户
到账金额实付金额 + 赠送金额
活动充值本金命中赠送规则时等于实付金额,不进入可提现金额
可提现本金未命中赠送规则且符合提现规则的本金
充值后金额充值后个人账户余额;如展示总余额需另列“总余额”
备注充值备注和命中规则说明
操作人后台操作人
操作时间充值完成时间

充值订单详情必须展示:

  • 实付金额
  • 赠送金额
  • 到账金额
  • 活动充值本金
  • 命中赠送规则名称
  • 是否进入可提现金额

充值订单导出必须包含:

充值单编号 / 姓名 / 部门 / 充值类型 / 实付金额 / 赠送金额 / 到账金额 / 活动充值本金 / 可提现本金 / 操作人 / 操作时间

充值统计需区分:

  • 实收金额合计 = 实付金额合计
  • 赠送金额合计
  • 到账金额合计 = 实付金额合计 + 赠送金额合计
  • 活动充值本金合计

7.3 PC:消费订单

本地落点:

  • 页面:zhctproject/store/public/static/src/view/order/consume/index.vue
  • 表格:zhctproject/store/public/static/src/view/order/customTable.vue

金额列顺序:

订单金额 / 优惠金额 / 服务金额 / 实付金额 / 现金支付 / 餐补支付 / 赠送支付 / 退款金额

新增要求:

  • 列表增加“赠送支付”。
  • 统计卡增加“赠送支付合计”。
  • 导出增加“赠送支付”。
  • 订单详情增加“赠送支付”。
  • 退款相关页面增加“赠送退款”。
  • 老订单赠送支付默认 0.00。

7.4 PC:人员管理资产展示

本地落点:

  • 人员列表:zhctproject/store/public/static/src/view/staff/staffList.vue
  • 人员详情:zhctproject/store/public/static/src/view/staff/lookStaff.vue
  • 人员编辑:zhctproject/store/public/static/src/view/staff/editStaff.vue
  • 组织人员列表:zhctproject/store/public/static/src/view/integratedManagement/organization.vue

当前系统已有余额相关展示:

页面当前余额字段本次新增
人员列表当前余额、累计余额赠送余额;建议将“当前余额”明确为“个人余额”或“现金余额”
人员详情余额、累计消费赠送余额、餐补余额、可提现金额说明
人员编辑余额、累计消费可补充只读赠送余额;赠送余额不能手工编辑
组织人员列表现金余额、补贴余额赠送余额

列表列建议:

现金余额 / 补贴余额 / 赠送余额 / 可提现金额

若人员列表当前只有“当前余额”,则本期最小改动为:

  • “当前余额”改名为“个人余额”或“现金余额”。
  • 旁边新增“赠送余额”列。
  • 如接口可返回餐补余额,则同步展示“餐补余额”;否则标记为接口补充项。
  • 导出人员列表时同步增加“赠送余额”列,避免页面和导出口径不一致。
  • 人员编辑页如展示赠送余额,必须为只读;赠送余额只能通过充值赠送、消费、退款等账户流水变动。

人员资产页文案:

赠送余额为充值活动赠送金额,可消费,不可提现。

7.5 小程序:我的余额

本地落点:zhctproject/ai_app/settlement/payment/balance.vue

展示:

  • 个人账户余额
  • 餐补账户余额
  • 赠送账户余额
  • 可提现金额入口说明

推荐展示结构:

区域展示内容目的
顶部钱包区三个账户余额并列:个人、餐补、赠送让用户理解余额由三类账户组成
账户说明赠送账户:充值赠送,可消费,不可提现避免把赠送余额误认为可提现余额
可提现提示可提现金额仅包含普通可提现本金避免总余额和可提现金额混淆
入口账户流水、去充值、提现用户可追溯每笔赠送变动

文案:

赠送账户余额可消费,不可提现。

小程序钱包首页 zhctproject/ai_app/pages/wallet/index.vue 当前只展示“账户余额(元)”,需同步改为三账户展示,或入口跳转至统一“我的余额”页,避免两个余额入口口径不一致。

7.6 小程序:账户流水

本地落点:

  • 余额流水:zhctproject/ai_app/pages/wallet/balance/log.vue
  • 充值记录:zhctproject/ai_app/pages/wallet/recharge/order.vue

账户流水必须增加赠送相关信息。

流水列表字段:

字段说明
流水类型充值赠送、赠送消费、赠送退款、普通充值、餐补发放等
账户类型个人账户、餐补账户、赠送账户
变动金额收入展示 +金额,支出展示 -金额
变动后余额当前账户变动后的余额
来源单号充值单号、消费订单号、退款单号
时间流水创建时间

赠送流水展示规则:

场景流水文案账户类型金额
充值命中赠送充值赠送入账赠送账户+赠送金额
消费扣赠送消费扣款赠送账户-赠送支付
订单退款赠送退款入账赠送账户+赠送退款

推荐文案:

[赠送账户] 充值赠送入账 +20.00
[赠送账户] 消费扣款 -8.00
[赠送账户] 赠送退款入账 +8.00

流水详情需展示:

  • 来源单号
  • 场景
  • 账户类型
  • 变动前余额
  • 变动金额
  • 变动后余额
  • 是否可提现:赠送账户固定显示“不可提现”

7.7 小程序:充值

本地落点:zhctproject/ai_app/settlement/payment/recharge.vue

页面展示:

  • 顶部账户余额面板从个人、餐补扩展为个人、餐补、赠送。
  • 输入充值金额后展示:
  • - 实付金额 - 赠送金额 - 到账金额

  • 支付按钮金额必须按实付金额展示。
  • 赠送金额进入赠送账户,可消费,不可提现。

充值记录 zhctproject/ai_app/pages/wallet/recharge/order.vue 需展示:

  • 实付金额
  • 赠送金额
  • 到账金额
  • 命中规则名称
  • 到账时间

7.8 小程序:手机点餐支付

本地落点:zhctproject/ai_app/settlement/ordering/cashier/index.vue

支付过程页展示:

  • 订单金额
  • 预计现金支付
  • 预计餐补支付
  • 预计赠送支付
  • 当前扣款顺序

支付成功页或跳转后的订单详情展示:

  • 实际现金支付
  • 实际餐补支付
  • 实际赠送支付
  • 支付后个人余额、餐补余额、赠送余额

实际扣款拆分必须以后端返回为准,前端预估仅用于支付过程展示。

7.9 小程序:扫码/机端支付

本地落点:zhctproject/ai_app/settlement/payment/scanPay.vue

支付过程弹窗展示:

  • 本次付款金额
  • 预计现金支付
  • 预计餐补支付
  • 预计赠送支付
  • 当前扣款顺序

支付成功弹窗展示:

  • 实际现金支付
  • 实际餐补支付
  • 实际赠送支付
  • 支付后赠送账户余额

7.10 小程序:订单详情

本地落点:zhctproject/ai_app/settlement/orderDetails/index.vue

价格汇总区增加:

字段显示规则
现金支付有则展示,0 可隐藏或展示 0.00
餐补支付有则展示,0 可隐藏或展示 0.00
赠送支付有则展示,退款订单也需保留
实付金额必显

退款订单需展示赠送退款金额。

7.11 小程序:提现

本地落点:zhctproject/ai_app/settlement/payment/cash.vue

展示:

  • 保持当前“可提现金额(元)”顶部大金额。
  • 增加不可提现说明:
  • - 可提现金额仅包含个人账户中符合提现条件的普通本金。 - 餐补账户、赠送账户、活动充值本金不可提现。

文案:

餐补账户、赠送账户、活动充值本金不可提现。

如存在赠送余额,展示:

赠送账户余额 ¥xx 可消费,不可提现。

如存在活动充值本金,展示:

活动充值本金 ¥xx 可消费,不可提现。

7.12 消费机端

范围:

  • 点餐消费
  • 定额消费
  • 自由金额消费
  • 机端支付成功页

支付过程展示:

  • 应付金额
  • 预计现金支付
  • 预计餐补支付
  • 预计赠送支付
  • 当前扣款顺序

支付成功展示:

  • 实际现金支付
  • 实际餐补支付
  • 实际赠送支付
  • 如当前机端支持余额展示,则同步展示支付后个人账户、餐补账户、赠送账户余额。

8. 数据与接口

8.1 数据字段建议

对象字段说明
用户资产cash_balance / balance个人账户余额
用户资产subsidy_balance餐补账户余额
用户资产gift_balance赠送账户余额
用户资产withdrawable_balance可提现金额
用户资产activity_principal_balance活动充值本金余额
人员列表cash_balance, subsidy_balance, gift_balance, withdrawable_balancePC 人员管理资产列展示
充值规则rule_name, platform, pay_method, min_money, gift_money, status现金充值设置
消费顺序配置store_id, pay_order, update_by, update_time账户扣款顺序
充值订单pay_price, gift_money, actual_money实付、赠送、到账
充值订单is_activity_principal, withdrawable_amount是否活动本金、可提现本金
账户流水account_type, scene, money, balance_before, balance_after, source_order_no, withdrawable_flag流水展示账户类型和可提现口径
消费订单cash_payment, subsidy_payment, gift_payment订单支付拆分
消费订单gift_refund_amount, remain_gift已退赠送、剩余可退赠送
支付预览cash_pay_preview, subsidy_pay_preview, gift_pay_preview, pay_order支付过程预计扣款拆分
支付成功结果cash_payment, subsidy_payment, gift_payment, balance_after, subsidy_after, gift_after支付成功实际扣款和支付后余额

8.2 接口影响

接口/模块改动
账户设置 / 现金充值设置新增列表、保存、启停、删除、匹配预览
账户设置 / 消费顺序设置新增读取、保存账户支付顺序;返回第一/第二/第三顺位、当前预览、校验结果、操作日志
用户资产接口返回个人、餐补、赠送、活动本金、可提现金额
PC 人员列表接口返回现金余额、餐补余额、赠送余额、可提现金额
PC 人员详情接口返回现金余额、餐补余额、赠送余额、可提现金额和累计消费
账户流水接口返回账户类型、场景、变动金额、变动前后余额、来源单号、是否可提现
充值记录接口返回实付金额、赠送金额、到账金额
PC 充值接口保存三金额,拆分个人账户和赠送账户
小程序充值下单返回三金额,支付金额为实付金额
充值支付成功命中赠送时标记活动充值本金
充值订单列表/详情返回实付金额、赠送金额、到账金额、活动充值本金、可提现本金
充值订单导出/统计导出和统计按实付、赠送、到账、活动本金拆分
消费支付按配置顺序扣款,记录拆分
手机点餐支付页返回预计现金支付、预计餐补支付、预计赠送支付、支付顺序
扫码/机端支付页返回预计现金支付、预计餐补支付、预计赠送支付、支付顺序
消费机端支付页返回预计现金支付、预计餐补支付、预计赠送支付、支付顺序
支付成功结果返回实际现金支付、实际餐补支付、实际赠送支付、支付后余额
订单列表/详情增加赠送支付字段
提现读取/提交排除餐补、赠送、活动充值本金
消费退款按原支付来源回退
现金退款/余额退还只允许退普通可提现本金

8.3 幂等与一致性

场景要求
充值支付成功回调幂等处理,不能重复入账赠送金额
消费扣款后端原子扣减三个账户,失败整体回滚
退款按原订单支付拆分计算可退金额,避免超退
账户流水账户余额变动必须有流水,流水和余额一致
导出统计与列表查询同一口径,不能实付和到账混算

9. 权限与日志

操作权限建议日志
查看账户设置账户管理查看权限不强制
新增/编辑现金充值设置账户设置管理权限记录规则前后值
启用/停用现金充值设置账户设置管理权限记录状态变化
保存消费顺序设置账户设置管理权限记录操作时间、操作人、操作前顺序、操作后顺序、影响范围
PC 现金充值现金充值权限记录实付、赠送、到账、操作人
提现用户本人或后台提现权限记录提现金额、可提现金额
消费退款退款审核权限记录现金、餐补、赠送退款拆分

10. 异常与兼容

场景处理
无匹配赠送规则赠送金额为 0,到账金额等于实付金额
规则停用后历史订单历史订单不变,仍展示当时命中的规则和金额
支付顺序缺失使用默认顺序:餐补 -> 赠送 -> 个人
支付顺序配置重复保存失败,提示三个账户不可重复
充值命中赠送后提现可提现金额不增加
赠送账户余额不足按顺序继续扣下一个账户
三账户总余额不足支付失败,提示余额不足
赠送支付退款退回赠送账户
老订单无赠送字段默认 0.00,查询导出正常
人员编辑页展示赠送余额只读,不可手工修改

11. 验收标准

编号场景验收标准
A0账户设置模块账户管理下存在“账户设置”,与补贴管理、现金管理并列,包含现金充值设置和消费顺序设置
A1现金充值设置后台可新增“满100送20”并启用
A2PC 充值充值 100 显示实付 100、赠送 20、到账 120
A3小程序充值支付按钮金额为 100,固定展示“赠送金额”,到账展示 120
A3-1未命中赠送展示PC 和小程序充值未命中规则时仍展示“赠送金额 0.00”,不隐藏字段
A4入账个人账户 +100、赠送账户 +20、活动本金 +100、可提现 +0
A5充值订单字段充值订单列表、详情、导出均展示实付金额、赠送金额、到账金额
A6充值统计口径充值统计分别展示实收金额合计、赠送金额合计、到账金额合计
B1充后提现防套利充值 100 送 20 后,可提现金额仍为 0
B2普通充值提现未命中赠送规则充值 100,按现有规则进入可提现金额
B3赠送不可提现个人 0、赠送 20 时,可提现金额为 0
C1支付顺序配置可保存“赠送 -> 餐补 -> 个人”,新订单按该顺序扣款
C2支付顺序校验顺序重复或缺账户时不能保存
C2-1消费顺序设置页面作为独立页面交付,采用 PC 后台表单交互,包含第一/第二/第三顺位下拉框、当前预览、保存校验、恢复默认、保存确认、操作日志
C2-2消费顺序保存入口顶部“保存消费顺序”和页面内“保存”走同一套校验,重复账户时均不能保存
C3混合消费订单记录现金支付、餐补支付、赠送支付
C4手机点餐支付过程支付页金额明细展示预计现金支付、预计餐补支付、预计赠送支付
C5手机点餐支付成功支付成功页或跳转后的订单详情展示实际赠送支付
C6扫码/机端支付过程输入付款金额后展示预计赠送支付
C7扫码/机端支付成功支付成功弹窗展示实际现金、餐补、赠送支付
C8消费机端支付成功消费机支付成功页展示实际赠送支付
C9手机端余额展示我的余额页展示个人、餐补、赠送三账户,并说明赠送不可提现
C10手机端赠送流水充值赠送、赠送消费、赠送退款均在账户流水中以“赠送账户”标签展示
C11PC 人员列表余额人员列表展示赠送余额,原“当前余额”不与赠送余额混用
C12PC 人员详情余额人员详情展示个人、餐补、赠送、可提现金额,并说明赠送不可提现
D1订单展示PC 和小程序订单详情展示赠送支付
D2导出统计导出和统计包含赠送支付
E1退款赠送支付退款回赠送账户
E2防变相套现赠送退款不能进入个人账户或现金退款
F1历史兼容老订单赠送支付默认 0.00,查询导出正常

12. 全局余额相关页面排查清单

本次需求不只改充值页。凡是展示“余额、账户、提现、退款、资金流水”的位置,都要检查是否需要增加赠送余额或赠送支付口径。

位置本地文件检查结论
PC 账户设置zhctproject/store/public/static/src/router/accountManagement/index.js新增账户设置模块,包含现金充值设置和消费顺序设置
PC 人员列表zhctproject/store/public/static/src/view/staff/staffList.vue当前有“当前余额/累计余额”,必须新增赠送余额,并明确当前余额口径
PC 人员详情zhctproject/store/public/static/src/view/staff/lookStaff.vue当前有“余额/累计消费”,必须新增赠送余额、餐补余额、可提现金额说明
PC 人员编辑zhctproject/store/public/static/src/view/staff/editStaff.vue当前有只读“余额/累计消费”,可补充只读赠送余额,不能开放手工编辑
PC 组织人员列表zhctproject/store/public/static/src/view/integratedManagement/organization.vue当前有“现金余额/补贴余额”,必须新增赠送余额
PC 现金充值列表zhctproject/store/public/static/src/components/rechargeTable.vue需纳入三金额:实付、赠送、到账
PC 消费订单zhctproject/store/public/static/src/view/order/consume/index.vuezhctproject/store/public/static/src/view/order/customTable.vue需纳入赠送支付、赠送退款
PC 现金退款zhctproject/store/public/static/src/view/accountManagement/cashManagement/refundList.vue退款/余额退还只允许普通可提现本金,不能扣赠送账户
PC 电子记录/充值记录zhctproject/store/public/static/src/view/integratedManagement/eRecord/rechargeRecord.vue涉及充值金额记录时,需区分实付、赠送、到账
PC 充值补贴统计zhctproject/store/public/static/src/view/reportManagement/rechargeSubsidy/*若统计充值实收或到账,需增加赠送金额口径,避免实收和权益混算
小程序钱包首页zhctproject/ai_app/pages/wallet/index.vue当前只展示账户余额,需改为个人、餐补、赠送或进入我的余额页保持一致
小程序余额页zhctproject/ai_app/settlement/payment/balance.vue需三账户展示
小程序账户流水zhctproject/ai_app/pages/wallet/balance/log.vue需赠送账户流水
小程序充值记录zhctproject/ai_app/pages/wallet/recharge/order.vue需实付、赠送、到账
小程序充值页zhctproject/ai_app/settlement/payment/recharge.vue需展示实付、赠送、到账,支付按钮按实付
小程序扫码/机端支付zhctproject/ai_app/settlement/payment/scanPay.vue需支付过程和支付成功展示赠送支付
小程序点餐支付zhctproject/ai_app/settlement/ordering/cashier/index.vue需支付过程和支付成功展示赠送支付
小程序订单详情zhctproject/ai_app/settlement/orderDetails/index.vue需展示赠送支付和赠送退款

排查原则:

  • 页面展示“余额”时,必须说明是现金/个人余额、餐补余额、赠送余额,不能再用一个总余额覆盖三账户。
  • 页面展示“可提现”时,必须排除餐补账户、赠送账户、活动充值本金。
  • 页面展示“实收/收款/充值金额”时,必须区分实付金额和到账金额。
  • 页面展示“消费/退款”时,必须区分现金支付、餐补支付、赠送支付。

13. 发布与灰度

建议发布顺序:

  1. 数据库和后端账户字段上线。
  2. 账户设置上线,默认消费顺序为餐补 -> 赠送 -> 个人。
  3. PC 现金充值三金额上线。
  4. 小程序充值、余额、流水上线。
  5. 消费支付扣款拆分上线。
  6. 订单、退款、导出、统计字段上线。
  7. 人员列表、人员详情、组织人员列表余额展示上线。

灰度建议:

  • 先在测试商户或内部食堂启用现金充值设置。
  • 老订单赠送金额默认 0,确保查询、导出、统计不报错。
  • 灰度期间重点监控充值入账、消费扣款、退款回退、提现金额。

14. 风险与待确认

风险/问题建议
充值补贴统计是否同时承担财务报表职责需确认统计页是否必须展示实收、赠送、到账三口径
旧接口中 actual_money 是否已被用作到账金额需后端确认字段语义,避免和实付金额混用
PC 人员列表接口是否已有餐补余额如没有,本期至少新增赠送余额,餐补余额作为接口补充
消费机端是否支持余额展示若不支持,至少展示本次实际赠送支付
退款流程是否支持按支付来源拆分若当前只有总退款金额,需要先补拆分数据