diff --git a/business/jxstore/cms/sync.go b/business/jxstore/cms/sync.go index a33e00fcd..0a179e31c 100644 --- a/business/jxstore/cms/sync.go +++ b/business/jxstore/cms/sync.go @@ -244,9 +244,10 @@ func (v *VendorSync) SyncSku(ctx *jxcontext.Context, db *dao.DaoDB, nameID, skuI cond[model.FieldID] = skuID } err := dao.GetEntitiesByKV(db, &skuList, cond, true) - if err == nil { + if err == nil && len(skuList) > 0 { // globals.SugarLogger.Debug(utils.Format4Output(skuList, false)) - task := tasksch.NewParallelTask("SyncSku loop sku", nil, userName, func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (interface{}, error) { + // todo 这里SetParallelCount(1)的原因是京东SPU特殊类型必须要序列化同步才能正常处理, db可能会有多线程问题 + task := tasksch.NewParallelTask("SyncSku loop sku", tasksch.NewParallelConfig().SetParallelCount(1), userName, func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (interface{}, error) { sku := batchItemList[0].(*model.Sku) syncStatus := jxutils.GetObjFieldByName(sku, syncStatusFieldName).(int8) if (skuID == -1 || skuID == sku.ID) && (syncStatus != 0) { diff --git a/business/partner/purchase/jd/sku.go b/business/partner/purchase/jd/sku.go index 20e5fd53b..9e5d4f466 100644 --- a/business/partner/purchase/jd/sku.go +++ b/business/partner/purchase/jd/sku.go @@ -335,14 +335,14 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt // 这样写的原因是在sync里面已经把数据全部取出来了,在这个函数里对于数据库的改动不能体现,打个补丁 skuNameJdID := skuExt.JdID - globals.SugarLogger.Debugf("syncSkuNameAsSpu1 sku.id=%d, skuName:%s, skuNameJdID:%d", sku.ID, skuExt.SkuName, skuNameJdID) + globals.SugarLogger.Debugf("syncSkuNameAsSpu1 sku.id=%d, skuName:%s, skuNameJdID:%d", sku.ID, skuExt.Name, skuNameJdID) if skuNameJdID == 0 { tmpSkuName := &model.SkuName{} tmpSkuName.ID = skuExt.ID if err = dao.GetEntity(db, tmpSkuName); err != nil { return "", err } - globals.SugarLogger.Debugf("syncSkuNameAsSpu2 sku.id=%d, skuName:%s, tmpSkuName:%s", sku.ID, skuExt.SkuName, utils.Format4Output(tmpSkuName, false)) + globals.SugarLogger.Debugf("syncSkuNameAsSpu2 sku.id=%d, skuName:%s, tmpSkuName:%s", sku.ID, skuExt.Name, utils.Format4Output(tmpSkuName, false)) skuExt.JdID = tmpSkuName.JdID skuNameJdID = skuExt.JdID } @@ -425,7 +425,7 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt if skuExt.JdSyncStatus != 0 { skuExt.JdSyncStatus = 0 _, err = dao.UpdateEntity(db, &skuExt.SkuName, updateFields...) - globals.SugarLogger.Debugf("syncSkuNameAsSpu4 sku.id=%d, skuName:%s, skuName:%s", sku.ID, skuExt.SkuName, utils.Format4Output(&skuExt.SkuName, false)) + globals.SugarLogger.Debugf("syncSkuNameAsSpu4 sku.id=%d, skuName:%s, skuName:%s", sku.ID, skuExt.Name, utils.Format4Output(&skuExt.SkuName, false)) } } }