diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index b6bf7facd..a7944759e 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -1867,16 +1867,18 @@ func UpdateOrderInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID int, ) order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, vendorID) valid := dao.StrictMakeMapByStructObject(payload, order, ctx.GetUserName()) - dao.Begin(db) - defer func() { - if r := recover(); r != nil { + if valid != nil { + dao.Begin(db) + defer func() { + if r := recover(); r != nil { + dao.Rollback(db) + panic(r) + } + }() + if num, err = dao.UpdateEntityByKV(db, order, valid, nil); err != nil { dao.Rollback(db) - panic(r) + return 0, err } - }() - if num, err = dao.UpdateEntityByKV(db, order, valid, nil); err != nil { - dao.Rollback(db) - return 0, err } dao.Commit(db) return num, err