From 1a0a535d7bbff7aaed13f6ffac907e798e08eda6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 17 Feb 2020 09:12:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E8=BF=87=E6=BB=A4=E6=8E=89?= =?UTF-8?q?=E9=A5=BF=E9=B2=9C=E8=BE=BE=E4=B8=8D=E8=A6=81=E7=9A=84=E5=88=86?= =?UTF-8?q?=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sku.go | 24 ++++++++++++++++++ business/partner/purchase/ebai/store_sku2.go | 26 ++++++++++++++------ controllers/cms_sku.go | 13 ++++++++++ routers/commentsRouter_controllers.go | 9 +++++++ 4 files changed, 65 insertions(+), 7 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 139dbd7d8..040557d08 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -1511,3 +1511,27 @@ func SumExianDaDepot(ctx *jxcontext.Context) (err error) { } return err } + +func CopyEbaiSkuPriceToJx(ctx *jxcontext.Context) (err error) { + db := dao.GetDB() + skuList, err := api.EbaiAPI.PageGetSkuList(32267350915) + for _, v := range skuList { + price := int(utils.Float64TwoInt64(v["sale_price"].(float64) * 100)) + var skuNameList []*model.SkuName + sql := ` + SELECT * + FROM sku_name + WHERE upc = ? + AND exd_sku_id <> '' + ` + sqlParams := []interface{}{ + v["upc"].(string), + } + err = dao.GetRows(db, &skuNameList, sql, sqlParams...) + for _, vv := range skuNameList { + vv.Price = price + dao.UpdateEntity(db, vv, "Price") + } + } + return err +} diff --git a/business/partner/purchase/ebai/store_sku2.go b/business/partner/purchase/ebai/store_sku2.go index aac799413..2e5c1b2e5 100644 --- a/business/partner/purchase/ebai/store_sku2.go +++ b/business/partner/purchase/ebai/store_sku2.go @@ -24,6 +24,9 @@ const ( var ( sensitiveWordRegexp = regexp.MustCompile(`商品名称中含有敏感词(\[.*\])`) + categoryCheck = map[string]string{ + "赠品专区": "赠品专区", + } ) func (p *PurchaseHandler) GetStoreSkusBatchSize(funcID int) (batchSize int) { @@ -71,23 +74,29 @@ func (p *PurchaseHandler) IsErrCategoryNotExist(err error) (isNotExist bool) { return ebaiapi.IsErrCategoryNotExist(err) } -func getCheckExdStoreNameAndSeq(storeID int, storeCat *dao.SkuStoreCatInfo) (name string, seq int) { +func getCheckExdStoreNameAndSeq(storeID int, storeCat *dao.SkuStoreCatInfo) (name string, seq int, isCheck bool) { store, err := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDEBAI) if err != nil || store == nil { - return storeCat.Name, storeCat.Seq + return storeCat.Name, storeCat.Seq, false } if strings.Contains(store.Name, model.ExdStoreName) { - return storeCat.ExdName, storeCat.ExdSeq + if categoryCheck[storeCat.ExdName] != "" { + return storeCat.ExdName, storeCat.ExdSeq, true + } + return storeCat.ExdName, storeCat.ExdSeq, false } else { - return storeCat.Name, storeCat.Seq + return storeCat.Name, storeCat.Seq, false } - return name, seq + return name, seq, false } func (p *PurchaseHandler) CreateStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error) { var vendorCatID int64 if globals.EnableEbaiStoreWrite { - catName, catSeq := getCheckExdStoreNameAndSeq(storeID, storeCat) + catName, catSeq, isCheck := getCheckExdStoreNameAndSeq(storeID, storeCat) + if isCheck { + return nil + } vendorCatID, err = api.EbaiAPI.ShopCategoryCreate(utils.Int2Str(storeID), utils.Str2Int64WithDefault(storeCat.ParentVendorCatID, 0), formatCatName(catName), jxCatSeq2Ebai(catSeq)) } else { vendorCatID = jxutils.GenFakeID() @@ -98,7 +107,10 @@ func (p *PurchaseHandler) CreateStoreCategory(ctx *jxcontext.Context, storeID in func (p *PurchaseHandler) UpdateStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error) { if globals.EnableEbaiStoreWrite { - catName, catSeq := getCheckExdStoreNameAndSeq(storeID, storeCat) + catName, catSeq, isCheck := getCheckExdStoreNameAndSeq(storeID, storeCat) + if isCheck { + return nil + } err = api.EbaiAPI.ShopCategoryUpdate(utils.Int2Str(storeID), utils.Str2Int64WithDefault(storeCat.VendorCatID, 0), formatCatName(catName), jxCatSeq2Ebai(catSeq)) // todo, 饿百将一个分类重复改名,也会报分类名重复错,特殊处理一下,不过因为GetStoreCategory其实会拉取所有的门店分类,是比较耗时的操作 if utils.IsErrMatch(err, "1", []string{"分类名称已经存在"}) { diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 59d441406..339ea9933 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -431,3 +431,16 @@ func (c *SkuController) SumExianDaDepot() { return retVal, "", err }) } + +// @Title 复制一个饿百的店的商品的价格到京西饿鲜达商品 +// @Description 复制一个饿百的店的商品的价格到京西饿鲜达商品 +// @Param token header string true "认证token" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /CopyEbaiSkuPriceToJx [put] +func (c *SkuController) CopyEbaiSkuPriceToJx() { + c.callCopyEbaiSkuPriceToJx(func(params *tSkuCopyEbaiSkuPriceToJxParams) (retVal interface{}, errCode string, err error) { + err = cms.CopyEbaiSkuPriceToJx(params.Ctx) + return retVal, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index b2a20cdfc..d1add6505 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -1251,6 +1251,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"], + beego.ControllerComments{ + Method: "CopyEbaiSkuPriceToJx", + Router: `/CopyEbaiSkuPriceToJx`, + AllowHTTPMethods: []string{"put"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"], beego.ControllerComments{ Method: "DeleteCategory",