From d7f4e8ca621768789af3fd23f2455016c653d8e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Mon, 21 Nov 2022 14:17:10 +0800 Subject: [PATCH] 1 --- .../purchase/tiktok_store/store_sku2.go | 8 +- controllers/cms_sku.go | 114 ++++++++++-------- 2 files changed, 67 insertions(+), 55 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2.go b/business/partner/purchase/tiktok_store/store_sku2.go index badd593fc..5351c9d44 100644 --- a/business/partner/purchase/tiktok_store/store_sku2.go +++ b/business/partner/purchase/tiktok_store/store_sku2.go @@ -435,11 +435,11 @@ func (p *PurchaseHandler) UpdateStoreSkusSpecTag(ctx *jxcontext.Context, vendorO return err } -func GetProductAuditList(vendorOrgCode string, page, pageSize int64) map[string]string { +func GetProductAuditList(vendorOrgCode string, page, pageSize int64) (map[string]string, int64) { updateCategory := make(map[string]string, 100) // 修改分类的Map - data, _, err := getAPI(vendorOrgCode, 0, "").GetProductAuditList(page, pageSize, 2) + data, total, err := getAPI(vendorOrgCode, 0, "").GetProductAuditList(page, pageSize, 2) if err != nil || len(data) == 0 { - return nil + return nil, 0 } for _, v := range data { if _, ok := v.AuditReason["综合原因"]; ok { @@ -451,5 +451,5 @@ func GetProductAuditList(vendorOrgCode string, page, pageSize int64) map[string] } } } - return updateCategory + return updateCategory, total } diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index eff93a637..eab5a9792 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -833,9 +833,10 @@ func (c *SkuController) BatchSetRestockingPrice() { } type CategoryList struct { - DdId string `json:"dd_id"` - Id int `json:"id"` - NameId int `json:"name_id"` + DdId string `json:"dd_id"` + Id int `json:"id"` + NameId int `json:"name_id"` + StoreId int `json:"store_id"` } // @Title 抖店商品类目修改 @@ -846,56 +847,67 @@ type CategoryList struct { func (c *SkuController) UpdateTiktokCategory() { c.callUpdateTiktokCategory(func(params *tSkuUpdateTiktokCategoryParams) (interface{}, string, error) { var page int64 = 1 - var pageSize int64 = 1 - //var count int64 = 0 - - data := tiktok_store.GetProductAuditList("57939570", page, pageSize) - ddIDList := make([]string, 0, 100) - skuList := make([]CategoryList, 0, 100) - db := dao.GetDB() - - for k, v := range data { - vendorCatgory, _ := cms.GetVendorCategoriesByName(14, v) - ddIDList = append(ddIDList, k) - data[k] = vendorCatgory.VendorCategoryID - } - - 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) - } - 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) - } - } + var pageSize int64 = 100 + var count int64 = 0 + for { + data, total := tiktok_store.GetProductAuditList("57939570", page, pageSize) + globals.SugarLogger.Debugf("total %d", total) + ddIDList := make([]string, 0, 100) + skuList := make([]CategoryList, 0, 100) + db := dao.GetDB() + for k, v := range data { + vendorCatgory, _ := cms.GetVendorCategoriesByName(14, v) + ddIDList = append(ddIDList, k) + data[k] = vendorCatgory.VendorCategoryID } - } - return data, "", nil + sql := " SELECT b.dd_id,b.store_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 { + count++ + 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) + } + 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) + } + } + go func() { + hit, err := cms.CurVendorSync.SyncStoresSkus(params.Ctx, nil, 0, db, []int{14}, []int{v.StoreId}, []int{v.Id}, true, false, true) + globals.SugarLogger.Debugf("===============hit:%s err: %s", hit, err) + }() + } + } + break + //if page*pageSize < total { + // page++ + //} else { + // break + //} + } + return count, "", nil }) }