From 50cf0585b0a538ca4f09219052524aaf58bcf8d1 Mon Sep 17 00:00:00 2001 From: chenlin Date: Wed, 14 May 2025 16:14:43 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BC=98=E5=8C=96=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E9=80=80=E4=BF=9D=E8=AF=81=E9=87=91=E9=80=BB=E8=BE=91=EF=BC=8C?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E9=83=A8=E5=88=86=E9=80=80=E6=AC=BE=E6=88=90?= =?UTF-8?q?=E5=8A=9F=E4=B9=9F=E9=9C=80=E8=A6=81=E6=B7=BB=E5=8A=A0=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/apis/usermanage/user.go | 81 +++++++++++++++++++++++++++++-- 1 file changed, 77 insertions(+), 4 deletions(-) diff --git a/app/admin/apis/usermanage/user.go b/app/admin/apis/usermanage/user.go index fabc59d..b6d6f86 100644 --- a/app/admin/apis/usermanage/user.go +++ b/app/admin/apis/usermanage/user.go @@ -605,6 +605,7 @@ func NotarizeUserDepositRefundByID(depositRefundRecordId uint32) error { //if userInfo.Deposit == 80 { nTempDeposit := userInfo.Deposit // 用户押金 fmt.Println("******userInfo.Deposit is:******", nTempDeposit) + var results []*pay.WxTransferResp if userInfo.Deposit == 60000 { for i := 0; i < 2; i++ { transfer, err = pay.Transfer(userInfo.Deposit/2, userInfo.WxOpenID, fmt.Sprintf("押金退款(共2次到账)%d/2", i+1)) @@ -624,11 +625,29 @@ func NotarizeUserDepositRefundByID(depositRefundRecordId uint32) error { if err != nil { logger.Error("pay.Transfer 600 update deposit err:", logger.Field("err", err)) } + + if len(results) != 0 { + lastTransfer := results[len(results)-1] + fundRecord := &models.FundRecord{ + Uid: depositRefund.Uid, + FundType: models.FundTypeDepositRefund, + Amount: int64(userInfo.Deposit-nTempDeposit) * (-1), + OutTradeNo: lastTransfer.PartnerTradeNo, + PaymentNo: lastTransfer.PaymentNo, + Status: 2, + Remark: "退还押金", + } + err = orm.Eloquent.Create(fundRecord).Error + if err != nil { + logger.Error("create fund record err:", logger.Field("err", err)) + } + } } return errors.New("押金退款失败,请检查余额") } - nTempDeposit -= 300 + nTempDeposit -= 30000 + results = append(results, transfer) } } else if userInfo.Deposit == 150000 { for i := 0; i < 5; i++ { @@ -649,11 +668,29 @@ func NotarizeUserDepositRefundByID(depositRefundRecordId uint32) error { if err != nil { logger.Error("pay.Transfer 1500 update deposit err:", logger.Field("err", err)) } + + if len(results) != 0 { + lastTransfer := results[len(results)-1] + fundRecord := &models.FundRecord{ + Uid: depositRefund.Uid, + FundType: models.FundTypeDepositRefund, + Amount: int64(userInfo.Deposit-nTempDeposit) * (-1), + OutTradeNo: lastTransfer.PartnerTradeNo, + PaymentNo: lastTransfer.PaymentNo, + Status: 2, + Remark: "退还押金", + } + err = orm.Eloquent.Create(fundRecord).Error + if err != nil { + logger.Error("create fund record err:", logger.Field("err", err)) + } + } } return errors.New("押金退款失败,请检查余额") } - nTempDeposit -= 300 + nTempDeposit -= 30000 + results = append(results, transfer) } } else if userInfo.Deposit == 120000 { for i := 0; i < 4; i++ { @@ -674,11 +711,29 @@ func NotarizeUserDepositRefundByID(depositRefundRecordId uint32) error { if err != nil { logger.Error("pay.Transfer 1200 update deposit err:", logger.Field("err", err)) } + + if len(results) != 0 { + lastTransfer := results[len(results)-1] + fundRecord := &models.FundRecord{ + Uid: depositRefund.Uid, + FundType: models.FundTypeDepositRefund, + Amount: int64(userInfo.Deposit-nTempDeposit) * (-1), + OutTradeNo: lastTransfer.PartnerTradeNo, + PaymentNo: lastTransfer.PaymentNo, + Status: 2, + Remark: "退还押金", + } + err = orm.Eloquent.Create(fundRecord).Error + if err != nil { + logger.Error("create fund record err:", logger.Field("err", err)) + } + } } return errors.New("押金退款失败,请检查余额") } - nTempDeposit -= 300 + nTempDeposit -= 30000 + results = append(results, transfer) } } else if userInfo.Deposit == 90000 { for i := 0; i < 3; i++ { @@ -699,11 +754,29 @@ func NotarizeUserDepositRefundByID(depositRefundRecordId uint32) error { if err != nil { logger.Error("pay.Transfer 900 update deposit err:", logger.Field("err", err)) } + + if len(results) != 0 { + lastTransfer := results[len(results)-1] + fundRecord := &models.FundRecord{ + Uid: depositRefund.Uid, + FundType: models.FundTypeDepositRefund, + Amount: int64(userInfo.Deposit-nTempDeposit) * (-1), + OutTradeNo: lastTransfer.PartnerTradeNo, + PaymentNo: lastTransfer.PaymentNo, + Status: 2, + Remark: "退还押金", + } + err = orm.Eloquent.Create(fundRecord).Error + if err != nil { + logger.Error("create fund record err:", logger.Field("err", err)) + } + } } return errors.New("押金退款失败,请检查余额") } - nTempDeposit -= 300 + nTempDeposit -= 30000 + results = append(results, transfer) } } else if userInfo.Deposit == 30000 { transfer, err = pay.Transfer(userInfo.Deposit, userInfo.WxOpenID, "押金退款")