|
@@ -324,16 +324,22 @@ func virtualPayHMAC(key, data string) string {
|
|
|
|
|
|
|
|
func markVirtualRechargePaid(order *balance_model.RechargeCashOrder, tradeNo string) bool {
|
|
func markVirtualRechargePaid(order *balance_model.RechargeCashOrder, tradeNo string) bool {
|
|
|
if order.State == 1 {
|
|
if order.State == 1 {
|
|
|
- rechargeCash(order.WxUserId, order.UserId, order.TotalPrice, order.OrderId)
|
|
|
|
|
return true
|
|
return true
|
|
|
}
|
|
}
|
|
|
|
|
+ paiedAt := time.Now().Unix()
|
|
|
|
|
+ marked, err := balance_model.MarkRechargeCashOrderPaid(order.OrderId, tradeNo, balance_model.PAY_WAY_TYPE_RECHARGE_VIRTUAL, paiedAt)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ beego.BeeLogger.Error("markVirtualRechargePaid mark order failed, order_id=%s, err=%s", order.OrderId, err)
|
|
|
|
|
+ return false
|
|
|
|
|
+ }
|
|
|
order.State = 1
|
|
order.State = 1
|
|
|
order.TradeNo = tradeNo
|
|
order.TradeNo = tradeNo
|
|
|
order.PayWay = balance_model.PAY_WAY_TYPE_RECHARGE_VIRTUAL
|
|
order.PayWay = balance_model.PAY_WAY_TYPE_RECHARGE_VIRTUAL
|
|
|
- order.PaiedAt = time.Now().Unix()
|
|
|
|
|
- if err := order.Save(); err != nil {
|
|
|
|
|
- beego.BeeLogger.Error("markVirtualRechargePaid save order failed, order_id=%s, err=%s", order.OrderId, err)
|
|
|
|
|
- return false
|
|
|
|
|
|
|
+ if order.PaiedAt == 0 {
|
|
|
|
|
+ order.PaiedAt = paiedAt
|
|
|
|
|
+ }
|
|
|
|
|
+ if !marked {
|
|
|
|
|
+ return true
|
|
|
}
|
|
}
|
|
|
rechargeCash(order.WxUserId, order.UserId, order.TotalPrice, order.OrderId)
|
|
rechargeCash(order.WxUserId, order.UserId, order.TotalPrice, order.OrderId)
|
|
|
return true
|
|
return true
|