diff --git a/business/model/dao/thing_map.go b/business/model/dao/thing_map.go index 24176ed83..bc51fa0b8 100644 --- a/business/model/dao/thing_map.go +++ b/business/model/dao/thing_map.go @@ -27,20 +27,16 @@ func GetThingMapList(db *DaoDB, thingType int, vendorIDs, thingIDs []int, vendor return cats, err } -func CreateThingMap(thingId int64, vendorThingID, appOrgCode, skuAttrId string, thingType, syncStatus int8) error { +func CreateThingMap(thingId int64, vendorThingID, appOrgCode, err string, thingType, syncStatus int8) error { thingMap := &model.ThingMap{ ThingID: thingId, ThingType: thingType, VendorID: model.VendorIDDD, VendorOrgCode: appOrgCode, VendorThingID: vendorThingID, - Remark: skuAttrId, + Remark: err, SyncStatus: syncStatus, } - // 正常来说这个skuAttrId 不应该为空 - if skuAttrId == "" { - thingMap.Remark = "这个值不应该为空才对" - } WrapAddIDCULDEntity(thingMap, "jxadmin") return CreateEntity(GetDB(), thingMap) diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index 7da7003b8..ca333d5ed 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -152,7 +152,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI OuterProductId: utils.Int2Str(storeSku.SkuID), // 本地skuId为外部商品id } if len(param.Name) < 23 { // 中文字符一个汉字三个长度符号/数字/字母两个长度,商品名称不能大于 - param.Name += "【惊喜到家】" + param.Name += "【同城配送】" } else if len(param.Name) > 90 { // 抖音最大60个字符,三十个汉字 param.Name = param.Name[0:90] } @@ -218,11 +218,15 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI if len(localThing) == 0 { mainOrderDetail, err := api.GetSkuDetailLocalID("", utils.Int2Str(storeSku.SkuID)) if err != nil || mainOrderDetail == nil || mainOrderDetail.ProductIdStr == "" { + globals.SugarLogger.Debugf("========result %s", "本地不存在,线上也不存在") tiktokResult, err := api.CreateStoreCommodity(param) // 创建主商品,同步主商品 + globals.SugarLogger.Debugf("========result %s", utils.Format4Output(tiktokResult, false)) + globals.SugarLogger.Debugf("========err %s", utils.Format4Output(err, false)) if err != nil { - if err := dao.CreateThingMap(int64(storeSku.SkuID), utils.Int64ToStr(tiktokResult.ProductId), storeDetail.VendorOrgCode, storeSku.VendorSkuAttrId, model.ThingTypeSku, model.SyncFlagNewMask); err != nil { + if err := dao.CreateThingMap(int64(storeSku.SkuID), utils.Int64ToStr(tiktokResult.ProductId), storeDetail.VendorOrgCode, err.Error(), model.ThingTypeSku, model.SyncFlagNewMask); err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) } + } else { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID) continue @@ -236,15 +240,19 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI storeSku.VendorSkuAttrId = strings.Join(attrId, ",") // 属性id skuID storeSku.VendorSonSkuID = utils.Int2Str(storeSku.SkuID) // 还没同步子商品 } else { + globals.SugarLogger.Debugf("========result %s", "本地不存在,线上存在,创建本地主品,分配子商品") // 本地不存在,线上存在.直接创建子商品保存本地同步记录 var childrenProductId int64 = 0 - if mainOrderDetail.CheckStatus == 3 { - childrenProductId, err = api.CreateSubProduct(mainOrderDetail.MainProductId, utils.Str2Int64(vendorStoreID)) - if err != nil { - failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) - if storeSku.VendorSkuID == "" { - storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID) - } + if mainOrderDetail.CheckStatus != tiktokShop.SkuCheckStatusPass && mainOrderDetail.CheckStatus != tiktokShop.SkuCheckStatusPassNotPutOn { + failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, fmt.Errorf("主商品审核中或审核失败:[%d]", storeSku.SkuID), storeID, model.VendorChineseNames[model.VendorIDDD], syncType) + continue + } + + childrenProductId, err = api.CreateSubProduct(mainOrderDetail.MainProductId, utils.Str2Int64(vendorStoreID)) + if err != nil { + failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) + if storeSku.VendorSkuID == "" { + storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID) } } if err := dao.CreateThingMap(int64(storeSku.SkuID), mainOrderDetail.ProductIdStr, storeDetail.VendorOrgCode, storeSku.VendorSkuAttrId, model.ThingTypeSku, 0); err != nil { @@ -263,7 +271,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI storeSku.VendorSkuID = utils.Int64ToStr(childrenProductId) // 子商品主id } } else { - + globals.SugarLogger.Debugf("========result %s", "本地存在,直接创建子商品") // 主商品存在,直接同步子商品 childrenProductId, err := api.CreateSubProduct(utils.Str2Int64(localThing[0].VendorThingID), utils.Str2Int64(vendorStoreID)) if err != nil { @@ -309,7 +317,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI } if len(param.Name) < 23 { // 中文字符一个汉字三个长度符号/数字/字母两个长度,商品名称不能大于 - param.Name += "【惊喜到家】" + param.Name += "【同城配送】" } else if len(param.Name) > 90 { // 抖音最大60个字符,三十个汉字 param.Name = param.Name[0:90] }