From 20d9ee20c315fc3199a1917cded57e19f25497ae Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 12 Dec 2018 14:46:42 +0800 Subject: [PATCH] - fix bug when sync error in UpdateSkuName --- business/jxstore/cms/sku.go | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 1a5565346..86fad562c 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -477,7 +477,6 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s } func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interface{}, userName string) (num int64, err error) { - var err2 error skuName := &model.SkuName{} skuName.ID = nameID valid := dao.NormalMakeMapByStructObject(payload, skuName, userName) @@ -485,12 +484,7 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf if len(valid) > 0 { db := dao.GetDB() dao.Begin(db) - defer func() { - if r := recover(); r != nil { - dao.Rollback(db) - panic(r) - } - }() + defer dao.Rollback(db) if num, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, skuName, valid, userName, nil, model.FieldJdSyncStatus); err == nil && num == 1 { if utils.Interface2Int64WithDefault(payload["isGlobal"], 0) == 0 && payload["places"] != nil { if places, ok := payload["places"].([]interface{}); ok { @@ -503,7 +497,6 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf placeBind.NameID = nameID err = dao.CreateEntity(db, placeBind) } else { - dao.Rollback(db) return 0, errors.New("地点代码非法") } } @@ -512,20 +505,15 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf } if err == nil { sku := &model.Sku{} - _, err2 := dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, sku, nil, userName, map[string]interface{}{ + _, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, sku, nil, userName, map[string]interface{}{ model.FieldNameID: nameID, }, model.FieldJdSyncStatus) - if err = err2; err == nil { + if err == nil { dao.Commit(db) - _, err2 = CurVendorSync.SyncSku(ctx, db, nameID, -1, false, userName) + _, err = CurVendorSync.SyncSku(ctx, db, nameID, -1, false, userName) } } } - if err != nil { - dao.Rollback(db) - } else { - err = err2 - } } return num, err }