- 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) {
|
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)
|
globals.SugarLogger.Debugf("CreateStoreCategoryByStoreSku vendorID:%d, storeID:%d", vendorID, storeID)
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
dao.Begin(db)
|
|
||||||
defer func() {
|
defer func() {
|
||||||
if r := recover(); r != nil || err != nil {
|
if r := recover(); r != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
if r != nil {
|
panic(r)
|
||||||
panic(r)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
for i := 0; i < 2; i++ {
|
for i := 0; i < 2; i++ {
|
||||||
@@ -42,15 +39,19 @@ func CreateStoreCategoryByStoreSku(ctx *jxcontext.Context, vendorID, storeID int
|
|||||||
if err = err2; err != nil {
|
if err = err2; err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
for _, v := range localCats {
|
if len(localCats) > 0 {
|
||||||
if v.MapID == 0 {
|
dao.Begin(db)
|
||||||
if err = dao.AddStoreCategoryMap(db, storeID, v.ID, vendorID, "", model.SyncFlagNewMask, ctx.GetUserName()); err != nil {
|
for _, v := range localCats {
|
||||||
return err
|
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
|
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) {
|
func updateStoreSku(db *dao.DaoDB, vendorID int, storeSkuList []*dao.StoreSkuSyncInfo, syncStatus int8) (num int64, err error) {
|
||||||
if len(storeSkuList) > 0 {
|
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))
|
updateItemList := make([]*dao.KVUpdateItem, len(storeSkuList))
|
||||||
for k, v := range storeSkuList {
|
for k, v := range storeSkuList {
|
||||||
updateItemList[k] = sku2Update(vendorID, v, syncStatus)
|
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 {
|
if err = err2; err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user