From 76c7faa927fa89edbcc597fce683b9f0d486ca19 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Thu, 21 Jul 2022 18:04:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BE=AE=E4=BF=A1=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E5=A4=84=E7=90=86=E4=B8=9A=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/financial/financial.go | 67 ++++++++++++++----------- 1 file changed, 38 insertions(+), 29 deletions(-) diff --git a/business/jxstore/financial/financial.go b/business/jxstore/financial/financial.go index 09c6928cf..ca90a8eeb 100644 --- a/business/jxstore/financial/financial.go +++ b/business/jxstore/financial/financial.go @@ -263,41 +263,50 @@ func onTLpayFinished(call *tonglianpayapi.CallBackResult) (err error) { if call.TrxStatus == tonglianpayapi.TrxStatusSuccess { order.Status = model.OrderStatusFinished payStatus = model.OrderStatusSuccessPay + } else { order.Status = model.OrderStatusCanceled payStatus = model.OrderStatusFailPay } - - txdb, _ := dao.Begin(db) - defer func() { - if r := recover(); r != nil { - panic(r) - } - }() - if _, err := dao.UpdateEntityTx(txdb, order); err != nil { - dao.Rollback(db, txdb) - return err - } - - userOrder := model.UserVendorOrder{LocalWayBill: order.OrderID} - if err := dao.GetEntity(db, &userOrder, `LocalWayBill`); err != nil { - dao.Rollback(db, txdb) - return err - } - userOrder.OrderStatus = payStatus - if _, err := dao.UpdateEntityTx(txdb, &userOrder, "OrderStatus"); err != nil { - dao.Rollback(db, txdb) - return err - } - dao.Commit(db, txdb) - if call.TrxStatus == tonglianpayapi.TrxStatusSuccess { - switch order.OrderType { - case model.PayType4Express: - err = q_bida.CreateOrder2QBiDa(&userOrder) - case model.PayType4Member, model.PayType4Recharge: - err = OnPayFinished(order) + //充值会员 增加微信支付处理业务 + if order.OrderType == 2 && call.TrxStatus == tonglianpayapi.TrxStatusSuccess { + if err := OnPayFinished(order); err != nil { + return err } } + //发快递 + if order.OrderType == 3 { + txdb, _ := dao.Begin(db) + defer func() { + if r := recover(); r != nil { + panic(r) + } + }() + if _, err := dao.UpdateEntityTx(txdb, order); err != nil { + dao.Rollback(db, txdb) + return err + } + userOrder := model.UserVendorOrder{LocalWayBill: order.OrderID} + if err := dao.GetEntity(db, &userOrder, `LocalWayBill`); err != nil { + dao.Rollback(db, txdb) + return err + } + userOrder.OrderStatus = payStatus + if _, err := dao.UpdateEntityTx(txdb, &userOrder, "OrderStatus"); err != nil { + dao.Rollback(db, txdb) + return err + } + dao.Commit(db, txdb) + if call.TrxStatus == tonglianpayapi.TrxStatusSuccess { + switch order.OrderType { + case model.PayType4Express: + err = q_bida.CreateOrder2QBiDa(&userOrder) + case model.PayType4Member, model.PayType4Recharge: + err = OnPayFinished(order) + } + } + } + } else { globals.SugarLogger.Debugf("onTLpayFinished msg:%s, err:%v", utils.Format4Output(call, true), err) }