diff --git a/business/jxstore/cms/order.go b/business/jxstore/cms/order.go index b81d2d663..d0e50e3af 100644 --- a/business/jxstore/cms/order.go +++ b/business/jxstore/cms/order.go @@ -161,31 +161,34 @@ func PayByBalance(ctx *jxcontext.Context, orderID string, restPrice, payType int } orderInfo.Status = AlreadyPay } - if restPrice != 0 { - //需支付部分 - //restPrice := orderInfo.PayPrice - userBill.AccountBalance - globals.SugarLogger.Debug("进入混合支付部分") - orderInfo.PayPrice = restPrice - _, err := Pay(ctx, orderInfo.OrderID, payType, vendorPayType, appID) - if err != nil { - return "微信支付失败:", err - } - //支付成功后修改余额为0 - if err := dao.UpdateUserBill(orderInfo.UserID, 0); err != nil { - globals.SugarLogger.Debug("支付后修改余额失败") - dao.Rollback(db, txDB) - return "余额修改失败:", err - } - //增加一条用户账单 - globals.SugarLogger.Debug("开始创建用户账单") - if err = financial.AddBillExpend(txDB, userBill.BillID, model.BillTypePayByAccountBalance, orderInfo.PayPrice, 0); err != nil { - globals.SugarLogger.Debug("创建账单失败") - dao.Rollback(db, txDB) - return "创建账单失败", err - } - return "混合支付成功", err - } } + if restPrice != 0 { + //需支付部分 + //restPrice := orderInfo.PayPrice - userBill.AccountBalance + globals.SugarLogger.Debug("进入混合支付部分") + orderInfo.PayPrice = restPrice + globals.SugarLogger.Debug("orderInfo.PayPrice=================", orderInfo.PayPrice) + _, err := Pay(ctx, orderInfo.OrderID, payType, vendorPayType, appID) + globals.SugarLogger.Debug("err=================", err) + if err != nil { + return "微信支付失败:", err + } + //支付成功后修改余额为0 + if err := dao.UpdateUserBill(orderInfo.UserID, 0); err != nil { + globals.SugarLogger.Debug("支付后修改余额失败") + dao.Rollback(db, txDB) + return "余额修改失败:", err + } + //增加一条用户账单 + globals.SugarLogger.Debug("开始创建用户账单") + if err = financial.AddBillExpend(txDB, userBill.BillID, model.BillTypePayByAccountBalance, orderInfo.PayPrice, 0); err != nil { + globals.SugarLogger.Debug("创建账单失败") + dao.Rollback(db, txDB) + return "创建账单失败", err + } + return "混合支付成功", err + } + dao.Commit(db, txDB) } return "", err