sync
This commit is contained in:
@@ -504,7 +504,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
var bareSku *partner.StoreSkuInfo
|
||||
isNeedReorder := false
|
||||
if isStoreSkuSyncNeedDelete(sku) {
|
||||
globals.SugarLogger.Debug("11111111111111111111111")
|
||||
globals.SugarLogger.Debug("1.进入isStoreSkuSyncNeedDelete")
|
||||
if !dao.IsVendorThingIDEmpty(sku.VendorSkuID) {
|
||||
bareSku = storeSkuSyncInfo2Bare(sku)
|
||||
if singleStoreHandler == nil {
|
||||
@@ -513,14 +513,16 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
} else {
|
||||
deleteList = append(deleteList, bareSku)
|
||||
}
|
||||
globals.SugarLogger.Debug("2.stockList,deleteList==============", stockList, deleteList)
|
||||
} else {
|
||||
updateItems = append(updateItems, sku2Update(vendorID, sku, model.SyncFlagDeletedMask))
|
||||
globals.SugarLogger.Debug("3.updateItems==============", updateItems)
|
||||
}
|
||||
} else if model.IsSyncStatusNew(sku.SkuSyncStatus) {
|
||||
globals.SugarLogger.Debug("222222222222222")
|
||||
globals.SugarLogger.Debug("4.进入model.IsSyncStatusNew(sku.SkuSyncStatus)")
|
||||
calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))
|
||||
if singleStoreHandler == nil {
|
||||
globals.SugarLogger.Debug("11111111111111111111111")
|
||||
globals.SugarLogger.Debug("5.进入singleStoreHandler == nil")
|
||||
if dao.IsVendorThingIDEmpty(sku.VendorSkuID) {
|
||||
// todo 多平台商品库没有正常创建,直接跳过
|
||||
} else {
|
||||
@@ -533,10 +535,11 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
} else {
|
||||
offlineList = append(offlineList, bareSku)
|
||||
}
|
||||
globals.SugarLogger.Debug("6.stockList,priceList,onlineList||offlineList ==============", stockList, priceList, onlineList, offlineList)
|
||||
}
|
||||
} else {
|
||||
globals.SugarLogger.Debug("2222222222222223333333333333333")
|
||||
if sku.MergedStatus == model.SkuStatusNormal {
|
||||
globals.SugarLogger.Debug("7.进入sku.MergedStatus == model.SkuStatusNormal")
|
||||
if vendorID == model.VendorIDDD {
|
||||
createList = append(createList, sku)
|
||||
} else if dao.IsVendorThingIDEmpty(sku.VendorCatID) && !strings.Contains(sku.StoreName, model.ExdStoreName) && vendorID != model.VendorIDYB && vendorID != model.VendorIDJDShop {
|
||||
@@ -547,13 +550,13 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
createList = append(createList, sku)
|
||||
}
|
||||
}
|
||||
globals.SugarLogger.Debug("8.createList=======", createList)
|
||||
}
|
||||
isNeedReorder = true
|
||||
} else {
|
||||
globals.SugarLogger.Debug("33333333333333333333333")
|
||||
globals.SugarLogger.Debug("9.进入not isStoreSkuSyncNeedDelete IsSyncStatusNew")
|
||||
if dao.IsVendorThingIDEmpty(sku.VendorSkuID) && vendorID != model.VendorIDJDShop {
|
||||
globals.SugarLogger.Debug("3333333333333333333333344444444444444")
|
||||
|
||||
globals.SugarLogger.Debug("10.进入vendorID != model.VendorIDJDShop")
|
||||
// err = fmt.Errorf("门店:%d,修改没有创建的商品:%d", storeID, sku.SkuID)
|
||||
if vendorID != model.VendorIDJDShop || (vendorID == model.VendorIDJDShop && storeID == model.JdShopMainStoreID && sku.StoreSkuStatus != model.SkuStatusDontSale) {
|
||||
err = utils.NewErrorCode(fmt.Sprintf("门店:%d,修改没有创建的商品:%d", storeID, sku.SkuID), "-1", 0)
|
||||
@@ -564,9 +567,9 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
parentTask.AddBatchErr(err)
|
||||
parentTask.AddFailedList(failedList)
|
||||
}
|
||||
globals.SugarLogger.Debug("11.failedList======", failedList)
|
||||
} else {
|
||||
globals.SugarLogger.Debug("3333333333333333333333355555555555")
|
||||
|
||||
globals.SugarLogger.Debug("12.进入vendorID == model.VendorIDJDShop")
|
||||
isAdded2Update := false
|
||||
// 修改商品信息时不改价(以免活动引起的失败),而用单独的改价来改
|
||||
if (model.IsSyncStatusUpdate(sku.SkuSyncStatus) || (model.IsSyncStatusSeq(sku.SkuSyncStatus) && reorderHandler == nil)) && singleStoreHandler != nil {
|
||||
@@ -576,14 +579,15 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
isAdded2Update = true
|
||||
updateList = append(updateList, calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage)))
|
||||
}
|
||||
globals.SugarLogger.Debug("13.updateList================", updateList)
|
||||
}
|
||||
if model.IsSyncStatusPrice(sku.SkuSyncStatus) {
|
||||
bareSku = storeSkuSyncInfo2Bare(calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage)))
|
||||
priceList = append(priceList, bareSku)
|
||||
globals.SugarLogger.Debug("14. priceList=====================", priceList)
|
||||
}
|
||||
if !isAdded2Update {
|
||||
globals.SugarLogger.Debug("333333333333333333333335555555555566666666666666666")
|
||||
|
||||
globals.SugarLogger.Debug("15.进入!isAdded2Update")
|
||||
if model.IsSyncStatusUpdate(sku.SkuSyncStatus) && singleStoreHandler == nil { // 正常就不应该进到这里
|
||||
// if bareSku == nil {
|
||||
// bareSku = storeSkuSyncInfo2Bare(sku)
|
||||
@@ -604,6 +608,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
// stockList = append(stockList, bareSku)
|
||||
// }
|
||||
}
|
||||
globals.SugarLogger.Debug("16.onlineList,stockList,offlineList===========", onlineList, stockList, offlineList)
|
||||
}
|
||||
//if model.IsSyncStatusStock(sku.SkuSyncStatus) {
|
||||
// if bareSku == nil {
|
||||
@@ -691,7 +696,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
task := tasksch.NewParallelTask("syncStoreSkuNew", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError2), ctx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
step := batchItemList[0].(int)
|
||||
// globals.SugarLogger.Debugf("step:%d", step)
|
||||
globals.SugarLogger.Debugf("17.deleteList,createList,updateList,stockList===============", deleteList, createList, updateList, stockList)
|
||||
switch step {
|
||||
case 0:
|
||||
if len(deleteList) > 0 {
|
||||
@@ -739,6 +744,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(batchedStoreSkuList, err2, storeID, model.VendorChineseNames[vendorID], "查询是否有该商品")...)
|
||||
}
|
||||
}
|
||||
globals.SugarLogger.Debug("18.updateList,failedList=========================", updateList, failedList)
|
||||
failedList, err = buildFailedListAndErr(failedList, err, nil, batchedStoreSkuList, storeID, vendorID, "创建门店商品")
|
||||
if len(failedList) > 0 {
|
||||
task.AddFailedList(failedList)
|
||||
@@ -755,7 +761,12 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
}
|
||||
successList := putils.UnselectStoreSkuSyncListByVendorSkuIDs(batchedStoreSkuList, GetVendorSkuIDList(failedList))
|
||||
if len(successList) > 0 {
|
||||
updateStoreSku(dao.GetDB(), vendorID, successList, model.SyncFlagNewMask)
|
||||
globals.SugarLogger.Debug("19.len(successList) > 0 ", updateList, failedList)
|
||||
_, err := updateStoreSku(dao.GetDB(), vendorID, successList, model.SyncFlagNewMask)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Debugf("20.sth wrong on updateStoreSku: %v", err)
|
||||
//return nil, 0, err
|
||||
}
|
||||
}
|
||||
return nil, len(successList), err
|
||||
}, ctx, task, createList, 1, isContinueWhenError2)
|
||||
@@ -768,13 +779,24 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
_, err = putils.FreeBatchStoreSkuSyncInfo("更新门店商品基础信息", func(task tasksch.ITask, batchedStoreSkuList []*dao.StoreSkuSyncInfo) (result interface{}, successCount int, err error) {
|
||||
var failedList []*partner.StoreSkuInfoWithErr
|
||||
failedList, err = singleStoreHandler.UpdateStoreSkus(ctx, storeID, vendorStoreID, batchedStoreSkuList)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Debugf("21.sth wrong on singleStoreHandler.UpdateStoreSkus: %v", err)
|
||||
}
|
||||
failedList, err = buildFailedListAndErr(failedList, err, nil, batchedStoreSkuList, storeID, vendorID, "更新门店商品基础信息")
|
||||
if err != nil {
|
||||
globals.SugarLogger.Debugf("22.sth wrong on buildFailedListAndErr: %v", err)
|
||||
}
|
||||
if len(failedList) > 0 {
|
||||
task.AddFailedList(failedList)
|
||||
}
|
||||
successList := putils.UnselectStoreSkuSyncListByVendorSkuIDs(batchedStoreSkuList, GetVendorSkuIDList(failedList))
|
||||
globals.SugarLogger.Debug("23.failedList,successList============", failedList, successList)
|
||||
if len(successList) > 0 {
|
||||
updateStoreSku(dao.GetDB(), vendorID, successList, model.SyncFlagModifiedMask)
|
||||
_, err := updateStoreSku(dao.GetDB(), vendorID, successList, model.SyncFlagModifiedMask)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Debugf("24.sth wrong on updateStoreSku: %v", err)
|
||||
//return nil, 0, err
|
||||
}
|
||||
}
|
||||
return nil, len(successList), err
|
||||
}, ctx, task, updateList, singleStoreHandler.GetStoreSkusBatchSize(partner.FuncUpdateStoreSkus), isContinueWhenError2)
|
||||
|
||||
@@ -262,7 +262,7 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
|
||||
if storeInfo.SyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreStatus) != 0 {
|
||||
errList.AddErr(P.UpdateStoreStatus(jxcontext.AdminCtx, storeInfo.VendorOrgCode, storeID, storeInfo.VendorStoreID, mergedStoreStatus))
|
||||
}
|
||||
_, err3 := api.EditStore(params)
|
||||
err3 := api.EditStore(params)
|
||||
if err3 != nil {
|
||||
errList.AddErr(err3)
|
||||
} else {
|
||||
@@ -584,7 +584,7 @@ func (P *PurchaseHandler) UpdateStoreOpTime(ctx *jxcontext.Context, vendorOrgCod
|
||||
},
|
||||
}
|
||||
if globals.EnableDdStoreWrite {
|
||||
_, err = getAPI(vendorOrgCode, storeID, vendorStoreID).EditStore(params)
|
||||
err = getAPI(vendorOrgCode, storeID, vendorStoreID).EditStore(params)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user