feat: integrate unified payment and wallet refunds

This commit is contained in:
2026-08-02 23:24:32 +08:00
parent f0b8af0bc8
commit 82a2106a97
64 changed files with 1519 additions and 254 deletions

View File

@@ -341,12 +341,11 @@ func MockData(database *gorm.DB) error {
return err
}
walletPayment := models.WalletPayment{
Entity: entity(35, common.StatusEnable), PaymentStatus: common.StatusSuccess, WalletBasicID: wallet.ID,
PaymentNo: "MOCK-PAYMENT-001", OrderNo: gasOrder.OrderNo,
TradeNo: "MOCK-TRADE-001", PaymentType: "gasorder",
PayChannel: "balance", PayType: "wallet", Amount: gasOrder.PayableAmount,
Args: `{}`, CallbackMsg: `{"status":"success"}`,
walletPayment := models.PaymentOrder{
Entity: entity(35, common.StatusEnable), PaymentStatus: 23,
PaymentNo: "MOCK-PAYMENT-001", RequestNo: "MOCK-REQ-PAYMENT-001", BusinessType: "gasorder", BusinessIdentity: gasOrder.Identity,
UserIdentity: user.Identity, MerchantIdentity: "platform", Channel: "wallet", PayType: "wallet", ChannelTradeNo: "MOCK-TRADE-001",
Amount: gasOrder.PayableAmount, Subject: "模拟供气订单", ClientArgs: `{}`, ExpiresAt: now.Add(30 * time.Minute), PaidAt: &now,
}
if err := put(tx, &walletPayment); err != nil {
return err
@@ -366,12 +365,11 @@ func MockData(database *gorm.DB) error {
}
refundCompletedAt := now
refund := models.WalletRefund{
Entity: entity(37, common.StatusEnable), RefundStatus: common.StatusCompleted, WalletBasicID: wallet.ID,
WalletPaymentID: walletPayment.ID, RefundNo: "MOCK-REFUND-001",
OrderIdentity: gasOrder.Identity, Amount: 1000, Reason: "模拟部分退款",
OrderInfo: `{"order_no":"MOCK-GASORDER-001"}`, Result: `{"status":"success"}`,
TradeNo: "MOCK-REFUND-TRADE-001", CompletedAt: &refundCompletedAt,
refund := models.PaymentRefund{
Entity: entity(37, common.StatusEnable), RefundStatus: 20, WalletBasicID: wallet.ID,
PaymentOrderID: walletPayment.ID, RefundNo: "MOCK-REFUND-001", RequestNo: "MOCK-REQ-REFUND-001",
BusinessType: "gasorder", BusinessIdentity: gasOrder.Identity, UserIdentity: user.Identity,
Amount: 1000, Reason: "模拟部分退款", ReviewerIdentity: gasAccount.Identity, ReviewedAt: &refundCompletedAt, CompletedAt: &refundCompletedAt,
}
if err := put(tx, &refund); err != nil {
return err
@@ -390,7 +388,7 @@ func MockData(database *gorm.DB) error {
gasOrderPayment := models.GasorderPayment{
Entity: entity(39, common.StatusEnable), GasorderBasicID: gasOrder.ID,
WalletPaymentID: walletPayment.ID, AttemptNo: 1, Amount: gasOrder.PayableAmount,
PaymentOrderID: walletPayment.ID, AttemptNo: 1, Amount: gasOrder.PayableAmount,
}
if err := put(tx, &gasOrderPayment); err != nil {
return err