From b489421b9eff55fbafde268fb864e8e3aa6ab7ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Fri, 18 Nov 2022 17:29:50 +0800 Subject: [PATCH 1/3] 1 --- business/jxstore/cms/sku.go | 7 ++++ .../purchase/tiktok_store/store_sku2.go | 38 +++++++++++++++++++ controllers/cms_sku.go | 12 ++++++ routers/commentsRouter_controllers.go | 10 +++++ 4 files changed, 67 insertions(+) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 87c28472d..6c096eae1 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -98,6 +98,13 @@ func GetVendorCategories(ctx *jxcontext.Context, vendorID int, parentID string) return vendorCats, dao.GetEntitiesByKV(nil, &vendorCats, cond, false) } +// 获取正确分类根据分类名称 +func GetVendorCategoriesByName(vendorId int, name string) (vendorCats *model.SkuVendorCategory, err error) { + sql := ` SELECT * FROM sku_vendor_category WHERE vendor_id = ? AND name LIKE ? ` + err = dao.GetRow(dao.GetDB(), &vendorCats, sql, []interface{}{vendorId, "%" + name + "%"}...) + return vendorCats, err +} + // parentID 为-1表示所有 func GetCategories(ctx *jxcontext.Context, parentID int, isExd bool) (catList []*dao.SkuCategoryWithVendor, err error) { db := dao.GetDB() diff --git a/business/partner/purchase/tiktok_store/store_sku2.go b/business/partner/purchase/tiktok_store/store_sku2.go index 2a0f6e82e..11ef97fd8 100644 --- a/business/partner/purchase/tiktok_store/store_sku2.go +++ b/business/partner/purchase/tiktok_store/store_sku2.go @@ -9,6 +9,7 @@ import ( sku_syncStock_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_syncStock/request" tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api" "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/business/jxstore/cms" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/jxutils/tasksch" "git.rosy.net.cn/jx-callback/business/model" @@ -17,6 +18,7 @@ import ( "git.rosy.net.cn/jx-callback/business/partner/putils" "git.rosy.net.cn/jx-callback/globals" "regexp" + "strings" ) const ( @@ -433,3 +435,39 @@ func (p *PurchaseHandler) UpdateStoreSkusSpecTag(ctx *jxcontext.Context, vendorO //} return err } + +func GetProductAuditList(vendorOrgCode string) (string, error) { + var page int64 = 1 + var pageSize int64 = 100 + + updateCategory := make(map[string]string, 0) // 修改分类的Map + for { + data, err := getAPI(vendorOrgCode, 0, "").GetProductAuditList(page, pageSize, 2) + if err != nil || len(data) == 0 { + break + } + for _, v := range data { + if _, ok := v.AuditReason["综合原因"]; ok { + if strings.Contains(v.AuditReason["综合原因"][0], "该商品类目选择错误,推荐放置在") { + list := strings.Split(v.AuditReason["综合原因"][0], `“`) + categoryNameList := strings.Split(list[1], "/") + vendorCatgory, err := cms.GetVendorCategoriesByName(14, categoryNameList[len(categoryNameList)]) + if err != nil { + return utils.Format4Output(updateCategory, false), err + } + if vendorCatgory != nil { + updateCategory[utils.Int64ToStr(v.ProductId)] = vendorCatgory.VendorCategoryID + } else { + updateCategory[utils.Int64ToStr(v.ProductId)] = "-1" + } + } + } + + } + if len(data) >= 100 { + page++ + } + } + globals.SugarLogger.Debugf("=================111:= %s", utils.Format4Output(updateCategory, false)) + return utils.Format4Output(updateCategory, false), nil +} diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index fe268d521..077db20d6 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -829,3 +829,15 @@ func (c *SkuController) BatchSetRestockingPrice() { return nil, "", nil }) } + +// @Title 抖店商品类目修改 +// @Description 抖店商品类目修改 +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /UpdateTiktokCategory [post] +func (c *SkuController) UpdateTiktokCategory() { + c.callUpdateCategory(func(params *tSkuUpdateCategoryParams) (interface{}, string, error) { + data, err := tiktok_store.GetProductAuditList("57939570") + return data, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index a5b53d945..d250fc397 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -1881,6 +1881,16 @@ func init() { Filters: nil, Params: nil}) + // 修改抖店分类商品 + web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"], + web.ControllerComments{ + Method: "UpdateTiktokCategory", + Router: `/UpdateTiktokCategory`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"], web.ControllerComments{ Method: "AddSku", From 927df8a02a2d4d60a13a03efe23bbdf65eb24ad8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Fri, 18 Nov 2022 17:39:58 +0800 Subject: [PATCH 2/3] 1 --- .../purchase/tiktok_store/store_sku2.go | 20 ++++--------------- controllers/cms_sku.go | 14 +++++++++++-- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2.go b/business/partner/purchase/tiktok_store/store_sku2.go index 11ef97fd8..1450c3a57 100644 --- a/business/partner/purchase/tiktok_store/store_sku2.go +++ b/business/partner/purchase/tiktok_store/store_sku2.go @@ -9,7 +9,6 @@ import ( sku_syncStock_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_syncStock/request" tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api" "git.rosy.net.cn/baseapi/utils" - "git.rosy.net.cn/jx-callback/business/jxstore/cms" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/jxutils/tasksch" "git.rosy.net.cn/jx-callback/business/model" @@ -436,7 +435,7 @@ func (p *PurchaseHandler) UpdateStoreSkusSpecTag(ctx *jxcontext.Context, vendorO return err } -func GetProductAuditList(vendorOrgCode string) (string, error) { +func GetProductAuditList(vendorOrgCode string) map[string]string { var page int64 = 1 var pageSize int64 = 100 @@ -451,23 +450,12 @@ func GetProductAuditList(vendorOrgCode string) (string, error) { if strings.Contains(v.AuditReason["综合原因"][0], "该商品类目选择错误,推荐放置在") { list := strings.Split(v.AuditReason["综合原因"][0], `“`) categoryNameList := strings.Split(list[1], "/") - vendorCatgory, err := cms.GetVendorCategoriesByName(14, categoryNameList[len(categoryNameList)]) - if err != nil { - return utils.Format4Output(updateCategory, false), err - } - if vendorCatgory != nil { - updateCategory[utils.Int64ToStr(v.ProductId)] = vendorCatgory.VendorCategoryID - } else { - updateCategory[utils.Int64ToStr(v.ProductId)] = "-1" - } + updateCategory[utils.Int64ToStr(v.ProductId)] = categoryNameList[len(categoryNameList)] } } } - if len(data) >= 100 { - page++ - } + break } - globals.SugarLogger.Debugf("=================111:= %s", utils.Format4Output(updateCategory, false)) - return utils.Format4Output(updateCategory, false), nil + return updateCategory } diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 077db20d6..cb3d0de6e 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -9,6 +9,7 @@ import ( "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model/dao" "git.rosy.net.cn/jx-callback/business/partner/purchase/tiktok_store" + "git.rosy.net.cn/jx-callback/globals" "github.com/astaxie/beego/server/web" ) @@ -837,7 +838,16 @@ func (c *SkuController) BatchSetRestockingPrice() { // @router /UpdateTiktokCategory [post] func (c *SkuController) UpdateTiktokCategory() { c.callUpdateCategory(func(params *tSkuUpdateCategoryParams) (interface{}, string, error) { - data, err := tiktok_store.GetProductAuditList("57939570") - return data, "", err + data := tiktok_store.GetProductAuditList("57939570") + globals.SugarLogger.Debugf("==========111 %s", utils.Format4Output(data, false)) + for k, v := range data { + vendorCatgory, err := cms.GetVendorCategoriesByName(14, v) + if err != nil { + globals.SugarLogger.Debugf("err := %s", err) + } + data[k] = vendorCatgory.VendorCategoryID + } + globals.SugarLogger.Debugf("==========222 %s", utils.Format4Output(data, false)) + return data, "", nil }) } From 56e4795a3b3c2c568eef333a9e8560c9855c086e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Fri, 18 Nov 2022 17:41:42 +0800 Subject: [PATCH 3/3] 1 --- controllers/cms_sku.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index cb3d0de6e..43f21b862 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -842,8 +842,10 @@ func (c *SkuController) UpdateTiktokCategory() { globals.SugarLogger.Debugf("==========111 %s", utils.Format4Output(data, false)) for k, v := range data { vendorCatgory, err := cms.GetVendorCategoriesByName(14, v) - if err != nil { + if err != nil || vendorCatgory == nil { + data[k] = v globals.SugarLogger.Debugf("err := %s", err) + continue } data[k] = vendorCatgory.VendorCategoryID }