This commit is contained in:
邹宗楠
2022-07-12 17:09:52 +08:00
parent 0eb5642742
commit 7fe320cded
2 changed files with 15 additions and 15 deletions

View File

@@ -162,7 +162,7 @@ func CreateWayOrder(ctx *jxcontext.Context, param *model.MakeOrderParamReq, user
// 添加运单表
dao.WrapAddIDCULDEntity(vendorOrder, ctx.GetUserName())
if err := dao.CreateEntity(db, vendorOrder); err != nil {
if err := dao.CreateEntityTx(tdb, vendorOrder); err != nil {
dao.Rollback(db, tdb)
return nil, err
}
@@ -187,7 +187,7 @@ func CreateWayOrder(ctx *jxcontext.Context, param *model.MakeOrderParamReq, user
Address: "",
PayMethod: 0,
}
if err := dao.CreateEntity(db, orderPayStatus); err != nil {
if err := dao.CreateEntityTx(tdb, orderPayStatus); err != nil {
dao.Rollback(db, tdb)
return nil, err
}

View File

@@ -39,30 +39,30 @@ func SendPayInfo2Ali(payOrder *model.WithdrawalRecord, param *model.AddWithdrawa
func UpdateUserMoney(payOrder *model.WithdrawalRecord, userBill *model.UserBill) error {
// 如果支付成功
db := dao.GetDB()
//tx, _ := dao.Begin(db)
//defer func() {
// if r := recover(); r != nil {
// panic(r)
// }
// dao.Commit(db, tx)
//}()
tx, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
panic(r)
}
dao.Commit(db, tx)
}()
switch payOrder.OrderStatus {
case model.WithdrawalRecordPaySuccess:
userBill.AccountBalance = userBill.AccountBalance - payOrder.WithdrawalMoney
bill := &userBill
if _, err := dao.UpdateEntity(db, &bill, "AccountBalance"); err != nil {
if _, err := dao.UpdateEntityTx(tx, &bill, "AccountBalance"); err != nil {
globals.SugarLogger.Debug("err=======", err)
//dao.Rollback(db, tx)
dao.Rollback(db, tx)
return err
}
if err := dao.CreateEntity(db, payOrder); err != nil {
// dao.Rollback(db, tx)
if err := dao.CreateEntityTx(tx, payOrder); err != nil {
dao.Rollback(db, tx)
return err
}
case model.WithdrawalWaitRecord, model.WithdrawalRecordFail, model.WithdrawalRecordPayFail:
if err := dao.CreateEntity(db, payOrder); err != nil {
// dao.Rollback(db, tx)
if err := dao.CreateEntityTx(tx, payOrder); err != nil {
dao.Rollback(db, tx)
return err
}
}