This commit is contained in:
richboo111
2022-10-20 10:30:28 +08:00
parent 5a019b2ce2
commit 73d704a9af
2 changed files with 38 additions and 16 deletions

View File

@@ -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.stockListdeleteList==============", 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.stockListpriceListonlineList||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.onlineListstockListofflineList===========", 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.failedListsuccessList============", 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)

View File

@@ -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
}