增加微信支付处理业务

This commit is contained in:
richboo111
2022-07-21 18:04:54 +08:00
parent 6191973f13
commit 76c7faa927

View File

@@ -263,41 +263,50 @@ func onTLpayFinished(call *tonglianpayapi.CallBackResult) (err error) {
if call.TrxStatus == tonglianpayapi.TrxStatusSuccess { if call.TrxStatus == tonglianpayapi.TrxStatusSuccess {
order.Status = model.OrderStatusFinished order.Status = model.OrderStatusFinished
payStatus = model.OrderStatusSuccessPay payStatus = model.OrderStatusSuccessPay
} else { } else {
order.Status = model.OrderStatusCanceled order.Status = model.OrderStatusCanceled
payStatus = model.OrderStatusFailPay payStatus = model.OrderStatusFailPay
} }
//充值会员 增加微信支付处理业务
txdb, _ := dao.Begin(db) if order.OrderType == 2 && call.TrxStatus == tonglianpayapi.TrxStatusSuccess {
defer func() { if err := OnPayFinished(order); err != nil {
if r := recover(); r != nil { return err
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 == 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 { } else {
globals.SugarLogger.Debugf("onTLpayFinished msg:%s, err:%v", utils.Format4Output(call, true), err) globals.SugarLogger.Debugf("onTLpayFinished msg:%s, err:%v", utils.Format4Output(call, true), err)
} }