diff --git a/business/partner/purchase/tiktok_store/store_sku2.go b/business/partner/purchase/tiktok_store/store_sku2.go index a08edec50..52a5eadab 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" @@ -19,7 +18,6 @@ import ( "git.rosy.net.cn/jx-callback/globals" "regexp" "strings" - "time" ) const ( @@ -437,84 +435,25 @@ func (p *PurchaseHandler) UpdateStoreSkusSpecTag(ctx *jxcontext.Context, vendorO return err } -type CategoryList struct { - DdId string `json:"dd_id"` - Id int `json:"id"` - NameId int `json:"name_id"` -} - func GetProductAuditList(vendorOrgCode string) map[string]string { var page int64 = 1 var pageSize int64 = 1 updateCategory := make(map[string]string, 100) // 修改分类的Map - ddIDList := make([]string, 0, 100) - skuList := make([]CategoryList, 0, 100) - db := dao.GetDB() - 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], `“`) - list2 := strings.Split(list[1], `”`) - categoryNameList := strings.Split(list2[0], "/") - updateCategory[utils.Int64ToStr(v.ProductId)] = categoryNameList[len(categoryNameList)-1] - ddIDList = append(ddIDList, utils.Int64ToStr(v.ProductId)) - } - } + data, _, err := getAPI(vendorOrgCode, 0, "").GetProductAuditList(page, pageSize, 2) + if err != nil || len(data) == 0 { + return nil + } + for _, v := range data { + if _, ok := v.AuditReason["综合原因"]; ok { + if strings.Contains(v.AuditReason["综合原因"][0], "该商品类目选择错误,推荐放置在") { + list := strings.Split(v.AuditReason["综合原因"][0], `“`) + list2 := strings.Split(list[1], `”`) + categoryNameList := strings.Split(list2[0], "/") + updateCategory[utils.Int64ToStr(v.ProductId)] = categoryNameList[len(categoryNameList)-1] + } } - - sql := " SELECT b.dd_id,s.id,s.name_id FROM store_sku_bind b INNER JOIN sku s ON b.sku_id = s.id AND s.deleted_at = ? WHERE b.dd_id IN (" + dao.GenQuestionMarks(len(ddIDList)) + ") AND b.deleted_at = ?" - params := []interface{}{utils.DefaultTimeValue, ddIDList, utils.DefaultTimeValue} - if err := dao.GetRows(db, &skuList, sql, params...); err != nil { - return nil - } - for _, v := range skuList { - item := &model.SkuVendorCategoryMap{ - ModelIDCULD: model.ModelIDCULD{ - CreatedAt: time.Now(), - UpdatedAt: time.Now(), - DeletedAt: utils.DefaultTimeValue, - LastOperator: "18981810340", - }, - NameID: v.NameId, - VendorID: model.VendorIDDD, - VendorCategoryID: updateCategory[v.DdId], - } - vendorCatgory, err := cms.GetVendorCategoriesByName(14, updateCategory[v.DdId]) - if err != nil { - globals.SugarLogger.Debugf("====================err2 %s", err) - return nil - } - item.VendorCategoryID = vendorCatgory.VendorCategoryID - skuVendorCategoryMap := &model.SkuVendorCategoryMap{} - if err := dao.GetRow(db, skuVendorCategoryMap, `SELECT * FROM sku_vendor_category_map WHERE name_id = ? AND vendor_id = ? AND deleted_at = ?`, []interface{}{v.NameId, model.VendorIDDD, utils.DefaultTimeValue}); err != nil { - globals.SugarLogger.Debugf("====================err3 %s", err) - return nil - } - if skuVendorCategoryMap != nil && skuVendorCategoryMap.ID > 0 { - if _, err := dao.UpdateEntity(db, skuVendorCategoryMap, "VendorCategoryID"); err != nil { - globals.SugarLogger.Debugf("====================err4 %s", err) - } - } else { - if err := dao.CreateEntity(db, item); err != nil { - globals.SugarLogger.Debugf("====================err5 %s", err) - } - } - - } - break - //if page*pageSize < total { - // page++ - //} - //updateCategory = make(map[string]string, 100) // 修改分类的Map - //ddIDList = make([]string, 0, 100) - //skuList = make([]CategoryList, 0, 100) } return updateCategory } diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index c3b42d391..66940a805 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -11,6 +11,7 @@ import ( "git.rosy.net.cn/jx-callback/business/partner/purchase/tiktok_store" "git.rosy.net.cn/jx-callback/globals" "github.com/astaxie/beego/server/web" + "time" ) type SkuController struct { @@ -831,6 +832,12 @@ func (c *SkuController) BatchSetRestockingPrice() { }) } +type CategoryList struct { + DdId string `json:"dd_id"` + Id int `json:"id"` + NameId int `json:"name_id"` +} + // @Title 抖店商品类目修改 // @Description 抖店商品类目修改 // @Success 200 {object} controllers.CallResult @@ -839,17 +846,54 @@ func (c *SkuController) BatchSetRestockingPrice() { func (c *SkuController) UpdateTiktokCategory() { c.callUpdateTiktokCategory(func(params *tSkuUpdateTiktokCategoryParams) (interface{}, string, error) { data := tiktok_store.GetProductAuditList("57939570") - globals.SugarLogger.Debugf("==========111 %s", utils.Format4Output(data, false)) + + ddIDList := make([]string, 0, 100) + skuList := make([]CategoryList, 0, 100) + db := dao.GetDB() + for k, v := range data { - vendorCatgory, err := cms.GetVendorCategoriesByName(14, v) - if err != nil || vendorCatgory == nil { - data[k] = v - globals.SugarLogger.Debugf("err := %s", err) - continue - } + vendorCatgory, _ := cms.GetVendorCategoriesByName(14, v) + ddIDList = append(ddIDList, k) data[k] = vendorCatgory.VendorCategoryID } - globals.SugarLogger.Debugf("==========222 %s", utils.Format4Output(data, false)) + + sql := " SELECT b.dd_id,s.id,s.name_id FROM store_sku_bind b INNER JOIN sku s ON b.sku_id = s.id AND s.deleted_at = ? WHERE b.dd_id IN (" + dao.GenQuestionMarks(len(ddIDList)) + ") AND b.deleted_at = ?" + param := []interface{}{utils.DefaultTimeValue, ddIDList, utils.DefaultTimeValue} + if err := dao.GetRows(db, &skuList, sql, param...); err != nil { + return nil, "", err + } + for _, v1 := range data { + for _, v := range skuList { + item := &model.SkuVendorCategoryMap{ + ModelIDCULD: model.ModelIDCULD{ + CreatedAt: time.Now(), + UpdatedAt: time.Now(), + DeletedAt: utils.DefaultTimeValue, + LastOperator: "18981810340", + }, + NameID: v.NameId, + VendorID: model.VendorIDDD, + } + + item.VendorCategoryID = v1 + skuVendorCategoryMap := &model.SkuVendorCategoryMap{} + if err := dao.GetRow(db, skuVendorCategoryMap, `SELECT * FROM sku_vendor_category_map WHERE name_id = ? AND vendor_id = ? AND deleted_at = ?`, []interface{}{v.NameId, model.VendorIDDD, utils.DefaultTimeValue}); err != nil { + globals.SugarLogger.Debugf("====================err3 %s", err) + return nil, "", err + } + if skuVendorCategoryMap != nil && skuVendorCategoryMap.ID > 0 { + if _, err := dao.UpdateEntity(db, skuVendorCategoryMap, "VendorCategoryID"); err != nil { + globals.SugarLogger.Debugf("====================err4 %s", err) + } + } else { + if err := dao.CreateEntity(db, item); err != nil { + globals.SugarLogger.Debugf("====================err5 %s", err) + } + } + + } + } + return data, "", nil }) }