小程序一些功能更新

This commit is contained in:
李琦
2026-09-29 15:48:13 +08:00
parent 3bb7fa8db3
commit 75499ba85c
29 changed files with 1299 additions and 196 deletions

View File

@@ -37,6 +37,12 @@ type OrderItem struct {
Status int `json:"status"` // 0待支付 1已发货 2已退款 3已关闭
StatusText string `json:"status_text"`
ServiceRevoked int `json:"service_revoked"` // 退款时是否已回收所购服务:0未回收 1已回收
// ===== 渠道与退款 =====
PayChannel string `json:"pay_channel"` // wxpay 微信虚拟支付 / apple iOS(App Store IAP,无法 API 退款)
RefundStatus int `json:"refund_status"` // 0未退款 1退款中 2退款成功 3退款失败
RefundNo string `json:"refund_no"` // 商户退款单号
RefundAmount int64 `json:"refund_amount"` // 退款金额(分)
RefundReason string `json:"refund_reason"` // 退款原因
// ===== 时间 =====
CreatedAt string `json:"created_at"` // 创建时间
PaidAt string `json:"paid_at"` // 支付时间(发货时写入)
@@ -60,20 +66,27 @@ type OrderListRes struct {
// OrderRefundReq 订单退款。
//
// RevokeService=true → 退款同时回收所购服务(会员套餐回收有效期;次数包扣回付费次数);
// false → 仅改状态为「已退款」,用户权益保留。
// 仅「已发货(1)」订单可退款;已是「已退款(2)」的订单幂等返回成功但不重复回收权益。
// RevokeService=true → 退款同时回收所购服务(API 路径下意图落 refund_revoke,
// 平台确认成功后执行回收;手工路径当场回收)。
// Reason 退款原因:手工退款(Manual=true / apple 渠道 / 平台未配置)必填;
// Manual=true 不调平台接口,仅登记(iOS 订单 / 已在 MP 后台手工退的场景)。
// 仅「已发货(1)」订单可发起;退款中幂等返回;退款失败(3)可重新发起。
type OrderRefundReq struct {
g.Meta `path:"/order/refund" method:"post" tags:"admin" summary:"订单退款(可选回收所购服务)"`
OutTradeNo string `v:"required#订单号不能为空" json:"outTradeNo"`
RevokeService bool `json:"revokeService"`
Reason string `json:"reason"`
Manual bool `json:"manual"`
}
type OrderRefundRes struct {
OutTradeNo string `json:"out_trade_no"`
Status int `json:"status"`
StatusText string `json:"status_text"`
ServiceRevoked bool `json:"service_revoked"` // 该订单当前是否已回收所购服务
Revoked bool `json:"revoked"` // 本次调用是否实际执行了退款动作
Revoked bool `json:"revoked"` // 本次调用是否实际执行了退款动作(手工路径)
Refunding bool `json:"refunding"` // 退款中:已发起平台退款,等待确认
RefundStatus int `json:"refund_status"` // 0未退款 1退款中 2退款成功 3退款失败
RefundNo string `json:"refund_no"` // 商户退款单号(API 路径返回)
AlreadyRefunded bool `json:"already_refunded"` // 幂等命中:调用前已是已退款
Message string `json:"message"`
}