This commit is contained in:
邹宗楠
2022-12-14 17:26:47 +08:00
parent 1d3f68c103
commit 2e6b08ce9f
2 changed files with 22 additions and 16 deletions

View File

@@ -743,7 +743,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
}
}
successList := putils.UnselectStoreSkuSyncListByVendorSkuIDs(batchedStoreSkuList, GetVendorSkuIDList(failedList))
globals.SugarLogger.Debugf("successList ============== %s", utils.Format4Output(successList, false))
if len(successList) > 0 {
_, err := updateStoreSku(dao.GetDB(), vendorID, successList, model.SyncFlagNewMask)
if err != nil {

View File

@@ -225,21 +225,22 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
globals.SugarLogger.Debugf("========err %s", utils.Format4Output(err, false))
if err != nil {
failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID)
continue
}
if err := dao.CreateThingMap(int64(storeSku.SkuID), utils.Int64ToStr(tiktokResult.ProductId), storeDetail.VendorOrgCode, "本地不存在,线上也不存在", model.ThingTypeSku, model.SyncFlagNewMask); err != nil {
failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
}
var attrId []string
for _, v := range tiktokResult.Sku {
attrId = append(attrId, utils.Int64ToStr(v.SkuId))
}
storeSku.SkuSyncStatus = model.SyncFlagNewMask
storeSku.VendorMainId = utils.Int64ToStr(tiktokResult.ProductId)
storeSku.VendorSkuAttrId = strings.Join(attrId, ",") // 属性id skuID
storeSku.VendorSonSkuID = utils.Int2Str(storeSku.SkuID) // 还没同步子商品
//var attrId []string
//for _, v := range tiktokResult.Sku {
// attrId = append(attrId, utils.Int64ToStr(v.SkuId))
//}
//storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID)
//storeSku.SkuSyncStatus = model.SyncFlagStoreSkuModifiedMask // 只创建主品,子品都没做
//storeSku.VendorMainId = utils.Int64ToStr(tiktokResult.ProductId)
//storeSku.VendorSkuAttrId = strings.Join(attrId, ",") // 属性id skuID
//storeSku.VendorSonSkuID = utils.Int2Str(storeSku.SkuID) // 还没同步子商品
failedList = putils.GetErrMsg2FailedSingleList(storeSku, errors.New("只创建了主商品,没创建子商品"), storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
} else {
globals.SugarLogger.Debugf("========result %s", "本地不存在,线上存在,创建本地主品,分配子商品")
// 本地不存在,线上存在.直接创建子商品保存本地同步记录
@@ -249,12 +250,14 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
continue
}
if err := dao.CreateThingMap(int64(storeSku.SkuID), mainOrderDetail.ProductIdStr, storeDetail.VendorOrgCode, storeSku.VendorSkuAttrId, model.ThingTypeSku, 0); err != nil {
failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
}
childrenProductId, err = api.CreateSubProduct(mainOrderDetail.MainProductId, utils.Str2Int64(vendorStoreID))
if err != nil {
failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
}
if err := dao.CreateThingMap(int64(storeSku.SkuID), mainOrderDetail.ProductIdStr, storeDetail.VendorOrgCode, storeSku.VendorSkuAttrId, model.ThingTypeSku, 0); err != nil {
failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
continue
}
storeSku.VendorMainId = mainOrderDetail.ProductIdStr
@@ -266,12 +269,12 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
if childrenProductId > 0 {
storeSku.VendorSonSkuID = utils.Int64ToStr(childrenProductId) // (属性id skuID方案一)(自商品的商品id方案二)
storeSku.VendorSkuID = utils.Int64ToStr(childrenProductId) // 子商品主id
storeSku.SkuSyncStatus = 0
failedList = upDateChildrenPriceStockLaunch(api, storeSku, childrenProductId, vendorStoreID, syncType)
} else {
storeSku.VendorSonSkuID = utils.Int2Str(storeSku.SkuID) // (属性id skuID方案一)(自商品的商品id方案二)
storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID) // 子商品主id
storeSku.SkuSyncStatus = model.SyncFlagNewMask
failedList = putils.GetErrMsg2FailedSingleList(storeSku, errors.New("主商品创建了,子商品为创建"), storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
}
}
} else {
@@ -280,7 +283,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
childrenProductId, err := api.CreateSubProduct(utils.Str2Int64(localThing[0].VendorThingID), utils.Str2Int64(vendorStoreID))
if err != nil || childrenProductId == 0 {
failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
storeSku.SkuSyncStatus = model.SyncFlagNewMask
storeSku.SkuSyncStatus = model.SyncFlagStoreSkuModifiedMask
storeSku.VendorSonSkuID = utils.Int64ToStr(childrenProductId) // (属性id skuID方案一)(自商品的商品id方案二)
storeSku.VendorSkuID = utils.Int64ToStr(childrenProductId) // 子商品主id
storeSku.VendorMainId = localThing[0].VendorThingID // 商品主id
@@ -289,7 +292,6 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
// 同步价格,库存,上架
failedList = upDateChildrenPriceStockLaunch(api, storeSku, childrenProductId, vendorStoreID, syncType)
storeSku.SkuSyncStatus = 0
storeSku.VendorSonSkuID = utils.Int64ToStr(childrenProductId) // (属性id skuID方案一)(自商品的商品id方案二)
storeSku.VendorSkuID = utils.Int64ToStr(childrenProductId) // 子商品主id
storeSku.VendorMainId = localThing[0].VendorThingID // 商品主id
@@ -401,6 +403,11 @@ func upDateChildrenPriceStockLaunch(api *tiktokShop.API, storeSku *dao.StoreSkuS
if err := api.LaunchProduct(childrenProductId); err != nil {
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(storeSku, err, storeSku.StoreID, model.VendorChineseNames[model.VendorIDDD], fmt.Sprintf("上架子商品异常.%s", err.Error()))...)
}
if len(failedList) > 0 {
storeSku.SkuSyncStatus = model.SyncFlagStoreSkuModifiedMask
} else {
storeSku.SkuSyncStatus = 0
}
return failedList
}