From 2ca5680816d64b566dae213d0499bb8441e48be2 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 10:40:03 +0800 Subject: [PATCH 01/21] 1 --- .../purchase/tiktok_store/store_sku2.go | 50 +++++++++++++++++-- 1 file changed, 47 insertions(+), 3 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2.go b/business/partner/purchase/tiktok_store/store_sku2.go index ec2d715db..6cacb08f7 100644 --- a/business/partner/purchase/tiktok_store/store_sku2.go +++ b/business/partner/purchase/tiktok_store/store_sku2.go @@ -18,6 +18,7 @@ import ( "git.rosy.net.cn/jx-callback/globals" "regexp" "strings" + "time" ) const ( @@ -437,11 +438,18 @@ func (p *PurchaseHandler) UpdateStoreSkusSpecTag(ctx *jxcontext.Context, vendorO func GetProductAuditList(vendorOrgCode string) map[string]string { var page int64 = 1 - var pageSize int64 = 100 + var pageSize int64 = 1 - updateCategory := make(map[string]string, 0) // 修改分类的Map + updateCategory := make(map[string]string, 100) // 修改分类的Map + ddIDList := make([]string, 0, 100) + skuList := make([]struct { + DdID string `json:"dd_id"` + ID int `json:"id"` + NameId int `json:"name_id"` + }, 0, 100) + db := dao.GetDB() for { - data, err := getAPI(vendorOrgCode, 0, "").GetProductAuditList(page, pageSize, 2) + data, _, err := getAPI(vendorOrgCode, 0, "").GetProductAuditList(page, pageSize, 2) if err != nil || len(data) == 0 { break } @@ -452,11 +460,47 @@ func GetProductAuditList(vendorOrgCode string) map[string]string { 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)) } } } + + 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 { + globals.SugarLogger.Debugf("====================err1 %s", err) + return nil + } + for _, v := range skuList { + item := &model.SkuVendorCategoryMap{ + ModelIDCULD: model.ModelIDCULD{ + CreatedAt: time.Now(), + UpdatedAt: time.Now(), + DeletedAt: time.Now(), + LastOperator: "18981810340", + }, + NameID: v.NameId, + VendorID: model.VendorIDDD, + VendorCategoryID: updateCategory[v.DdID], + } + if err := dao.CreateOrUpdate(db, item); err != nil { + globals.SugarLogger.Debugf("====================err2 %s", err) + return nil + } + } + break + //if page*pageSize < total { + // page++ + //} + //updateCategory = make(map[string]string, 100) // 修改分类的Map + //ddIDList = make([]string, 0, 100) + //skuList = make([]struct { + // DdID string `json:"dd_id"` + // ID int `json:"id"` + // NameId int `json:"name_id"` + //}, 0, 100) } return updateCategory } From 8b2e3ff5466ae37c0f22cc64ac26b591972a5517 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 10:50:53 +0800 Subject: [PATCH 02/21] 1 --- business/partner/purchase/tiktok_store/store_sku2.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2.go b/business/partner/purchase/tiktok_store/store_sku2.go index 6cacb08f7..8eab670e4 100644 --- a/business/partner/purchase/tiktok_store/store_sku2.go +++ b/business/partner/purchase/tiktok_store/store_sku2.go @@ -473,11 +473,12 @@ func GetProductAuditList(vendorOrgCode string) map[string]string { return nil } for _, v := range skuList { + globals.SugarLogger.Debugf("======skuList %s", utils.Format4Output(v, false)) item := &model.SkuVendorCategoryMap{ ModelIDCULD: model.ModelIDCULD{ CreatedAt: time.Now(), UpdatedAt: time.Now(), - DeletedAt: time.Now(), + DeletedAt: utils.DefaultTimeValue, LastOperator: "18981810340", }, NameID: v.NameId, From efab5f43a8e3bfb674407cbfbae2303fc6415370 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 11:09:00 +0800 Subject: [PATCH 03/21] 1 --- business/partner/purchase/tiktok_store/store_sku2.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2.go b/business/partner/purchase/tiktok_store/store_sku2.go index 8eab670e4..3dd9ff141 100644 --- a/business/partner/purchase/tiktok_store/store_sku2.go +++ b/business/partner/purchase/tiktok_store/store_sku2.go @@ -443,8 +443,8 @@ func GetProductAuditList(vendorOrgCode string) map[string]string { updateCategory := make(map[string]string, 100) // 修改分类的Map ddIDList := make([]string, 0, 100) skuList := make([]struct { - DdID string `json:"dd_id"` - ID int `json:"id"` + DdId string `json:"dd_id"` + Id int `json:"id"` NameId int `json:"name_id"` }, 0, 100) db := dao.GetDB() From 81635010f99dbc1bb1422c06bbe6febe20ba2591 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 11:10:14 +0800 Subject: [PATCH 04/21] 1 --- business/partner/purchase/tiktok_store/store_sku2.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2.go b/business/partner/purchase/tiktok_store/store_sku2.go index 3dd9ff141..eabfbd6b6 100644 --- a/business/partner/purchase/tiktok_store/store_sku2.go +++ b/business/partner/purchase/tiktok_store/store_sku2.go @@ -483,7 +483,7 @@ func GetProductAuditList(vendorOrgCode string) map[string]string { }, NameID: v.NameId, VendorID: model.VendorIDDD, - VendorCategoryID: updateCategory[v.DdID], + VendorCategoryID: updateCategory[v.DdId], } if err := dao.CreateOrUpdate(db, item); err != nil { globals.SugarLogger.Debugf("====================err2 %s", err) From 6c0070214dc5cc8570ef166c1ccebb467bcfed30 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 11:21:59 +0800 Subject: [PATCH 05/21] 1 --- business/partner/purchase/tiktok_store/store_sku2.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2.go b/business/partner/purchase/tiktok_store/store_sku2.go index eabfbd6b6..4bf0885d5 100644 --- a/business/partner/purchase/tiktok_store/store_sku2.go +++ b/business/partner/purchase/tiktok_store/store_sku2.go @@ -465,7 +465,7 @@ func GetProductAuditList(vendorOrgCode string) map[string]string { } } - + globals.SugarLogger.Debugf("====================ddIDList %s", utils.Format4Output(ddIDList, 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 = ?" params := []interface{}{utils.DefaultTimeValue, ddIDList, utils.DefaultTimeValue} if err := dao.GetRows(db, &skuList, sql, params...); err != nil { From 0b60ff71bd0f8b877b56f6eaf20e27cbb0a5cdc3 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 11:28:21 +0800 Subject: [PATCH 06/21] 1 --- .../purchase/tiktok_store/store_sku2.go | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2.go b/business/partner/purchase/tiktok_store/store_sku2.go index 4bf0885d5..4e7b86574 100644 --- a/business/partner/purchase/tiktok_store/store_sku2.go +++ b/business/partner/purchase/tiktok_store/store_sku2.go @@ -436,17 +436,19 @@ 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([]struct { - DdId string `json:"dd_id"` - Id int `json:"id"` - NameId int `json:"name_id"` - }, 0, 100) + skuList := make([]CategoryList, 0, 100) db := dao.GetDB() for { data, _, err := getAPI(vendorOrgCode, 0, "").GetProductAuditList(page, pageSize, 2) @@ -465,6 +467,10 @@ func GetProductAuditList(vendorOrgCode string) map[string]string { } } + if len(ddIDList) == 0 { + ddIDList = append(ddIDList, "") + updateCategory[utils.Int64ToStr(3583974659122702090)] = "99999" + } globals.SugarLogger.Debugf("====================ddIDList %s", utils.Format4Output(ddIDList, 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 = ?" params := []interface{}{utils.DefaultTimeValue, ddIDList, utils.DefaultTimeValue} @@ -490,18 +496,13 @@ func GetProductAuditList(vendorOrgCode string) map[string]string { return nil } } - break //if page*pageSize < total { // page++ //} //updateCategory = make(map[string]string, 100) // 修改分类的Map //ddIDList = make([]string, 0, 100) - //skuList = make([]struct { - // DdID string `json:"dd_id"` - // ID int `json:"id"` - // NameId int `json:"name_id"` - //}, 0, 100) + //skuList = make([]CategoryList, 0, 100) } return updateCategory } From d3c73d48fc94466a2c0e7b4b480ed95495f4d212 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 11:47:28 +0800 Subject: [PATCH 07/21] 1 --- .../purchase/tiktok_store/store_sku2.go | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2.go b/business/partner/purchase/tiktok_store/store_sku2.go index 4e7b86574..a08edec50 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" @@ -467,19 +468,13 @@ func GetProductAuditList(vendorOrgCode string) map[string]string { } } - if len(ddIDList) == 0 { - ddIDList = append(ddIDList, "") - updateCategory[utils.Int64ToStr(3583974659122702090)] = "99999" - } - globals.SugarLogger.Debugf("====================ddIDList %s", utils.Format4Output(ddIDList, 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 = ?" params := []interface{}{utils.DefaultTimeValue, ddIDList, utils.DefaultTimeValue} if err := dao.GetRows(db, &skuList, sql, params...); err != nil { - globals.SugarLogger.Debugf("====================err1 %s", err) return nil } for _, v := range skuList { - globals.SugarLogger.Debugf("======skuList %s", utils.Format4Output(v, false)) item := &model.SkuVendorCategoryMap{ ModelIDCULD: model.ModelIDCULD{ CreatedAt: time.Now(), @@ -491,10 +486,27 @@ func GetProductAuditList(vendorOrgCode string) map[string]string { VendorID: model.VendorIDDD, VendorCategoryID: updateCategory[v.DdId], } - if err := dao.CreateOrUpdate(db, item); err != nil { + 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 { From 79512dc35ac7f77b7fc32aff44d516cb52e20281 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 13:47:24 +0800 Subject: [PATCH 08/21] 1 --- .../purchase/tiktok_store/store_sku2.go | 85 +++---------------- controllers/cms_sku.go | 60 +++++++++++-- 2 files changed, 64 insertions(+), 81 deletions(-) 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 }) } From 24b5da98900ac02bd551550b11b50c4b17dbbc96 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 13:51:12 +0800 Subject: [PATCH 09/21] 1 --- business/partner/purchase/tiktok_store/store_sku2.go | 6 +----- controllers/cms_sku.go | 5 ++++- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2.go b/business/partner/purchase/tiktok_store/store_sku2.go index 52a5eadab..badd593fc 100644 --- a/business/partner/purchase/tiktok_store/store_sku2.go +++ b/business/partner/purchase/tiktok_store/store_sku2.go @@ -435,12 +435,8 @@ func (p *PurchaseHandler) UpdateStoreSkusSpecTag(ctx *jxcontext.Context, vendorO return err } -func GetProductAuditList(vendorOrgCode string) map[string]string { - var page int64 = 1 - var pageSize int64 = 1 - +func GetProductAuditList(vendorOrgCode string, page, pageSize int64) map[string]string { updateCategory := make(map[string]string, 100) // 修改分类的Map - data, _, err := getAPI(vendorOrgCode, 0, "").GetProductAuditList(page, pageSize, 2) if err != nil || len(data) == 0 { return nil diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 66940a805..846c2f31b 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -845,8 +845,11 @@ type CategoryList struct { // @router /UpdateTiktokCategory [post] func (c *SkuController) UpdateTiktokCategory() { c.callUpdateTiktokCategory(func(params *tSkuUpdateTiktokCategoryParams) (interface{}, string, error) { - data := tiktok_store.GetProductAuditList("57939570") + 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() From 93a032b931b68c37642d339a97f37307905a4a84 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 13:55:19 +0800 Subject: [PATCH 10/21] 1 --- controllers/cms_sku.go | 1 - 1 file changed, 1 deletion(-) diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 846c2f31b..eff93a637 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -882,7 +882,6 @@ func (c *SkuController) UpdateTiktokCategory() { 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 { 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 11/21] 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 }) } From 636c45afe336c0c0de61603b5b1e277cc56290d4 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:26:14 +0800 Subject: [PATCH 12/21] 1 --- business/jxstore/cms/sync_store_sku.go | 16 +++--- controllers/cms_sku.go | 74 +++++++++++++------------- 2 files changed, 44 insertions(+), 46 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 7a8a765b9..305bdba82 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -678,14 +678,14 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag // } } - globals.SugarLogger.Debugf("==============createList=%s", utils.Format4Output(createList, false)) - globals.SugarLogger.Debugf("===============updateList%s", utils.Format4Output(updateList, false)) - globals.SugarLogger.Debugf("==============deleteList=%s", utils.Format4Output(deleteList, false)) - globals.SugarLogger.Debugf("===============priceList%s", utils.Format4Output(priceList, false)) - globals.SugarLogger.Debugf("===============stockList%s", utils.Format4Output(stockList, false)) - globals.SugarLogger.Debugf("==============onlineList=%s", utils.Format4Output(onlineList, false)) - globals.SugarLogger.Debugf("===============offlineList %s", utils.Format4Output(offlineList, false)) - globals.SugarLogger.Debugf("===============offlineList %s", utils.Format4Output(offlineList, false)) + //globals.SugarLogger.Debugf("==============createList=%s", utils.Format4Output(createList, false)) + //globals.SugarLogger.Debugf("===============updateList%s", utils.Format4Output(updateList, false)) + //globals.SugarLogger.Debugf("==============deleteList=%s", utils.Format4Output(deleteList, false)) + //globals.SugarLogger.Debugf("===============priceList%s", utils.Format4Output(priceList, false)) + //globals.SugarLogger.Debugf("===============stockList%s", utils.Format4Output(stockList, false)) + //globals.SugarLogger.Debugf("==============onlineList=%s", utils.Format4Output(onlineList, false)) + //globals.SugarLogger.Debugf("===============offlineList %s", utils.Format4Output(offlineList, false)) + //globals.SugarLogger.Debugf("===============offlineList %s", utils.Format4Output(offlineList, false)) task := tasksch.NewParallelTask("syncStoreSkuNew", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError2), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index eab5a9792..75d9a33b5 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -867,46 +867,44 @@ func (c *SkuController) UpdateTiktokCategory() { 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) - }() + 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 = data[v.DdId] + 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() { + time.Sleep(500 * time.Millisecond) + 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) + }() + } + if page*pageSize < total { + page++ + } else { + break } - break - //if page*pageSize < total { - // page++ - //} else { - // break - //} } return count, "", nil }) From 4d2902b51e53520c39cf724a733ec5c7a44c782d 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:31:12 +0800 Subject: [PATCH 13/21] 1 --- business/model/dao/dao_order.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index b8680c3fe..4cc17b57d 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -1079,8 +1079,6 @@ func GetOrders(db *DaoDB, ids []int64, isIncludeSku, isIncludeFake bool, fromDat } sql += " LIMIT ? OFFSET ?" sqlParams = append(sqlParams, pageSize, offset) - globals.SugarLogger.Debugf("sqlParams pageSize=====%d,offset==========%d", pageSize, offset) - globals.SugarLogger.Debugf("test sql=======================%s", sql) txDB, _ := Begin(db) defer Commit(db, txDB) if err = GetRowsTx(txDB, &orders, sql, sqlParams...); err == nil { From 400d277c5dcf8f23ec410141c76634a3edb6ecc1 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:40:05 +0800 Subject: [PATCH 14/21] 1 --- controllers/cms_sku.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 75d9a33b5..59ee63c6e 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -851,7 +851,8 @@ func (c *SkuController) UpdateTiktokCategory() { var count int64 = 0 for { data, total := tiktok_store.GetProductAuditList("57939570", page, pageSize) - globals.SugarLogger.Debugf("total %d", total) + globals.SugarLogger.Debugf("total=== %d", total) + globals.SugarLogger.Debugf("data==== %s", utils.Format4Output(data, false)) ddIDList := make([]string, 0, 100) skuList := make([]CategoryList, 0, 100) db := dao.GetDB() From 11aec3f2bfc4aa9e048945d9970646936572897a 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:46:29 +0800 Subject: [PATCH 15/21] 1 --- controllers/cms_sku.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 59ee63c6e..8dcfe70e3 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -850,17 +850,18 @@ func (c *SkuController) UpdateTiktokCategory() { var pageSize int64 = 100 var count int64 = 0 for { - data, total := tiktok_store.GetProductAuditList("57939570", page, pageSize) + data1, total := tiktok_store.GetProductAuditList("57939570", page, pageSize) globals.SugarLogger.Debugf("total=== %d", total) - globals.SugarLogger.Debugf("data==== %s", utils.Format4Output(data, false)) + globals.SugarLogger.Debugf("data==== %s", utils.Format4Output(data1, false)) ddIDList := make([]string, 0, 100) skuList := make([]CategoryList, 0, 100) + data2 := make(map[string]string, 0) db := dao.GetDB() - for k, v := range data { + for k, v := range data1 { vendorCatgory, _ := cms.GetVendorCategoriesByName(14, v) ddIDList = append(ddIDList, k) - data[k] = vendorCatgory.VendorCategoryID + data2[k] = vendorCatgory.VendorCategoryID } 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 = ?" @@ -881,7 +882,7 @@ func (c *SkuController) UpdateTiktokCategory() { VendorID: model.VendorIDDD, } - item.VendorCategoryID = data[v.DdId] + item.VendorCategoryID = data2[v.DdId] 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) From 724631c2481de0f3e1a62ccf189d59257fa2079b 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:49:49 +0800 Subject: [PATCH 16/21] 1 --- controllers/cms_sku.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 8dcfe70e3..ef21a9879 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -853,8 +853,8 @@ func (c *SkuController) UpdateTiktokCategory() { data1, total := tiktok_store.GetProductAuditList("57939570", page, pageSize) globals.SugarLogger.Debugf("total=== %d", total) globals.SugarLogger.Debugf("data==== %s", utils.Format4Output(data1, false)) - ddIDList := make([]string, 0, 100) - skuList := make([]CategoryList, 0, 100) + ddIDList := make([]string, 0, 0) + skuList := make([]CategoryList, 0, 0) data2 := make(map[string]string, 0) db := dao.GetDB() From dda9f53728e10e4a575a7b1e4b1a61b4cd381173 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 15:05:41 +0800 Subject: [PATCH 17/21] 1 --- controllers/cms_sku.go | 1 + 1 file changed, 1 insertion(+) diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index ef21a9879..1c6887f6d 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -860,6 +860,7 @@ func (c *SkuController) UpdateTiktokCategory() { for k, v := range data1 { vendorCatgory, _ := cms.GetVendorCategoriesByName(14, v) + globals.SugarLogger.Debugf("============%s", utils.Format4Output(vendorCatgory, false)) ddIDList = append(ddIDList, k) data2[k] = vendorCatgory.VendorCategoryID } From a5c79dee78c7cb332a4f984ee54b2c880b7b968c 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 15:18:58 +0800 Subject: [PATCH 18/21] 1 --- controllers/cms_sku.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 1c6887f6d..030e24a34 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -851,8 +851,6 @@ func (c *SkuController) UpdateTiktokCategory() { var count int64 = 0 for { data1, total := tiktok_store.GetProductAuditList("57939570", page, pageSize) - globals.SugarLogger.Debugf("total=== %d", total) - globals.SugarLogger.Debugf("data==== %s", utils.Format4Output(data1, false)) ddIDList := make([]string, 0, 0) skuList := make([]CategoryList, 0, 0) data2 := make(map[string]string, 0) @@ -860,7 +858,9 @@ func (c *SkuController) UpdateTiktokCategory() { for k, v := range data1 { vendorCatgory, _ := cms.GetVendorCategoriesByName(14, v) - globals.SugarLogger.Debugf("============%s", utils.Format4Output(vendorCatgory, false)) + if vendorCatgory == nil || vendorCatgory.VendorCategoryID == "" { + continue + } ddIDList = append(ddIDList, k) data2[k] = vendorCatgory.VendorCategoryID } From dffe92533f75b593d32c48576f04f825f01c169b 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 15:51:46 +0800 Subject: [PATCH 19/21] 1 --- .../purchase/tiktok_store/store_sku2_utils.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index f63fc43e2..d1ce83482 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -159,7 +159,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI continue } if len(param.Name) < 23 { // 中文字符一个汉字三个长度符号/数字/字母两个长度,商品名称不能大于 - param.Name += utils.Float64ToStr(float64(storeSku.SpecQuality)) + storeSku.SpecUnit + param.Name += utils.Float64ToStr(float64(storeSku.SpecQuality)) + storeSku.SpecUnit + " " } else if len(param.Name) > 90 { // 抖音最大60个字符,三十个汉字 param.Name = param.Name[0:90] } @@ -206,7 +206,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI //if err != nil { // return nil, err //} - param.StandardBrandId = 789194134 // 默认品牌京西菜市 + param.StandardBrandId = 596120136 // 默认品牌京西菜市 // 根据本地商品id获取线上商品是否存在,存在则只创建子商品 var tiktokResultProductId int64 = 0 @@ -333,6 +333,12 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI param.CategoryLeafId = storeSku.VendorVendorCatID } + if len(param.Name) < 23 { // 中文字符一个汉字三个长度符号/数字/字母两个长度,商品名称不能大于 + param.Name += utils.Float64ToStr(float64(storeSku.SpecQuality)) + storeSku.SpecUnit + " " + } else if len(param.Name) > 90 { // 抖音最大60个字符,三十个汉字 + param.Name = param.Name[0:90] + } + // 获取上传图,商品轮播图 img, detailImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeDetail.VendorOrgCode, storeSku.DescImg, storeSku.ImgOrigin, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5) if err != nil { @@ -361,7 +367,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI } // 获取品牌 - param.StandardBrandId = 789194134 // 默认品牌京西菜市 + param.StandardBrandId = 596120136 // 默认品牌京西菜市 //tiktokResult, err := api.EditStoreCommodity(param) // 创建主商品 //if err != nil { @@ -597,7 +603,7 @@ func MakeProductFormatNew(api *tiktokShop.API, skuNameId int64, categoryLeafId i } options := make([]map[string]interface{}, 0) if v.PropertyName == "品牌" { - options = append(options, map[string]interface{}{"name": v.PropertyName, "value": 789194134, "diy_type": v.DiyType}) + options = append(options, map[string]interface{}{"name": v.PropertyName, "value": 596120136, "diy_type": v.DiyType}) categoryMap[utils.Int64ToStr(v.PropertyId)] = options } else if v.PropertyName == "产地" { options = append(options, map[string]interface{}{"name": v.PropertyName, "value": 13850, "diy_type": v.DiyType}) From 06defa9c2360829d34fbb9ad5cd91043433c9964 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 16:40:53 +0800 Subject: [PATCH 20/21] 1 --- .../purchase/tiktok_store/store_sku2_utils.go | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index d1ce83482..7bc7d671c 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -150,27 +150,15 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI PickupMethod: "0", OuterProductId: utils.Int2Str(storeSku.SkuID), // 本地skuId为外部商品id } - // 部分商品没有所属的分类,直接跳过! - if storeSku.SkuVendorMapCatID != "" { - param.CategoryLeafId = utils.Str2Int64(storeSku.SkuVendorMapCatID) - } else if storeSku.VendorVendorCatID != 0 { - param.CategoryLeafId = storeSku.VendorVendorCatID - } else { - continue - } if len(param.Name) < 23 { // 中文字符一个汉字三个长度符号/数字/字母两个长度,商品名称不能大于 - param.Name += utils.Float64ToStr(float64(storeSku.SpecQuality)) + storeSku.SpecUnit + " " + param.Name += utils.Float64ToStr(float64(storeSku.SpecQuality)) + storeSku.SpecUnit + if len(param.Name) < 23 { + param.Name += " 推荐产品 " + } } else if len(param.Name) > 90 { // 抖音最大60个字符,三十个汉字 param.Name = param.Name[0:90] } - // 是否支持七天无理由 - if api.GetProductUpdateRule(param.CategoryLeafId) { - param.Supply7dayReturn = 1 - } else { - param.Supply7dayReturn = 0 - } - // 获取上传图,商品轮播图 img, detailImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeDetail.VendorOrgCode, storeSku.DescImg, storeSku.ImgOrigin, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5) if err != nil { @@ -179,13 +167,25 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI param.Pic = img param.Description = detailImg + // 部分商品没有所属的分类,直接跳过! + if storeSku.SkuVendorMapCatID != "" { + param.CategoryLeafId = utils.Str2Int64(storeSku.SkuVendorMapCatID) + } else if len(param.Pic) != 0 { // 自动推导分类id + param.CategoryLeafId = api.GetRecommendCategory(strings.Split(img, "|")) + } + if storeSku.VendorVendorCatID != 0 && param.CategoryLeafId == 0 { + param.CategoryLeafId = storeSku.VendorVendorCatID + } + + // 是否支持七天无理由 + if api.GetProductUpdateRule(param.CategoryLeafId) { + param.Supply7dayReturn = 1 + } else { + param.Supply7dayReturn = 0 + } + // weight_unit 目前抖音只支持g和kg两种 - //switch storeSku.Unit { - //case "g", "ml", "G", "ML": param.WeightUnit = tiktokShop.WeightUint_G - //case "kg", "l", "L", "KG": - // param.WeightUnit = tiktokShop.WeightUint_G - //} // spec_prices param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, 0, storeSku) From b834cad438d7cbdb1ea8563a659f7f65f5a57a30 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 18:43:40 +0800 Subject: [PATCH 21/21] 1 --- business/jxcallback/orderman/order.go | 54 +++++++++++++++++++ business/jxstore/misc/misc.go | 6 +++ .../partner/purchase/tiktok_store/order.go | 12 ++++- 3 files changed, 71 insertions(+), 1 deletion(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 4f1419910..29a734f20 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -4,6 +4,7 @@ import ( "crypto/md5" "errors" "fmt" + order_getSettleBillDetailV3_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_getSettleBillDetailV3/request" "git.rosy.net.cn/jx-callback/business/authz/autils" "git.rosy.net.cn/jx-callback/business/jxutils/excel" "git.rosy.net.cn/jx-callback/business/jxutils/netprinter" @@ -2473,3 +2474,56 @@ func ExportOrderWithSku(ctx *jxcontext.Context, orders []*model.GoodsOrderExt) ( baseapi.SugarLogger.Debug("WriteToExcel: dataSuccess downloadURL: [%v]", downloadURL) return downloadURL, err } + +// UpdateTiktokShopTotalMoney 定时任务更新抖店订单的平台结算 +func UpdateTiktokShopTotalMoney() { + var goodsOrders []*model.GoodsOrder + sql := `SELECT g.* FROM goods_order g WHERE g.order_created_at >= ? AND g.status = ? AND g.vendor_id = ? AND total_shop_money = ? ORDER BY g.order_created_at desc` + orderCreateTime := time.Now().AddDate(0, 0, -15) + param := []interface{}{orderCreateTime, model.OrderStatusFinished, model.VendorIDDD, model.NO} + if err := dao.GetRows(dao.GetDB(), &goodsOrders, sql, param...); err != nil { + globals.SugarLogger.Debugf("Update GoodsOrder Total shop money err %s", err) + return + } + + orderList := make([]string, 0, 0) + goodsOrdersMap := make(map[string]*model.GoodsOrder, len(goodsOrders)) + for _, v := range goodsOrders { + orderList = append(orderList, v.VendorOrderID) + goodsOrdersMap[v.VendorOrderID] = v + } + + db := dao.GetDB() + randNum := 0 + nextStartIndex := "" + if len(orderList) <= 50 { + randNum = 1 + } else { + randNum = len(orderList) / 50 + if len(orderList)%50 != 0 { + randNum++ + } + } + + for i := 0; i < randNum; i++ { + orderString := strings.Join(orderList[0:i*50], ",") + orderMap, next, err := api.TiktokStore.GetSettleBillDetailV3(&order_getSettleBillDetailV3_request.OrderGetSettleBillDetailV3Param{ + Size: 50, + OrderId: orderString, + StartIndex: nextStartIndex, + }) + if err != nil { + globals.SugarLogger.Errorf("获取平台订单异常 : %s", err) + continue + } + for k, v := range orderMap { + goodsOrdersMap[k].TotalShopMoney = v + if _, err := dao.UpdateEntity(db, goodsOrdersMap[k], "TotalShopMoney"); err != nil { + globals.SugarLogger.Errorf("更新本地订单结算信息错误 : %s", err) + continue + } + } + nextStartIndex = next + } + +} diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index e55f7ea9e..bcf452a91 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -191,6 +191,12 @@ func Init() { }, []string{ "22:00:00", }) + // 更新抖店订单的结算信息 + ScheduleTimerFunc("UpdateTiktokShopTotalMoney", func() { + orderman.UpdateTiktokShopTotalMoney() + }, []string{ + "03:35:00", + }) // 每分钟轮询一次,推送抖店骑手信息 ScheduleTimerFuncByInterval(func() { diff --git a/business/partner/purchase/tiktok_store/order.go b/business/partner/purchase/tiktok_store/order.go index e648747af..f8913c911 100644 --- a/business/partner/purchase/tiktok_store/order.go +++ b/business/partner/purchase/tiktok_store/order.go @@ -4,6 +4,7 @@ import ( "errors" "fmt" "git.rosy.net.cn/baseapi/platformapi/mtpsapi" + order_getSettleBillDetailV3_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_getSettleBillDetailV3/request" order_logisticsAdd_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAdd/request" order_orderDetail_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_orderDetail/response" tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api" @@ -172,7 +173,7 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID s salePrice += sku.SalePrice } } - order.TotalShopMoney = utils.Float64TwoInt64(float64(salePrice) * 0.95) // 抖音平台扣点金额0.05 + //order.TotalShopMoney = utils.Float64TwoInt64(float64(salePrice) * 0.95) // 抖音平台扣点金额0.05 // 预订单还是快速达 localStore, err := dao.GetStoreDetailByVendorStoreID(dao.GetDB(), vendorStoreIdRelly, model.VendorIDDD, vendorOrgCode) @@ -990,3 +991,12 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) { return 0, nil } + +// GetOrderTotalShopMoney 获取门店结算信息 +func GetOrderTotalShopMoney(appOrgCode string, orderIds string, nextStartIndex string) (map[string]int64, string, error) { + return getAPI(appOrgCode, 0, "").GetSettleBillDetailV3(&order_getSettleBillDetailV3_request.OrderGetSettleBillDetailV3Param{ + Size: 50, + OrderId: orderIds, + StartIndex: nextStartIndex, + }) +}