diff --git a/business/partner/purchase/mtwm/store_sku2.go b/business/partner/purchase/mtwm/store_sku2.go index d82363ac3..0f1f7d260 100644 --- a/business/partner/purchase/mtwm/store_sku2.go +++ b/business/partner/purchase/mtwm/store_sku2.go @@ -76,25 +76,52 @@ func (p *PurchaseHandler) IsErrCategoryNotExist(err error) (isNotExist bool) { return mtwmapi.IsErrCategoryNotExist(err) } +func catCode2Str(catCode int) (catCodeStr string) { + if catCode > 0 { + catCodeStr = utils.Int2Str(catCode) + } + return catCodeStr +} + +func tryOriginCatName2Code(originName string) (catCodeStr string) { + if intValue := utils.Str2Int64WithDefault(originName, 0); intValue > 0 { + catCodeStr = utils.Int64ToStr(intValue) + if catCodeStr != originName { + catCodeStr = "" + } + } + return catCodeStr +} + func (p *PurchaseHandler) CreateStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error) { level := 1 if storeCat.ParentCatName != "" { level = 2 } - catName := storeCat.Name - subCatName := "" originName := "" + catName := storeCat.Name + catCode := storeCat.ID + + subCatName := "" + subCatCode := 0 if storeCat.StoreCatSyncStatus&model.SyncFlagNewMask == 0 { + // 修改一级分类 originName = storeCat.VendorCatID } - if level == 2 { + if level == 2 { // 二级分类 + // 创建二级分类 originName = storeCat.ParentCatName catName = storeCat.ParentCatName + catCode = storeCat.ParentID subCatName = storeCat.Name + subCatCode = storeCat.ID if storeCat.StoreCatSyncStatus&model.SyncFlagNewMask == 0 { + // 修改二级分类 originName = storeCat.VendorCatID catName = storeCat.Name + catCode = storeCat.ID subCatName = "" + subCatCode = 0 } } if catName == "" { @@ -102,10 +129,12 @@ func (p *PurchaseHandler) CreateStoreCategory(ctx *jxcontext.Context, storeID in } catName = utils.FilterMb4(catName) subCatName = utils.FilterMb4(subCatName) - globals.SugarLogger.Debugf("mtwm CreateStoreCategory vendorStoreID:%s, originName:%s, catName:%s, subCatName:%s, seq:%d", vendorStoreID, originName, catName, subCatName, storeCat.Seq) + globals.SugarLogger.Debugf("mtwm CreateStoreCategory vendorStoreID:%s, originName:%s, catCode:%d, catName:%s, subCatCode:%d, subCatName:%s, seq:%d", + vendorStoreID, originName, catCode, catName, subCatCode, subCatName, storeCat.Seq) if !(originName == catName && subCatName == "") { if globals.EnableMtwmStoreWrite { - err = api.MtwmAPI.RetailCatUpdate(vendorStoreID, originName, catName, subCatName, storeCat.Seq) + // err = api.MtwmAPI.RetailCatUpdate(vendorStoreID, originName, catName, subCatName, storeCat.Seq) + err = api.MtwmAPI.RetailCatUpdate2(vendorStoreID, tryOriginCatName2Code(originName), originName, catCode2Str(catCode), catName, catCode2Str(subCatCode), subCatName, storeCat.Seq) if storeCat.StoreCatSyncStatus&model.SyncFlagNewMask == 0 && // 修改分类名,但分类不存在 p.IsErrCategoryNotExist(err) && originName != "" { storeCat.StoreCatSyncStatus |= model.SyncFlagNewMask @@ -114,7 +143,8 @@ func (p *PurchaseHandler) CreateStoreCategory(ctx *jxcontext.Context, storeID in } } if err == nil { - storeCat.VendorCatID = utils.FilterMb4(storeCat.Name) + // storeCat.VendorCatID = utils.FilterMb4(storeCat.Name) + storeCat.VendorCatID = utils.Int2Str(storeCat.ID) } return err } @@ -125,7 +155,8 @@ func (p *PurchaseHandler) UpdateStoreCategory(ctx *jxcontext.Context, storeID in func (p *PurchaseHandler) DeleteStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID, vendorCatID string) (err error) { if globals.EnableMtwmStoreWrite { - err = api.MtwmAPI.RetailCatDelete(vendorStoreID, vendorCatID) + // err = api.MtwmAPI.RetailCatDelete(vendorStoreID, vendorCatID) + err = api.MtwmAPI.RetailCatDelete2(vendorStoreID, tryOriginCatName2Code(vendorCatID), vendorCatID) } return err }