- BatchUpdateEntityByKV中panic时,打印调试信息
This commit is contained in:
@@ -28,13 +28,10 @@ var (
|
||||
func CreateStoreCategoryByStoreSku(ctx *jxcontext.Context, vendorID, storeID int, vendorStoreID string, nameIDs, skuIDs []int) (err error) {
|
||||
globals.SugarLogger.Debugf("CreateStoreCategoryByStoreSku vendorID:%d, storeID:%d", vendorID, storeID)
|
||||
db := dao.GetDB()
|
||||
dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil || err != nil {
|
||||
if r := recover(); r != nil {
|
||||
dao.Rollback(db)
|
||||
if r != nil {
|
||||
panic(r)
|
||||
}
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
for i := 0; i < 2; i++ {
|
||||
@@ -42,15 +39,19 @@ func CreateStoreCategoryByStoreSku(ctx *jxcontext.Context, vendorID, storeID int
|
||||
if err = err2; err != nil {
|
||||
return err
|
||||
}
|
||||
for _, v := range localCats {
|
||||
if v.MapID == 0 {
|
||||
if err = dao.AddStoreCategoryMap(db, storeID, v.ID, vendorID, "", model.SyncFlagNewMask, ctx.GetUserName()); err != nil {
|
||||
return err
|
||||
if len(localCats) > 0 {
|
||||
dao.Begin(db)
|
||||
for _, v := range localCats {
|
||||
if v.MapID == 0 {
|
||||
if err = dao.AddStoreCategoryMap(db, storeID, v.ID, vendorID, "", model.SyncFlagNewMask, ctx.GetUserName()); err != nil {
|
||||
dao.Rollback(db)
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
dao.Commit(db)
|
||||
}
|
||||
}
|
||||
dao.Commit(db)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -257,6 +258,12 @@ func sku2Update(vendorID int, sku *dao.StoreSkuSyncInfo, syncStatus int8) (item
|
||||
|
||||
func updateStoreSku(db *dao.DaoDB, vendorID int, storeSkuList []*dao.StoreSkuSyncInfo, syncStatus int8) (num int64, err error) {
|
||||
if len(storeSkuList) > 0 {
|
||||
// defer func() {
|
||||
// if r := recover(); r != nil {
|
||||
// globals.SugarLogger.Debugf("updateStoreSku panic, vendorID:%d, len:%d, storeID0:%d, skuID0:%d, syncStatus:%d", vendorID, len(storeSkuList), storeSkuList[0].StoreID, storeSkuList[0].SkuID, syncStatus)
|
||||
// panic(r)
|
||||
// }
|
||||
// }()
|
||||
updateItemList := make([]*dao.KVUpdateItem, len(storeSkuList))
|
||||
for k, v := range storeSkuList {
|
||||
updateItemList[k] = sku2Update(vendorID, v, syncStatus)
|
||||
|
||||
@@ -73,8 +73,24 @@ func BatchUpdateEntityByKV(db *DaoDB, items []*KVUpdateItem) (num int64, err err
|
||||
// }
|
||||
// }
|
||||
// }()
|
||||
for _, v := range items {
|
||||
num2, err2 := UpdateEntityByKV(db, v.Item, v.KVs, nil)
|
||||
|
||||
var item *KVUpdateItem
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
if item != nil {
|
||||
var bindID int64
|
||||
value := refutil.CheckAndGetStructValue(item.Item).FieldByName(model.FieldID)
|
||||
if value.IsValid() {
|
||||
bindID = value.Int()
|
||||
}
|
||||
globals.SugarLogger.Debugf("BatchUpdateEntityByKV panic, bindID:%d, KVs:%s", bindID, utils.Format4Output(item.KVs, true))
|
||||
}
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
|
||||
for _, item = range items {
|
||||
num2, err2 := UpdateEntityByKV(db, item.Item, item.KVs, nil)
|
||||
if err = err2; err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user