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

@@ -56,9 +56,9 @@ func listWalletChild(ctx *gin.Context, model any, table string) {
}
func ListBank(ctx *gin.Context) { listWalletChild(ctx, &models.WalletBank{}, "wallet_bank") }
func ListPayment(ctx *gin.Context) { listWalletChild(ctx, &models.WalletPayment{}, "wallet_payment") }
func ListPayment(ctx *gin.Context) { listWalletChild(ctx, &models.PaymentOrder{}, "payment_order") }
func ListRecord(ctx *gin.Context) { listWalletChild(ctx, &models.WalletRecord{}, "wallet_record") }
func ListRefund(ctx *gin.Context) { listWalletChild(ctx, &models.WalletRefund{}, "wallet_refund") }
func ListRefund(ctx *gin.Context) { listWalletChild(ctx, &models.PaymentRefund{}, "payment_refund") }
func ListRecharge(ctx *gin.Context) {
point, _, ok := currentScope(ctx)
if !ok {
@@ -87,9 +87,9 @@ func getWalletChild(ctx *gin.Context, model any, table string) {
}
func GetBank(ctx *gin.Context) { getWalletChild(ctx, &models.WalletBank{}, "wallet_bank") }
func GetPayment(ctx *gin.Context) { getWalletChild(ctx, &models.WalletPayment{}, "wallet_payment") }
func GetPayment(ctx *gin.Context) { getWalletChild(ctx, &models.PaymentOrder{}, "payment_order") }
func GetRecord(ctx *gin.Context) { getWalletChild(ctx, &models.WalletRecord{}, "wallet_record") }
func GetRefund(ctx *gin.Context) { getWalletChild(ctx, &models.WalletRefund{}, "wallet_refund") }
func GetRefund(ctx *gin.Context) { getWalletChild(ctx, &models.PaymentRefund{}, "payment_refund") }
func GetRecharge(ctx *gin.Context) {
point, _, ok := currentScope(ctx)
if !ok {

View File

@@ -32,9 +32,9 @@ var adminMenus = []Menu{
{Identity: "finance", GroupCode: "finance", Name: "财务管理", Icon: "icon-bar-chart", Path: "/finance", SortNo: 70, Status: common.StatusEnable},
{Identity: "wallet_basic", ParentIdentity: "finance", GroupCode: "finance", Name: "钱包", Path: "/finance/wallet", SortNo: 1, Status: common.StatusEnable},
{Identity: "wallet_bank", ParentIdentity: "finance", GroupCode: "finance", Name: "银行卡", Path: "/finance/banks", SortNo: 2, Status: common.StatusEnable},
{Identity: "wallet_payment", ParentIdentity: "finance", GroupCode: "finance", Name: "支付记录", Path: "/finance/payments", SortNo: 3, Status: common.StatusEnable},
{Identity: "payment_order", ParentIdentity: "finance", GroupCode: "finance", Name: "支付记录", Path: "/finance/payments", SortNo: 3, Status: common.StatusEnable},
{Identity: "wallet_record", ParentIdentity: "finance", GroupCode: "finance", Name: "钱包流水", Path: "/finance/records", SortNo: 4, Status: common.StatusEnable},
{Identity: "wallet_refund", ParentIdentity: "finance", GroupCode: "finance", Name: "退款记录", Path: "/finance/refunds", SortNo: 5, Status: common.StatusEnable},
{Identity: "payment_refund", ParentIdentity: "finance", GroupCode: "finance", Name: "退款记录", Path: "/finance/refunds", SortNo: 5, Status: common.StatusEnable},
{Identity: "wallet_recharge", ParentIdentity: "finance", GroupCode: "finance", Name: "钱包充值", Path: "/finance/recharge", SortNo: 6, Status: common.StatusEnable},
{Identity: "wallet_apply_cash", ParentIdentity: "finance", GroupCode: "finance", Name: "提现申请", Path: "/finance/withdrawals", SortNo: 7, Status: common.StatusEnable},
{Identity: "fin_settlement", ParentIdentity: "finance", GroupCode: "finance", Name: "结算结果", Path: "/finance/settlements", SortNo: 8, Status: common.StatusEnable},

View File

@@ -371,8 +371,8 @@ func AdjustOrderAmount(ctx *gin.Context) {
}
var paymentCount int64
if err := tx.Model(&models.GasorderPayment{}).
Joins("JOIN wallet_payment ON wallet_payment.id = gasorder_payment.wallet_payment_id").
Where("gasorder_payment.gasorder_basic_id = ? AND wallet_payment.payment_status = ?", order.ID, common.StatusPaid).
Joins("JOIN payment_order ON payment_order.id = gasorder_payment.payment_order_id").
Where("gasorder_payment.gasorder_basic_id = ? AND payment_order.payment_status = ?", order.ID, 23).
Count(&paymentCount).Error; err != nil || paymentCount > 0 {
return errors.New("paid order cannot be adjusted")
}

View File

@@ -22,9 +22,9 @@ func ExpectedResources() []ResourceContract {
{"gasorder", "gasorder_basic", "/gasorder_basic", "list", "append_only"},
{"finance", "wallet_basic", "/wallet_basic", "list", "readonly"},
{"finance", "wallet_bank", "/wallet_bank", "list", "readonly"},
{"finance", "wallet_payment", "/wallet_payment", "list", "readonly"},
{"finance", "payment_order", "/payment_order", "list", "readonly"},
{"finance", "wallet_record", "/wallet_record", "list", "readonly"},
{"finance", "wallet_refund", "/wallet_refund", "list", "readonly"},
{"finance", "payment_refund", "/payment_refund", "list", "readonly"},
{"finance", "wallet_recharge", "/wallet_recharge", "list", "append_only"},
{"finance", "wallet_apply_cash", "/wallet_apply_cash", "list", "append_only"},
{"finance", "fin_settlement", "/fin_settlement", "list", "readonly"},