- fix bug when sync error in UpdateSkuName
This commit is contained in:
@@ -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) {
|
func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interface{}, userName string) (num int64, err error) {
|
||||||
var err2 error
|
|
||||||
skuName := &model.SkuName{}
|
skuName := &model.SkuName{}
|
||||||
skuName.ID = nameID
|
skuName.ID = nameID
|
||||||
valid := dao.NormalMakeMapByStructObject(payload, skuName, userName)
|
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 {
|
if len(valid) > 0 {
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
dao.Begin(db)
|
dao.Begin(db)
|
||||||
defer func() {
|
defer dao.Rollback(db)
|
||||||
if r := recover(); r != nil {
|
|
||||||
dao.Rollback(db)
|
|
||||||
panic(r)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
if num, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, skuName, valid, userName, nil, model.FieldJdSyncStatus); err == nil && num == 1 {
|
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 utils.Interface2Int64WithDefault(payload["isGlobal"], 0) == 0 && payload["places"] != nil {
|
||||||
if places, ok := payload["places"].([]interface{}); ok {
|
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
|
placeBind.NameID = nameID
|
||||||
err = dao.CreateEntity(db, placeBind)
|
err = dao.CreateEntity(db, placeBind)
|
||||||
} else {
|
} else {
|
||||||
dao.Rollback(db)
|
|
||||||
return 0, errors.New("地点代码非法")
|
return 0, errors.New("地点代码非法")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -512,20 +505,15 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf
|
|||||||
}
|
}
|
||||||
if err == nil {
|
if err == nil {
|
||||||
sku := &model.Sku{}
|
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.FieldNameID: nameID,
|
||||||
}, model.FieldJdSyncStatus)
|
}, model.FieldJdSyncStatus)
|
||||||
if err = err2; err == nil {
|
if err == nil {
|
||||||
dao.Commit(db)
|
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
|
return num, err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user