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) }