try
This commit is contained in:
@@ -692,48 +692,48 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
|||||||
if len(successList) > 0 {
|
if len(successList) > 0 {
|
||||||
updateStoreSku(dao.GetDB(), vendorID, successList, model.SyncFlagNewMask)
|
updateStoreSku(dao.GetDB(), vendorID, successList, model.SyncFlagNewMask)
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
_, err = putils.FreeBatchStoreSkuSyncInfo("创建门店商品", func(task tasksch.ITask, batchedStoreSkuList []*dao.StoreSkuSyncInfo) (result interface{}, successCount int, err error) {
|
||||||
|
var failedList []*partner.StoreSkuInfoWithErr
|
||||||
|
if failedList, err = singleStoreHandler.CreateStoreSkus(ctx, storeID, vendorStoreID, batchedStoreSkuList); singleStoreHandler.IsErrSkuExist(err) {
|
||||||
|
if skuNameList, err2 := singleStoreHandler.GetStoreSkusFullInfo(ctx, task, storeID, vendorStoreID, []*partner.StoreSkuInfo{
|
||||||
|
&partner.StoreSkuInfo{
|
||||||
|
SkuID: batchedStoreSkuList[0].SkuID,
|
||||||
|
VendorSkuID: batchedStoreSkuList[0].VendorSkuID,
|
||||||
|
},
|
||||||
|
}); err2 == nil && len(skuNameList) > 0 {
|
||||||
|
batchedStoreSkuList[0].VendorNameID = skuNameList[0].VendorNameID
|
||||||
|
batchedStoreSkuList[0].VendorSkuID = skuNameList[0].SkuList[0].VendorSkuID
|
||||||
|
|
||||||
|
// 如果创建商品时已经存在,需要更新
|
||||||
|
updateList = append(updateList, calVendorPrice4StoreSku(batchedStoreSkuList[0], storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage)))
|
||||||
|
err = nil
|
||||||
|
failedList = nil // 因为batchSize为1,可以这样处理
|
||||||
|
} else if err2 != nil {
|
||||||
|
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(batchedStoreSkuList, err2, storeID, model.VendorChineseNames[vendorID], "查询是否有该商品")...)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
failedList, err = buildFailedListAndErr(failedList, err, nil, batchedStoreSkuList, storeID, vendorID, "创建门店商品")
|
||||||
|
if len(failedList) > 0 {
|
||||||
|
task.AddFailedList(failedList)
|
||||||
|
}
|
||||||
|
if err != nil {
|
||||||
|
//handle error for sensitive words, if find, then insert to table sensitive_words
|
||||||
|
if sensitiveWord := GetSensitiveWord(singleStoreHandler, err.Error()); sensitiveWord != "" {
|
||||||
|
dao.InsertSensitiveWord(sensitiveWord, vendorID, ctx.GetUserName())
|
||||||
|
// words, _ := dao.GetSensitiveWordList(vendorID)
|
||||||
|
// word := words[0]
|
||||||
|
// word.Word = word.Word + "," + sensitiveWord
|
||||||
|
// dao.UpdateSensitiveWord(word, vendorID, 0, ctx.GetUserName())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
successList := putils.UnselectStoreSkuSyncListByVendorSkuIDs(batchedStoreSkuList, GetVendorSkuIDList(failedList))
|
||||||
|
if len(successList) > 0 {
|
||||||
|
updateStoreSku(dao.GetDB(), vendorID, successList, model.SyncFlagNewMask)
|
||||||
|
}
|
||||||
|
return nil, len(successList), err
|
||||||
|
}, ctx, task, createList, 1 /*singleStoreHandler.GetStoreSkusBatchSize(partner.FuncCreateStoreSkus)*/, isContinueWhenError2)
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = putils.FreeBatchStoreSkuSyncInfo("创建门店商品", func(task tasksch.ITask, batchedStoreSkuList []*dao.StoreSkuSyncInfo) (result interface{}, successCount int, err error) {
|
|
||||||
var failedList []*partner.StoreSkuInfoWithErr
|
|
||||||
if failedList, err = singleStoreHandler.CreateStoreSkus(ctx, storeID, vendorStoreID, batchedStoreSkuList); singleStoreHandler.IsErrSkuExist(err) {
|
|
||||||
if skuNameList, err2 := singleStoreHandler.GetStoreSkusFullInfo(ctx, task, storeID, vendorStoreID, []*partner.StoreSkuInfo{
|
|
||||||
&partner.StoreSkuInfo{
|
|
||||||
SkuID: batchedStoreSkuList[0].SkuID,
|
|
||||||
VendorSkuID: batchedStoreSkuList[0].VendorSkuID,
|
|
||||||
},
|
|
||||||
}); err2 == nil && len(skuNameList) > 0 {
|
|
||||||
batchedStoreSkuList[0].VendorNameID = skuNameList[0].VendorNameID
|
|
||||||
batchedStoreSkuList[0].VendorSkuID = skuNameList[0].SkuList[0].VendorSkuID
|
|
||||||
|
|
||||||
// 如果创建商品时已经存在,需要更新
|
|
||||||
updateList = append(updateList, calVendorPrice4StoreSku(batchedStoreSkuList[0], storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage)))
|
|
||||||
err = nil
|
|
||||||
failedList = nil // 因为batchSize为1,可以这样处理
|
|
||||||
} else if err2 != nil {
|
|
||||||
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(batchedStoreSkuList, err2, storeID, model.VendorChineseNames[vendorID], "查询是否有该商品")...)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
failedList, err = buildFailedListAndErr(failedList, err, nil, batchedStoreSkuList, storeID, vendorID, "创建门店商品")
|
|
||||||
if len(failedList) > 0 {
|
|
||||||
task.AddFailedList(failedList)
|
|
||||||
}
|
|
||||||
if err != nil {
|
|
||||||
//handle error for sensitive words, if find, then insert to table sensitive_words
|
|
||||||
if sensitiveWord := GetSensitiveWord(singleStoreHandler, err.Error()); sensitiveWord != "" {
|
|
||||||
dao.InsertSensitiveWord(sensitiveWord, vendorID, ctx.GetUserName())
|
|
||||||
// words, _ := dao.GetSensitiveWordList(vendorID)
|
|
||||||
// word := words[0]
|
|
||||||
// word.Word = word.Word + "," + sensitiveWord
|
|
||||||
// dao.UpdateSensitiveWord(word, vendorID, 0, ctx.GetUserName())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
successList := putils.UnselectStoreSkuSyncListByVendorSkuIDs(batchedStoreSkuList, GetVendorSkuIDList(failedList))
|
|
||||||
if len(successList) > 0 {
|
|
||||||
updateStoreSku(dao.GetDB(), vendorID, successList, model.SyncFlagNewMask)
|
|
||||||
}
|
|
||||||
return nil, len(successList), err
|
|
||||||
}, ctx, task, createList, 1 /*singleStoreHandler.GetStoreSkusBatchSize(partner.FuncCreateStoreSkus)*/, isContinueWhenError2)
|
|
||||||
}
|
}
|
||||||
case 2:
|
case 2:
|
||||||
if len(updateList) > 0 {
|
if len(updateList) > 0 {
|
||||||
|
|||||||
Reference in New Issue
Block a user