diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 225407115..331d974b8 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -3,6 +3,7 @@ package cms import ( "fmt" + "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/partner/putils" @@ -45,7 +46,7 @@ func CreateStoreCategoryByStoreSku(ctx *jxcontext.Context, vendorID, storeID int } func SyncStorCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorID, storeID int, vendorStoreID string, nameIDs, skuIDs []int, isAsync, isContinueWhenError bool) (hint string, err error) { - globals.SugarLogger.Debugf("SyncStorCategories %s storeID:%d, userName:%s", storeID, model.VendorChineseNames[vendorID], ctx.GetUserName()) + globals.SugarLogger.Debugf("SyncStorCategories %s storeID:%d, %s, userName:%s", storeID, model.VendorChineseNames[vendorID], ctx.GetUserName()) handler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler) num := 0 db := dao.GetDB() @@ -69,16 +70,19 @@ func SyncStorCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendor } } else if model.IsSyncStatusNew(catInfo.StoreCatSyncStatus) { // 新增 if err = handler.CreateStoreCategory(ctx, storeID, vendorStoreID, catInfo); err == nil { - refutil.SetObjFieldByName(storeCatMap, syncStatusFieldName, catInfo.VendorCatID) updateFields = append(updateFields, syncStatusFieldName) } } else if model.IsSyncStatusUpdate(catInfo.StoreCatSyncStatus) { // 修改 if err = handler.UpdateStoreCategory(ctx, storeID, vendorStoreID, catInfo); err == nil { - refutil.SetObjFieldByName(storeCatMap, syncStatusFieldName, catInfo.VendorCatID) updateFields = append(updateFields, syncStatusFieldName) } } if err == nil { + if vendorID == model.VendorIDMTWM { + refutil.SetObjFieldByName(storeCatMap, syncStatusFieldName, catInfo.VendorCatID) + } else { + refutil.SetObjFieldByName(storeCatMap, syncStatusFieldName, utils.Str2Int64WithDefault(catInfo.VendorCatID, 0)) + } _, err = dao.UpdateEntity(db, storeCatMap, updateFields...) } return nil, err @@ -98,7 +102,7 @@ func SyncStorCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendor } func SyncStoreSkuNew(ctx *jxcontext.Context, vendorID, storeID int, vendorStoreID string, nameIDs, skuIDs []int, isAsync, isContinueWhenError bool) (hint string, err error) { - singleStoreHandler, _ := partner.GetPrinterPlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler) + singleStoreHandler, _ := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler) if singleStoreHandler != nil { if err = CreateStoreCategoryByStoreSku(ctx, vendorID, storeID, vendorStoreID, nameIDs, skuIDs); err != nil { return "", err @@ -169,14 +173,13 @@ func calVendorPrice4StoreSku(inSku *dao.StoreSkuSyncInfo, pricePercentagePack mo } func sku2Update(vendorID int, sku *dao.StoreSkuSyncInfo, syncStatus int8) (item *dao.KVUpdateItem) { - newSyncStatus := int8(0) if syncStatus&(model.SyncFlagDeletedMask|model.SyncFlagNewMask|model.SyncFlagModifiedMask) != 0 { - newSyncStatus = 0 + sku.StoreSkuSyncStatus = 0 } else { - newSyncStatus = sku.StoreSkuSyncStatus & ^syncStatus + sku.StoreSkuSyncStatus = sku.StoreSkuSyncStatus & ^syncStatus } kvs := map[string]interface{}{ - dao.GetSyncStatusStructField(model.VendorNames[vendorID]): newSyncStatus, + dao.GetSyncStatusStructField(model.VendorNames[vendorID]): sku.StoreSkuSyncStatus, } if syncStatus == model.SyncFlagNewMask { kvs[dao.GetVendorThingIDStructField(model.VendorNames[vendorID])] = sku.VendorSkuID @@ -213,9 +216,8 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorID, if err != nil { return err } - - singleStoreHandler, _ := partner.GetPrinterPlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler) - storeSkuHandler := partner.GetPrinterPlatformFromVendorID(vendorID).(partner.IPurchasePlatformStoreSkuHandler) + singleStoreHandler, _ := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler) + storeSkuHandler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.IPurchasePlatformStoreSkuHandler) var ( createList, updateList []*dao.StoreSkuSyncInfo @@ -239,7 +241,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorID, } } else if model.IsSyncStatusNew(sku.StoreSkuSyncStatus) { calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage)) - if singleStoreHandler != nil { + if singleStoreHandler == nil { bareSku = storeSkuSyncInfo2Bare(sku) stockList = append(stockList, bareSku) } else { @@ -270,7 +272,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorID, if _, err = dao.BatchUpdateEntityByKV(db, updateItems); err != nil { return err } - bareSku2Sync := func(bareSkuList []*partner.StoreSkuInfo) (skuList []*dao.StoreSkuSyncInfo) { if len(bareSkuList) > 0 { skuList = make([]*dao.StoreSkuSyncInfo, len(bareSkuList)) diff --git a/business/partner/purchase/ebai/store_sku2.go b/business/partner/purchase/ebai/store_sku2.go index 381804996..e220d2167 100644 --- a/business/partner/purchase/ebai/store_sku2.go +++ b/business/partner/purchase/ebai/store_sku2.go @@ -84,7 +84,7 @@ func (p *PurchaseHandler) DeleteStoreCategory(ctx *jxcontext.Context, storeID in func (p *PurchaseHandler) UpdateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (err error) { storeSku := storeSkuList[0] if globals.EnableEbaiStoreWrite { - _, err = api.EbaiAPI.SkuUpdate(vendorStoreID, utils.Str2Int64(storeSku.VendorSkuID), genSkuParamsFromStoreSkuInfo2(storeSku)) + _, err = api.EbaiAPI.SkuUpdate(utils.Int2Str(storeID), utils.Str2Int64(storeSku.VendorSkuID), genSkuParamsFromStoreSkuInfo2(storeSku)) } return err } @@ -94,7 +94,7 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v storeSku := storeSkuList[0] var vendorSkuID int64 if globals.EnableEbaiStoreWrite { - vendorSkuID, err = api.EbaiAPI.SkuCreate(vendorStoreID, storeSku.SkuID, genSkuParamsFromStoreSkuInfo2(storeSku)) + vendorSkuID, err = api.EbaiAPI.SkuCreate(utils.Int2Str(storeID), storeSku.SkuID, genSkuParamsFromStoreSkuInfo2(storeSku)) } else { vendorSkuID = jxutils.GenFakeID() }