From 071ae8c5d80ea4cd5a9d575431b33c50d99ca200 Mon Sep 17 00:00:00 2001 From: gazebo Date: Sat, 16 Mar 2019 20:32:00 +0800 Subject: [PATCH] - try mtwm app_poi_code as platform id(not jx id). --- business/partner/purchase/mtwm/store.go | 2 +- business/partner/purchase/mtwm/store_sku.go | 60 ++++++++++++++------- 2 files changed, 41 insertions(+), 21 deletions(-) diff --git a/business/partner/purchase/mtwm/store.go b/business/partner/purchase/mtwm/store.go index 3a76d3733..d7bf319b0 100644 --- a/business/partner/purchase/mtwm/store.go +++ b/business/partner/purchase/mtwm/store.go @@ -119,7 +119,7 @@ func (p *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin params["open_level"], params["is_online"] = bizStatusJX2Mtwm(jxutils.MergeStoreStatus(storeDetail.Status, storeDetail.VendorStatus)) globals.SugarLogger.Debug(utils.Format4Output(params, false)) if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite { - err = api.MtwmAPI.PoiSave(utils.Int2Str(storeDetail.Store.ID), params) + err = api.MtwmAPI.PoiSave(storeDetail.VendorStoreID, params) } return nil } diff --git a/business/partner/purchase/mtwm/store_sku.go b/business/partner/purchase/mtwm/store_sku.go index e0051f2c8..e40da4d00 100644 --- a/business/partner/purchase/mtwm/store_sku.go +++ b/business/partner/purchase/mtwm/store_sku.go @@ -22,9 +22,13 @@ const ( // hint,如果是异步,返回的是任务ID,如果是同步,返回是本次需要同步的目录数 func (p *PurchaseHandler) SyncStoreCategory(ctx *jxcontext.Context, parentTask tasksch.ITask, storeID int, isAsync bool) (hint string, err error) { userName := ctx.GetUserName() - strStoreID := utils.Int2Str(storeID) num := 0 db := dao.GetDB() + storeDetail, err := dao.GetStoreDetail(db, storeID, model.VendorIDMTWM) + if err != nil { + return hint, err + } + vendorStoreID := storeDetail.VendorStoreID rootTask := tasksch.NewSeqTask("美团外卖SyncStoreCategory step1", userName, func(rootTask *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) { level := step + 1 catList, err := dao.GetStoreCategories(db, model.VendorIDMTWM, storeID, level) @@ -35,8 +39,8 @@ func (p *PurchaseHandler) SyncStoreCategory(ctx *jxcontext.Context, parentTask t catInfo := batchItemList[0].(*dao.StoreCatSyncInfo) if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite { if catInfo.MtwmSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除 - globals.SugarLogger.Debugf("RetailCatDelete strStoreID:%s, MtwmID:%s", strStoreID, catInfo.MtwmID) - err = api.MtwmAPI.RetailCatDelete(strStoreID, catInfo.MtwmID) + globals.SugarLogger.Debugf("RetailCatDelete vendorStoreID:%s, MtwmID:%s", vendorStoreID, catInfo.MtwmID) + err = api.MtwmAPI.RetailCatDelete(vendorStoreID, catInfo.MtwmID) } else if catInfo.MtwmSyncStatus&(model.SyncFlagNewMask|model.SyncFlagModifiedMask) != 0 { // 新增 catName := catInfo.CatName subCatName := "" @@ -57,8 +61,8 @@ func (p *PurchaseHandler) SyncStoreCategory(ctx *jxcontext.Context, parentTask t if catName == "" { panic("catName is empty") } - globals.SugarLogger.Debugf("RetailCatUpdate strStoreID:%s, originName:%s, catName:%s, subCatName:%s, seq:%d", strStoreID, originName, catName, subCatName, catInfo.Seq) - if err := api.MtwmAPI.RetailCatUpdate(strStoreID, originName, catName, subCatName, catInfo.Seq); err == nil { + globals.SugarLogger.Debugf("RetailCatUpdate vendorStoreID:%s, originName:%s, catName:%s, subCatName:%s, seq:%d", vendorStoreID, originName, catName, subCatName, catInfo.Seq) + if err := api.MtwmAPI.RetailCatUpdate(vendorStoreID, originName, catName, subCatName, catInfo.Seq); err == nil { catInfo.MtwmID = catInfo.CatName updateFields = append(updateFields, dao.GetVendorThingIDStructField(model.VendorNames[model.VendorIDMTWM])) } @@ -111,8 +115,12 @@ func (p *PurchaseHandler) SyncLocalStoreCategory(ctx *jxcontext.Context, db *dao } identityCatMap := make(map[int]int) // 这里面表示远程有,本地有,且完全相同,可擦掉本地的修改标记 if isCheckRemote { - strStoreID := utils.Int2Str(storeID) - remoteCats, err := api.MtwmAPI.RetailCatList(utils.Int2Str(storeID)) + storeDetail, err := dao.GetStoreDetail(db, storeID, model.VendorIDMTWM) + if err != nil { + return hint, err + } + vendorStoreID := storeDetail.VendorStoreID + remoteCats, err := api.MtwmAPI.RetailCatList(vendorStoreID) if err != nil { return "", err } @@ -121,8 +129,8 @@ func (p *PurchaseHandler) SyncLocalStoreCategory(ctx *jxcontext.Context, db *dao // globals.SugarLogger.Debug(parentCatName, " ", catName, " ", localCat) if localCat == nil { // 本地分类就没有这个名字,直接删除 if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite { - globals.SugarLogger.Debugf("RetailCatDelete2 strStoreID:%s, catName:%s", strStoreID, catName) - if err = api.MtwmAPI.RetailCatDelete(strStoreID, catName); err != nil { + globals.SugarLogger.Debugf("RetailCatDelete2 vendorStoreID:%s, catName:%s", vendorStoreID, catName) + if err = api.MtwmAPI.RetailCatDelete(vendorStoreID, catName); err != nil { return err } } @@ -230,14 +238,14 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks return "", err } // globals.SugarLogger.Debug(utils.Format4Output(skus, false)) - strStoreID := utils.Int2Str(storeID) + vendorStoreID := storeDetail.VendorStoreID rootTask := tasksch.NewParallelTask("美团外卖SyncStoreSkus", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx.GetUserName(), func(rootTask *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { foodDataList := make([]map[string]interface{}, len(batchItemList)) // for k, v := range batchItemList { v := batchItemList[0] skuItem := v.(*dao.StoreSkuSyncInfo) if skuItem.SkuSyncStatus&model.SyncFlagDeletedMask != 0 { - err = api.MtwmAPI.RetailDelete(strStoreID, utils.Int2Str(skuItem.ID)) + err = api.MtwmAPI.RetailDelete(vendorStoreID, utils.Int2Str(skuItem.ID)) } else if skuItem.SkuSyncStatus&(model.SyncFlagModifiedMask|model.SyncFlagNewMask) != 0 { foodData := make(map[string]interface{}) foodDataList[0] = foodData @@ -268,7 +276,7 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks }, } if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite { - err = api.MtwmAPI.RetailBatchInitData(strStoreID, foodDataList) + err = api.MtwmAPI.RetailBatchInitData(vendorStoreID, foodDataList) } } if err == nil { @@ -334,11 +342,15 @@ func (p *PurchaseHandler) DeleteRemoteSkus(ctx *jxcontext.Context, parentTask ta } } } - strStoreID := utils.Int2Str(storeID) + storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDMTWM) + if err != nil { + return err + } + vendorStoreID := storeDetail.VendorStoreID task := tasksch.NewParallelTask("mtwm DeleteRemoteSkus", tasksch.NewParallelConfig().SetIsContinueWhenError(true), "", func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite { - // globals.SugarLogger.Debugf("mtwm RetailDelete strStoreID:%s, sku:%s", strStoreID, batchItemList[0].(string)) - err = api.MtwmAPI.RetailDelete(strStoreID, batchItemList[0].(string)) + // globals.SugarLogger.Debugf("mtwm RetailDelete vendorStoreID:%s, sku:%s", vendorStoreID, batchItemList[0].(string)) + err = api.MtwmAPI.RetailDelete(vendorStoreID, batchItemList[0].(string)) } return nil, err }, vendorSkuIDs) @@ -348,9 +360,13 @@ func (p *PurchaseHandler) DeleteRemoteSkus(ctx *jxcontext.Context, parentTask ta } func (p *PurchaseHandler) GetAllRemoteSkus(storeID int) (skus []map[string]interface{}, err error) { - strStoreID := utils.Int2Str(storeID) + storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDMTWM) + if err != nil { + return nil, err + } + vendorStoreID := storeDetail.VendorStoreID for { - result, err := api.MtwmAPI.RetailList(strStoreID, len(skus), mtwmapi.GeneralMaxLimit) + result, err := api.MtwmAPI.RetailList(vendorStoreID, len(skus), mtwmapi.GeneralMaxLimit) if err != nil { return nil, err } @@ -363,10 +379,14 @@ func (p *PurchaseHandler) GetAllRemoteSkus(storeID int) (skus []map[string]inter } func (p *PurchaseHandler) DeleteRemoteCategories(storeID int, vendorCatIDs []string) (err error) { - strStoreID := utils.Int2Str(storeID) + storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDMTWM) + if err != nil { + return err + } + vendorStoreID := storeDetail.VendorStoreID vendorCatIDs2 := make([]string, 0) if vendorCatIDs == nil { - result, err := api.MtwmAPI.RetailCatList(strStoreID) + result, err := api.MtwmAPI.RetailCatList(vendorStoreID) if err != nil { return err } @@ -388,7 +408,7 @@ func (p *PurchaseHandler) DeleteRemoteCategories(storeID int, vendorCatIDs []str if len(catIDs) > 0 { task := tasksch.NewParallelTask("mtwm DeleteRemoteCategories paralle", tasksch.NewParallelConfig().SetIsContinueWhenError(true), "", func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite { - err = api.MtwmAPI.RetailCatDelete(strStoreID, batchItemList[0].(string)) + err = api.MtwmAPI.RetailCatDelete(vendorStoreID, batchItemList[0].(string)) } return nil, err }, catIDs)