Some checks failed
Build docker and publish / linux (1.24.5) (push) Failing after 40s
feat(pay): 添加支付API基础结构 feat(miniapp): 创建支付测试小程序页面与配置 feat(wechatpay): 配置微信支付参数与证书 fix(guild): 修复成员列表查询条件 docs: 更新代码规范文档与需求文档 style: 统一前后端枚举显示与注释格式 refactor(admin): 重构用户奖励发放接口参数处理 test(title): 添加称号效果参数验证测试
2.6 KiB
2.6 KiB
用途说明
- 退款管理:全局退款列表与详情,用于按条件检索所有订单的退款记录。前端
web/admin/src/views/refunds/list/index.vue:21-31通过fetchAdminRefunds请求后端分页列表GET admin/pay/refunds(internal/router/router.go:169-171;实现internal/api/admin/pay_refund_admin.go:154-181)。 - 对账管理:导入微信日账单后,对本地交易/退款与微信账单进行比对并生成差异明细。入口
web/admin/src/views/reconcile/diff/index.vue:45-76;后端POST admin/pay/bills/import与GET admin/pay/bills/diff(internal/router/router.go:172-173;实现internal/api/admin/pay_reconcile_admin.go:37-75,154-182)。
为什么你现在看到的现象成立
- 订单管理能看到退款:订单详情直接按该订单号聚合退款记录
internal/api/admin/pay_orders_admin.go:216-226,来源同一表payment_refunds。 - 退款管理为空:通常由筛选条件或分页导致。该页面有
order_no/status两个筛选项并在挂载时执行一次查询web/admin/src/views/refunds/list/index.vue:43-55;若筛选为非空但不匹配当前退款,列表会显示为空。 - 对账管理为空:只有在执行“导入账单”后才会计算并产生差异;未导入则
payment_bill_diff自然为空(计算逻辑internal/api/admin/pay_reconcile_admin.go:77-107,109-138)。
快速验证步骤
- 在“退款管理”清空筛选并点击“刷新”,或直接调用
GET admin/pay/refunds(默认分页 20 条)确认返回是否包含最近的退款;该接口由认证组保护,需管理员登录(internal/router/router.go:169-171)。 - 如仍为空,检查是否写入了
payment_refunds:创建退款的写库在internal/api/admin/pay_refund_admin.go:70-80,列表读取在154-181。 - 在“对账管理”点击“导入账单”:选择“交易账单”或“退款账单”,粘贴当日微信账单的 JSON(页面模型
web/admin/src/views/reconcile/diff/index.vue:45-76)。导入后查询GET admin/pay/bills/diff是否出现差异。
示例导入 JSON(退款账单)
- 格式示例:
[{"refund_no":"R202411010001","out_trade_no":"O202411010001","amount_refund":100}] - 交易账单示例:
[{"transaction_id":"4200001xxx","out_trade_no":"O202411010001","amount_total":100}]
接下来我将执行
- 复核你当前管理端的筛选条件、分页与管理员登录态是否正常。
- 指导你导入一份当日测试账单并确认差异计算是否可见。
- 如需要,再定位具体退款记录的可见性(按
order_no/status组合查询)。