pay
This commit is contained in:
@@ -245,6 +245,7 @@ func OnTLPayCallback(call *tonglianpayapi.CallBackResult) (err error) {
|
||||
}
|
||||
|
||||
func onTLpayFinished(call *tonglianpayapi.CallBackResult) (err error) {
|
||||
globals.SugarLogger.Debug("进入微信回调============================")
|
||||
order := &model.Order{
|
||||
OrderID: call.CusorderID,
|
||||
}
|
||||
@@ -272,21 +273,25 @@ func onTLpayFinished(call *tonglianpayapi.CallBackResult) (err error) {
|
||||
if (order.OrderType == 2 || order.OrderType == 5) && call.TrxStatus == tonglianpayapi.TrxStatusSuccess {
|
||||
return OnWXPayFinished(order)
|
||||
} else if order.OrderType == 3 && call.TrxStatus == tonglianpayapi.TrxStatusSuccess {
|
||||
globals.SugarLogger.Debug("得到微信回调结果,快递流程开始")
|
||||
txdb, _ := dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
globals.SugarLogger.Debug("更新order")
|
||||
if _, err := dao.UpdateEntityTx(txdb, order); err != nil {
|
||||
dao.Rollback(db, txdb)
|
||||
return err
|
||||
}
|
||||
globals.SugarLogger.Debug("获取UserVendorOrder")
|
||||
userOrder := model.UserVendorOrder{LocalWayBill: order.OrderID}
|
||||
if err := dao.GetEntity(db, &userOrder, "LocalWayBill"); err != nil {
|
||||
dao.Rollback(db, txdb)
|
||||
return err
|
||||
}
|
||||
globals.SugarLogger.Debug("更新UserVendorOrder")
|
||||
userOrder.OrderStatus = payStatus
|
||||
if _, err := dao.UpdateEntityTx(txdb, &userOrder, "OrderStatus"); err != nil {
|
||||
dao.Rollback(db, txdb)
|
||||
@@ -294,32 +299,31 @@ func onTLpayFinished(call *tonglianpayapi.CallBackResult) (err error) {
|
||||
}
|
||||
//1-余额,2-微信,5-混合
|
||||
if order.PayMethod == 5 {
|
||||
globals.SugarLogger.Debug("进入混合支付回调流程")
|
||||
userBill, err := dao.GetUserBill(db, order.UserID, "")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
//创建混合支付账单
|
||||
totalPrice := order.PayPrice + userBill.AccountBalance
|
||||
if err := AddMixPay(txdb, order.OrderID, userBill.AccountBalance, totalPrice, 5); err != nil {
|
||||
globals.SugarLogger.Debug("totalPrice=================", totalPrice)
|
||||
globals.SugarLogger.Debug("进入增加mixpay账单")
|
||||
if err := AddMixPay(txdb, order.OrderID, userBill.AccountBalance, totalPrice, 1); err != nil {
|
||||
globals.SugarLogger.Debug("增加mixpay账单失败")
|
||||
dao.Rollback(db, txdb)
|
||||
return err
|
||||
}
|
||||
//余额清空
|
||||
globals.SugarLogger.Debug("开始清空余额")
|
||||
if err := dao.UpdateUserBill(order.UserID, 0); err != nil {
|
||||
globals.SugarLogger.Debug("修改余额失败")
|
||||
dao.Rollback(db, txdb)
|
||||
return err
|
||||
}
|
||||
}
|
||||
if order.PayMethod == 5 || order.PayMethod == 2 {
|
||||
//更新order状态
|
||||
order.Status = 110 //支付成功
|
||||
if _, err := dao.UpdateEntityTx(txdb, &order, "Status"); err != nil {
|
||||
dao.Rollback(db, txdb)
|
||||
return err
|
||||
}
|
||||
}
|
||||
dao.Commit(db, txdb)
|
||||
globals.SugarLogger.Debug("call.TrxStatus======================", call.TrxStatus)
|
||||
globals.SugarLogger.Debug("order.OrderType======================", order.OrderType)
|
||||
if call.TrxStatus == tonglianpayapi.TrxStatusSuccess {
|
||||
switch order.OrderType {
|
||||
case model.PayType4Express:
|
||||
|
||||
Reference in New Issue
Block a user