1、优化自动退保证金逻辑,如果部分退款成功也需要添加记录;
This commit is contained in:
parent
52d1a32215
commit
50cf0585b0
|
@ -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, "押金退款")
|
||||
|
|
Loading…
Reference in New Issue
Block a user