From 754eff917eecbf25f4de3b077e3bceb11c318f93 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 16 Oct 2019 10:59:20 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BE=8E=E5=9B=A2=E5=95=86=E5=93=81=E5=88=86?= =?UTF-8?q?=E7=B1=BB=E6=8C=89code=E8=BF=9B=E8=A1=8C=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/mtwm/store_sku2.go | 45 +++++++++++++++++--- 1 file changed, 38 insertions(+), 7 deletions(-) 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 }