This commit is contained in:
苏尹岚
2020-11-26 17:44:24 +08:00
parent 7688fe50c2
commit 777fcf52f7
2 changed files with 53 additions and 61 deletions

View File

@@ -680,19 +680,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
} }
case 1: case 1:
if len(createList) > 0 { if len(createList) > 0 {
//jds2创商品太快了。。
if vendorID == model.VendorIDJDShop && storeID == model.JdShopMainStoreID2 {
var failedList []*partner.StoreSkuInfoWithErr
failedList, err = singleStoreHandler.CreateStoreSkus(ctx, storeID, vendorStoreID, createList)
failedList, err = buildFailedListAndErr(failedList, err, nil, createList, storeID, vendorID, "创建门店商品")
if len(failedList) > 0 {
task.AddFailedList(failedList)
}
successList := putils.UnselectStoreSkuSyncListByVendorSkuIDs(createList, GetVendorSkuIDList(failedList))
if len(successList) > 0 {
updateStoreSku(dao.GetDB(), vendorID, successList, model.SyncFlagNewMask)
}
} else {
_, err = putils.FreeBatchStoreSkuSyncInfo("创建门店商品", func(task tasksch.ITask, batchedStoreSkuList []*dao.StoreSkuSyncInfo) (result interface{}, successCount int, err error) { _, err = putils.FreeBatchStoreSkuSyncInfo("创建门店商品", func(task tasksch.ITask, batchedStoreSkuList []*dao.StoreSkuSyncInfo) (result interface{}, successCount int, err error) {
var failedList []*partner.StoreSkuInfoWithErr var failedList []*partner.StoreSkuInfoWithErr
if failedList, err = singleStoreHandler.CreateStoreSkus(ctx, storeID, vendorStoreID, batchedStoreSkuList); singleStoreHandler.IsErrSkuExist(err) { if failedList, err = singleStoreHandler.CreateStoreSkus(ctx, storeID, vendorStoreID, batchedStoreSkuList); singleStoreHandler.IsErrSkuExist(err) {
@@ -734,7 +721,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
return nil, len(successList), err return nil, len(successList), err
}, ctx, task, createList, 1 /*singleStoreHandler.GetStoreSkusBatchSize(partner.FuncCreateStoreSkus)*/, isContinueWhenError2) }, ctx, task, createList, 1 /*singleStoreHandler.GetStoreSkusBatchSize(partner.FuncCreateStoreSkus)*/, isContinueWhenError2)
} }
}
case 2: case 2:
if len(updateList) > 0 { if len(updateList) > 0 {
_, err = putils.FreeBatchStoreSkuSyncInfo("更新门店商品基础信息", func(task tasksch.ITask, batchedStoreSkuList []*dao.StoreSkuSyncInfo) (result interface{}, successCount int, err error) { _, err = putils.FreeBatchStoreSkuSyncInfo("更新门店商品基础信息", func(task tasksch.ITask, batchedStoreSkuList []*dao.StoreSkuSyncInfo) (result interface{}, successCount int, err error) {

View File

@@ -43,8 +43,8 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v
flag2 := false flag2 := false
result, err := getAPI(v.VendorOrgCode).SearchWare4Valid(name, 1, 100) result, err := getAPI(v.VendorOrgCode).SearchWare4Valid(name, 1, 100)
if err != nil { if err != nil {
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品")...) failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品")
continue return failedList, err
} }
for _, v := range result.Data { for _, v := range result.Data {
if v.Title == name { if v.Title == name {
@@ -117,14 +117,14 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v
updateSkusParam, wareSaveSku, err := buildUpdateSkusParam(v, vv, true) updateSkusParam, wareSaveSku, err := buildUpdateSkusParam(v, vv, true)
wareSaveSkus = append(wareSaveSkus, wareSaveSku) wareSaveSkus = append(wareSaveSkus, wareSaveSku)
if err != nil { if err != nil {
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品")...) failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品")
continue return failedList, err
} }
if v.VendorOrgCode == "1" { if v.VendorOrgCode == "1" {
vendorSkuID, err := getAPI(v.VendorOrgCode).UpdateSkus(updateSkusParam) vendorSkuID, err := getAPI(v.VendorOrgCode).UpdateSkus(updateSkusParam)
if err != nil { if err != nil {
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品")...) failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品")
continue return failedList, err
} }
vv.VendorSkuID = vendorSkuID vv.VendorSkuID = vendorSkuID
} else { } else {
@@ -144,8 +144,8 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v
} else { } else {
createSkuParamWare, createSkuParamSkus, wareSaveParam, err := buildCreateWareParam(v) createSkuParamWare, createSkuParamSkus, wareSaveParam, err := buildCreateWareParam(v)
if err != nil { if err != nil {
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品")...) failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品")
continue return failedList, err
} }
var ( var (
wareID int64 wareID int64
@@ -176,8 +176,14 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v
} }
} }
} else { } else {
createSkuResult, err2 := api.JdShop2API.WareSave(wareSaveParam) var createSkuResult []*jdshopapi.WareSaveResult
err = err2 for {
createSkuResult, err = api.JdShop2API.WareSave(wareSaveParam)
if len(createSkuResult) > 0 {
break
}
time.Sleep(time.Second / 2)
}
wareID = createSkuResult[0].WareID wareID = createSkuResult[0].WareID
var paramAttrs = make(map[string]*jdshopapi.WareSaveSkus) var paramAttrs = make(map[string]*jdshopapi.WareSaveSkus)
@@ -203,8 +209,8 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v
err = api.JdShop2API.WareDoUpdate("up", utils.Int64ToStr(wareID)) err = api.JdShop2API.WareDoUpdate("up", utils.Int64ToStr(wareID))
} }
if err != nil { if err != nil {
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品")...) failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品")
continue return failedList, err
} else { } else {
//追加商品透图 //追加商品透图
imageURL := "" imageURL := ""
@@ -226,8 +232,8 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v
} }
} }
if err != nil { if err != nil {
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品")...) failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品")
continue return failedList, err
} }
} }
} }