diff --git a/platformapi/jdapi/jdapi_test.go b/platformapi/jdapi/jdapi_test.go index d34fb507..cabbf529 100644 --- a/platformapi/jdapi/jdapi_test.go +++ b/platformapi/jdapi/jdapi_test.go @@ -25,13 +25,13 @@ func init() { // sandbox // api = New("594ab45a-9a73-4a43-82b0-a64cbd55d883", "06692746f7224695ad4788ce340bc854", "d6b42a35a7414a5490d811654d745c84") // prod - api = New("73e2e9f6-b21e-4dcd-8c92-71e4e100b07e", "1dba76d40cac446ca500c0391a0b6c9d", "a88d031a1e7b462cb1579f12e97fe7f4") + // api = New("73e2e9f6-b21e-4dcd-8c92-71e4e100b07e", "1dba76d40cac446ca500c0391a0b6c9d", "a88d031a1e7b462cb1579f12e97fe7f4") // 天天果园 //api = New("c45e6510-00ba-4be2-977e-bcb9c9792cc7", "5d5577a2506f41b8b4ec520ba83490f5", "0b01b9eeb15b41dab1c3d05d95c17a26") // 京东果园 //api = New("b1138139-9610-4b80-9a63-a63da4773885", "5d5577a2506f41b8b4ec520ba83490f5", "0b01b9eeb15b41dab1c3d05d95c17a26") // 果切 - //api = New("0e12f461-2e6b-49ca-bce6-935c6672362d", "f2ed33075faf4773a47e065acd79532b", "aed14cbbecac4456843570e90c5f46ec") + api = New("0e12f461-2e6b-49ca-bce6-935c6672362d", "f2ed33075faf4773a47e065acd79532b", "aed14cbbecac4456843570e90c5f46ec") //prod zs // api = New("6f8d3290-0120-4ad7-8b53-943c67c84f3f", "789279b9ae814ba091ac52815566b54d", "5d668cd227644637bb0fd73ed8118ec8") diff --git a/platformapi/jdapi/order_test.go b/platformapi/jdapi/order_test.go index 6802b5be..a2aa7852 100644 --- a/platformapi/jdapi/order_test.go +++ b/platformapi/jdapi/order_test.go @@ -109,7 +109,7 @@ func TestGetAfsService2(t *testing.T) { } func TestOrderShoudSettlementService2(t *testing.T) { - result, err := api.OrderShoudSettlementService2("2230776748000074") + result, err := api.OrderShoudSettlementService2("2230609970000292") if err != nil { t.Fatal(err.Error()) } diff --git a/platformapi/jdapi/store_sku_test.go b/platformapi/jdapi/store_sku_test.go index 5b5c1945..ddc82f7a 100644 --- a/platformapi/jdapi/store_sku_test.go +++ b/platformapi/jdapi/store_sku_test.go @@ -1,6 +1,8 @@ package jdapi import ( + "fmt" + "sync" "testing" "git.rosy.net.cn/baseapi/utils" @@ -58,9 +60,9 @@ func TestDelVipPrice(t *testing.T) { //} func TestBatchUpdateVendibility(t *testing.T) { - result, err := api.BatchUpdateVendibility("", "100130", "", []*StockVendibility{ + result, err := api.BatchUpdateVendibility("", "800302", "", []*StockVendibility{ &StockVendibility{ - OutSkuId: "26919", + OutSkuId: "6042945", DoSale: true, }, }, "test") @@ -121,3 +123,48 @@ func TestBatchUpdateCurrentQtys(t *testing.T) { t.Log(utils.Format4Output(result, false)) //baseapi.SugarLogger.Debug(utils.Format4Output(result, false)) } + +type Object2222 struct { + Clients map[string]int + *sync.RWMutex +} + +func NewTcpClient222() *Object2222 { + t := &Object2222{ + Clients: make(map[string]int), + } + t.RWMutex = new(sync.RWMutex) + return t +} +func TestLock(t *testing.T) { + obj := NewTcpClient222() + go func() { + fmt.Println("1") + for i := 0; i < 100000; i++ { + obj.setParam(utils.Int2Str(i), i) + } + }() + + go func() { + fmt.Println("2") + for i := 0; i < 100000; i++ { + fmt.Println(obj.getParam(utils.Int2Str(i))) + } + }() + + for i := 0; i < 100000; i++ { + fmt.Println(obj.Clients[utils.Int2Str(i)]) + } +} + +func (t *Object2222) setParam(key string, v int) { + t.Lock() + defer t.Unlock() + t.Clients[key] = v +} + +func (t *Object2222) getParam(key string) int { + t.RLock() + defer t.RUnlock() + return t.Clients[key] +} diff --git a/platformapi/mtwmapi/retail.go b/platformapi/mtwmapi/retail.go index 53de308a..e30e3cdb 100644 --- a/platformapi/mtwmapi/retail.go +++ b/platformapi/mtwmapi/retail.go @@ -271,7 +271,6 @@ func handleRetailBatchResultByRegexp(result interface{}) (failedFoodList []*AppF // https://developer.waimai.meituan.com/home/myquestionDetail/6716 // 另外这个接口即使不指定operate_type为1,也可能报错:”商品spu名称在该店内分类中已存在“,原因就是已经存在两个相同的SKU了 func (a *API) RetailInitData(trackInfo, poiCode, foodCode string, params map[string]interface{}) (err error) { - globals.SugarLogger.Debugf("===========create sku mt : %s,%s,%s,%s", trackInfo, poiCode, foodCode, utils.Format4Output(params, false)) _, err = a.AccessAPI2("retail/initdata", false, utils.MergeMaps(map[string]interface{}{ KeyAppPoiCode: poiCode, KeyAppFoodCode: foodCode, diff --git a/platformapi/mtwmapi/retail_test.go b/platformapi/mtwmapi/retail_test.go index ecfe6053..8c62c658 100644 --- a/platformapi/mtwmapi/retail_test.go +++ b/platformapi/mtwmapi/retail_test.go @@ -289,36 +289,36 @@ func TestRetailSkuSellStatus(t *testing.T) { } func TestRetailSellStatus(t *testing.T) { - result, err := api.RetailSellStatus(utils.GetUUID(), testPoiCode, []*BareStoreFoodInfo{ + result, err := api.RetailSellStatus(utils.GetUUID(), "666975", []*BareStoreFoodInfo{ &BareStoreFoodInfo{ - AppFoodCode: "2212", + AppFoodCode: "6096035", Skus: []*BareStoreSkuInfo{ &BareStoreSkuInfo{ - SkuID: "2212", - Price: "1.2", - Stock: "123", + SkuID: "6096035", + Price: "2.1", + Stock: "0", }, }, }, - &BareStoreFoodInfo{ - AppFoodCode: "23840", - Skus: []*BareStoreSkuInfo{ - &BareStoreSkuInfo{ - SkuID: "23840", - Stock: "123", - }, - }, - }, - &BareStoreFoodInfo{ - AppFoodCode: "2384999", - Skus: []*BareStoreSkuInfo{ - &BareStoreSkuInfo{ - SkuID: "2384999", - Stock: "123", - }, - }, - }, - }, SellStatusOnline) + //&BareStoreFoodInfo{ + // AppFoodCode: "23840", + // Skus: []*BareStoreSkuInfo{ + // &BareStoreSkuInfo{ + // SkuID: "23840", + // Stock: "123", + // }, + // }, + //}, + //&BareStoreFoodInfo{ + // AppFoodCode: "2384999", + // Skus: []*BareStoreSkuInfo{ + // &BareStoreSkuInfo{ + // SkuID: "2384999", + // Stock: "123", + // }, + // }, + //}, + }, SellStatusOffline) if err != nil { t.Fatal(err) } diff --git a/platformapi/tiktok_shop/sdk-golang/api/sku_syncStock/request/sku_syncStock_request.go b/platformapi/tiktok_shop/sdk-golang/api/sku_syncStock/request/sku_syncStock_request.go index 9c51f5ab..632f0fca 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/sku_syncStock/request/sku_syncStock_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/sku_syncStock/request/sku_syncStock_request.go @@ -46,25 +46,25 @@ func (c *SkuSyncStockRequest) GetParams() *SkuSyncStockParam { type SkuSyncStockParam struct { // sku编码 - Code string `json:"code"` + //Code string `json:"code"` // 规格id;抖店系统生成,商品id下唯一。 - SkuId int64 `json:"sku_id"` + //SkuId int64 `json:"sku_id"` // 外部skuid,开发者在创建或更新商品时设置。 OutSkuId int64 `json:"out_sku_id"` // 商品ID,抖店系统生成,店铺下唯一;长度19位。 ProductId int64 `json:"product_id"` // 外部商品id;开发者在创建或更新商品时设置的。 - OutProductId int64 `json:"out_product_id"` + //OutProductId int64 `json:"out_product_id"` // 外部仓库id编码,开发者自定义;如传入传值表示更新区域库存,不传默认更新普通库存。可以使用【/warehouse/list】接口响应参数【out_warehouse_id】字段获取。超市小时达店铺类型,需传入store_id字段,store_id可以使用【/shop/batchCreateStore】创建成功后获取 - OutWarehouseId string `json:"out_warehouse_id"` + //OutWarehouseId string `json:"out_warehouse_id"` // 供应商ID - SupplierId string `json:"supplier_id"` + //SupplierId string `json:"supplier_id"` // 库存更新方式;true-增量更新,同时idempotent_id字段必填;false-全量更新;默认为false Incremental bool `json:"incremental"` // 幂等ID,当incremental=true时该参数必传 - IdempotentId string `json:"idempotent_id"` + //IdempotentId string `json:"idempotent_id"` // 库存值;可以设置为0; StockNum int64 `json:"stock_num"` // 阶梯库存 - StepStockNum int64 `json:"step_stock_num"` + //StepStockNum int64 `json:"step_stock_num"` } diff --git a/platformapi/tiktok_shop/tiktok_api/afs_test.go b/platformapi/tiktok_shop/tiktok_api/afs_test.go index d1a3be4f..88a18827 100644 --- a/platformapi/tiktok_shop/tiktok_api/afs_test.go +++ b/platformapi/tiktok_shop/tiktok_api/afs_test.go @@ -18,9 +18,10 @@ import ( // "authority_id": "" //}` -var token = `{"access_token":"84b9ab00-68d0-4b9f-9682-a03f75eaed95","expires_in":1672634978,"scope":"SCOPE","shop_id":57939570,"shop_name":"京西菜市速食","refresh_token":"44b1e11e-90a0-4876-b5f9-edd2bf5820e8","authority_id":""}` +var token = `{"access_token":"adea9f19-9f8d-4656-8eb3-03c91385252f","expires_in":1673237952,"scope":"SCOPE","shop_id":57939570,"shop_name":"京西菜市速食","refresh_token":"ab14e321-1a68-405c-b904-7c4c14222c58","authority_id":""}` + +//var token = `{"access_token":"e3173e9f-266f-4d87-88e7-e7cd837bc9d9","expires_in":1672882632,"scope":"SCOPE","shop_id":68023619,"shop_name":"京西到家","refresh_token":"5070aae2-493f-46bd-b5d6-6ea0cd64729f","authority_id":""}` -//var token = `{"access_token":"83e52462-ad46-4297-98c4-242ee6b7a5c8","expires_in":1672033612,"scope":"SCOPE","shop_id":63141688,"shop_name":"二期-抖音超市小时达测试店铺","refresh_token":"8f690bc3-3f3e-49bd-bbf7-31c9e868e980","authority_id":""}` var a = New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", token) // 查询售后单详情 @@ -35,7 +36,7 @@ func TestAggreOrNotAggreAfs(t *testing.T) { } func TestGetSkuDetailLocalID(t *testing.T) { - data, err := a.GetSkuDetailLocalID("", "30644") + data, err := a.GetSkuDetailLocalID("", "6094828") globals.SugarLogger.Debugf("data=%s", utils.Format4Output(data, false)) globals.SugarLogger.Debugf("data=%s", err) } diff --git a/platformapi/tiktok_shop/tiktok_api/order.go b/platformapi/tiktok_shop/tiktok_api/order.go index 84bc30b5..649e9a54 100644 --- a/platformapi/tiktok_shop/tiktok_api/order.go +++ b/platformapi/tiktok_shop/tiktok_api/order.go @@ -172,8 +172,6 @@ func (a *API) GetRefundAddressId(storeID int64) (int64, error) { param.StoreId = storeID result, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("获取抖店售后地址列表=========%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("获取抖店售后地址列表:=%s", utils.Format4Output(result, false)) if err != nil { return 0, err } @@ -195,8 +193,6 @@ func (a *API) QueryAllReason(afterSaleId int64) ([]afterSale_rejectReasonCodeLis } result, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("查询所有的售后审核处理原因详情=========%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("查询所有的售后审核处理原因详情:=%s", utils.Format4Output(result, false)) if err != nil { return nil, err } @@ -219,8 +215,6 @@ func (a *API) GetStoreOrderList(queryData time.Time, storeId int64) ([]string, e param.Size = 100 orderDetailList, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("获取门店订单列表=========%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("获取门店订单列表:=%s", utils.Format4Output(orderDetailList, false)) if err != nil { return nil, err } @@ -281,8 +275,6 @@ func (a *API) ReturnGoodsToWareHouseSuccess(afsOrderId string) error { param.OpTime = time.Now().Unix() result, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("商家确认售后单对应的用户退货入仓成功=========%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("商家确认售后单对应的用户退货入仓成功:=%s", utils.Format4Output(result, false)) if err != nil { return err // 202210141114300102101071350D6F3847 } diff --git a/platformapi/tiktok_shop/tiktok_api/sku.go b/platformapi/tiktok_shop/tiktok_api/sku.go index 0b0aa078..588aa531 100644 --- a/platformapi/tiktok_shop/tiktok_api/sku.go +++ b/platformapi/tiktok_shop/tiktok_api/sku.go @@ -2,7 +2,6 @@ package tiktok_api import ( "errors" - "fmt" brand_list_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/brand_list/request" order_batchDecrypt_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_batchDecrypt/request" order_batchSensitive_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_batchSensitive/request" @@ -46,8 +45,6 @@ func (a *API) UpdateSkuStock(param *sku_syncStock_request.SkuSyncStockParam) err request := sku_syncStock_request.New() request.Param = param resp, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("更新区域库存=========:%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("更新区域库存:=%s", utils.Format4Output(resp, false)) if err != nil { return err } @@ -126,7 +123,7 @@ func (a *API) CreateStoreCommodity(skuParam *product_addV2_request.ProductAddV2P return nil, err } if result.Code != RequestSuccessCode { - globals.SugarLogger.Debugf("======CreateStoreCommodity logid: %s,%d,%d", result.LogId, skuParam.MainProductId, result.SubMsg) + globals.SugarLogger.Debugf("======CreateStoreCommodity logid: %s", utils.Format4Output(result, false)) return nil, errors.New(result.SubMsg) } return result.Data, nil @@ -152,14 +149,11 @@ func (a *API) EditStoreCommodity(sku *product_editV2_request.ProductEditV2Param) request.Param = sku result, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("====skuparam %s", utils.Format4Output(sku, false)) - globals.SugarLogger.Debugf("====result %s", utils.Format4Output(result, false)) if err != nil { globals.SugarLogger.Debugf("LogId %s ,err %s", result.LogId, err.Error()) return err } if result.Code != RequestSuccessCode { - globals.SugarLogger.Debugf("LogId %s ,err %s", result.LogId, result.SubMsg) return errors.New(result.SubMsg) } return nil @@ -288,9 +282,6 @@ func (a *API) EditPrice(skuPrice *sku_editPrice_request.SkuEditPriceParam) error request.Param = skuPrice result, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("修改商品价格=========:%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("修改商品价格:=%s", utils.Format4Output(result, false)) - globals.SugarLogger.Debugf("修改商品参数:=%s", utils.Format4Output(skuPrice, false)) if err != nil { return err } @@ -305,8 +296,6 @@ func (a *API) GetSkuBrand(categoryId int64) (int64, error) { request := brand_list_request.New() request.Param.CategoryId = categoryId result, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("获取商品所属品牌=========:%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("获取商品所属品牌:=%s", utils.Format4Output(result, false)) if err != nil { return 0, err } @@ -344,8 +333,6 @@ func (a *API) OrderUserInfoDecrypt(orderId, name, tel, address string) (string, request.Param.CipherInfos = cipherInfos result, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("用户信息解密=========:%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("用户信息解密:=%s", utils.Format4Output(result, false)) if err != nil { return "", "", "", err } @@ -393,10 +380,7 @@ func (a *API) OrderUserInfoSensitive(orderId, name, tel, address string) { request.Param.CipherInfos = paramItems - result, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("用户信息脱敏=========:%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("用户信息脱敏:=%s", utils.Format4Output(result, false)) - fmt.Println(err) + request.Execute(a.accessTokenObj) } // GetProductUpdateRule 查询分类是否支持七天无理由退货 @@ -520,8 +504,10 @@ func (a *API) CreateSubProduct(mainProductId int64, storeId int64) (int64, error } if result.Code != RequestSuccessCode { + globals.SugarLogger.Debugf("=CreateSubProduct logID ========= %s", utils.Format4Output(result, false)) return 0, errors.New(result.SubMsg) } + globals.SugarLogger.Debugf("result CreateSubProduct %s", utils.Format4Output(result, false)) return result.Data.SubProductId, nil } diff --git a/platformapi/tiktok_shop/tiktok_api/sku_delete_test.go b/platformapi/tiktok_shop/tiktok_api/sku_delete_test.go new file mode 100644 index 00000000..19b44821 --- /dev/null +++ b/platformapi/tiktok_shop/tiktok_api/sku_delete_test.go @@ -0,0 +1,246 @@ +package tiktok_api + +import ( + "fmt" + product_listV2_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_listV2/request" + "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/business/model" + "git.rosy.net.cn/jx-callback/globals" + "strings" + "testing" +) + +func TestCreateSubProduct(t *testing.T) { + fmt.Println(2&(model.SyncFlagDeletedMask|model.SyncFlagNewMask|model.SyncFlagModifiedMask) != 0) + fmt.Println((2 & 2) != 0) +} + +// 删除已经创建商品,重新同步 +func TestDeleteSkuAndUploadSku2(t *testing.T) { + var errList = make([]error, 0, 0) + var storeList = make([]string, 0, 0) + for _, v := range c { + for i := 1; i < 100; i++ { + result, err := a.GetSkuDetailList(&product_listV2_request.ProductListV2Param{ + Status: 0, + CheckStatus: 4, // 1-未提交;2-待审核;3-审核通过;4-审核未通过;5-封禁;7-审核通过待上架 + Page: int64(i), + Size: 100, + StoreId: v, + }) + if err != nil { + globals.SugarLogger.Debugf("=index := %d ,err := %s", i, utils.Format4Output(err, false)) + continue + } + if len(result.Data) == 0 { + globals.SugarLogger.Debugf("====没有商品的门店 %d", v) + break + } + storeList = append(storeList, utils.Int64ToStr(v)) + for _, v := range result.Data { + err := a.DeleteStoreCommodity(v.ProductId) + if err != nil { + errList = append(errList, err) + } + } + } + } + + for _, v := range errList { + globals.SugarLogger.Debugf("err := %s", utils.Format4Output(v, false)) + } + fmt.Println(strings.Join(storeList, ",")) +} + +// 删除已经创建商品,重新同步 +func TestDeleteSkuAndUploadSku5(t *testing.T) { + var errList = make([]error, 0, 0) + for i := 1; i < 100; i++ { + result, err := a.GetSkuDetailList(&product_listV2_request.ProductListV2Param{ + Status: 0, + CheckStatus: 3, // 1-未提交;2-待审核;3-审核通过;4-审核未通过;5-封禁;7-审核通过待上架 + Page: int64(i), + Size: 100, + }) + if err != nil { + globals.SugarLogger.Debugf("=index := %d ,err := %s", i, utils.Format4Output(err, false)) + continue + } + if len(result.Data) == 0 { + globals.SugarLogger.Debugf("====没有商品的门店 %d", 1) + break + } + for _, v := range result.Data { + err := a.DeleteStoreCommodity(v.ProductId) + if err != nil { + errList = append(errList, err) + } + } + } + + for _, v := range errList { + globals.SugarLogger.Debugf("err := %s", utils.Format4Output(v, false)) + } +} + +// 删除已经创建商品,重新同步 +func TestDeleteSkuAndUploadSku3(t *testing.T) { + var errList = make([]error, 0, 0) + for v := len(c) - 1; v > 0; v-- { + for i := 1; i < 100; i++ { + result, err := a.GetSkuDetailList(&product_listV2_request.ProductListV2Param{ + CheckStatus: 1, // 1-未提交;2-待审核;3-审核通过;4-审核未通过;5-封禁;7-审核通过待上架 + Page: int64(i), + Size: 100, + StoreId: c[v], + }) + if err != nil { + globals.SugarLogger.Debugf("=index := %d ,err := %s", i, utils.Format4Output(err, false)) + continue + } + if len(result.Data) == 0 { + globals.SugarLogger.Debugf("====没有商品的门店 %d", c[v]) + break + } + for _, v := range result.Data { + err := a.DeleteStoreCommodity(v.ProductId) + if err != nil { + errList = append(errList, err) + } + } + } + } + + for _, v := range errList { + globals.SugarLogger.Debugf("err := %s", utils.Format4Output(v, false)) + } +} + +/**/ + +// 删除已经创建商品,重新同步 +func TestDeleteSkuAndUploadSku4(t *testing.T) { + var errList = make([]error, 0, 0) + for v := len(c) - 1; v > 0; v-- { + for i := 1; i < 100; i++ { + result, err := a.GetSkuDetailList(&product_listV2_request.ProductListV2Param{ + Status: 1, + CheckStatus: 5, // 1-未提交;2-待审核;3-审核通过;4-审核未通过;5-封禁;7-审核通过待上架 + Page: int64(i), + Size: 100, + StoreId: c[v], + }) + if err != nil { + globals.SugarLogger.Debugf("=index := %d ,err := %s", i, utils.Format4Output(err, false)) + continue + } + if len(result.Data) == 0 { + globals.SugarLogger.Debugf("====没有商品的门店 %d", c[v]) + break + } + for _, v := range result.Data { + err := a.DeleteStoreCommodity(v.ProductId) + if err != nil { + errList = append(errList, err) + } + } + } + } + + for _, v := range errList { + globals.SugarLogger.Debugf("err := %s", utils.Format4Output(v, false)) + } +} + +var storeList2GD = []int64{ + 65402632, + 63841927, + 63841426, + 63825967, + 63783027, + 63783026, + 63783025, + 63783023, + 63783021, + 63521502, + 63521394, + 63520894, + 63520826, + 63517652, + 63517290, + 63504497, + 63504222, + 63503537, + 63503199, + 63463365, + 63463026, + 63462817, + 63179331, + 62493432, +} + +// 删除已经创建商品,重新同步 +func TestDeleteSkuAndUploadSku666(t *testing.T) { + var errList = make([]error, 0, 0) + for _, v := range storeList2GD { + for i := 1; i < 100; i++ { + result, err := a.GetSkuDetailList(&product_listV2_request.ProductListV2Param{ + CheckStatus: 3, // 1-未提交;2-待审核;3-审核通过;4-审核未通过;5-封禁;7-审核通过待上架 + Page: int64(i), + Size: 100, + StoreId: v, + }) + if err != nil { + globals.SugarLogger.Debugf("=index := %d ,err := %s", i, utils.Format4Output(err, false)) + continue + } + if len(result.Data) == 0 { + globals.SugarLogger.Debugf("====没有商品的门店 %d", v) + break + } + for _, v := range result.Data { + err := a.DeleteStoreCommodity(v.ProductId) + if err != nil { + errList = append(errList, err) + } + } + } + } + + for _, v := range errList { + globals.SugarLogger.Debugf("err := %s", utils.Format4Output(v, false)) + } +} + +// 删除已经创建商品,重新同步 +func TestDeleteSkuAndUploadSku7777(t *testing.T) { + var errList = make([]error, 0, 0) + for _, v := range storeList2GD { + for i := 1; i < 100; i++ { + result, err := a.GetSkuDetailList(&product_listV2_request.ProductListV2Param{ + CheckStatus: 3, // 1-未提交;2-待审核;3-审核通过;4-审核未通过;5-封禁;7-审核通过待上架 + Page: int64(i), + Size: 100, + StoreId: v, + }) + if err != nil { + globals.SugarLogger.Debugf("=index := %d ,err := %s", i, utils.Format4Output(err, false)) + continue + } + if len(result.Data) == 0 { + globals.SugarLogger.Debugf("====没有商品的门店 %d", v) + break + } + for _, v := range result.Data { + err := a.DeleteStoreCommodity(v.ProductId) + if err != nil { + errList = append(errList, err) + } + } + } + } + + for _, v := range errList { + globals.SugarLogger.Debugf("err := %s", utils.Format4Output(v, false)) + } +} diff --git a/platformapi/tiktok_shop/tiktok_api/sku_test.go b/platformapi/tiktok_shop/tiktok_api/sku_test.go index 0ccd35e6..f8610d16 100644 --- a/platformapi/tiktok_shop/tiktok_api/sku_test.go +++ b/platformapi/tiktok_shop/tiktok_api/sku_test.go @@ -11,10 +11,8 @@ import ( "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/globals" "go.uber.org/zap" - "math/rand" "strings" "testing" - "time" ) func init() { @@ -56,24 +54,17 @@ func TestGetSkuDetail(t *testing.T) { // 查询商品详情本地商品id func TestGetSkuDetailLocalId(t *testing.T) { - data, err := a.GetSkuDetail("3582156764822536769", "") + data, err := a.GetSkuDetail("3592382914735826936", "") fmt.Println(err) globals.SugarLogger.Debugf("====%s", utils.Format4Output(data, false)) } func TestUpdateSkuStore(t *testing.T) { err := a.UpdateSkuStock(&sku_syncStock_request.SkuSyncStockParam{ - SkuId: 1747916594479148, - ProductId: 3579733194175557759, - OutProductId: 0, - Incremental: false, - IdempotentId: "", - StockNum: 2, - OutWarehouseId: "65402632", - Code: "", - OutSkuId: 0, - SupplierId: "", - StepStockNum: 0, + ProductId: 3592147984177100181, + OutSkuId: 29170, + StockNum: 2, + Incremental: false, }) fmt.Println(err) } @@ -150,26 +141,225 @@ func TestBatchDecrypt(t *testing.T) { // a.OrderUserInfoSensitive("4988354190732430566") //} -func TestGetSkuList(t *testing.T) { +var c = []int64{71199364, 71199363, 71199362, 71199361, 71199360, 71199359, 71199358, 71199357, 71199356, 71199355, 71199354, 71199353, 71199352, 71199351, 71199350, 71199349, 70870848, 70870393, 69608467, 69395217, 66502882, 65585133, 65402632, 65401463, 64363086, 64292416, 64270631, 64270382, 64270381, 64270380, 64270379, 64270378, 64270377, 64270376, 64270375, 64270374, 64270373, 64270372, 64270371, 64270370, 64270369, 64270368, 64270367, 64270366, 64270365, 64270364, 64270363, 64270362, 64270361, 64270360, 64270359, 64270358, 64270357, 64270356, 64270355, 64270354, 64270353, 64270352, 64270351, 64270350, 64270349, 64270348, 64270347, 64270346, 64270345, 64270344, 64270343, 64270342, 64270341, 64270340, 64270339, 64270338, 64270337, 64270336, 64270335, 64270334, 64270333, 64270331, 64270330, 64270329, 64270328, 64270327, 64270326, 64270325, 64270324, 64270323, 64270322, 64270321, 64270320, 64270319, 64270318, 64270317, 64270316, 64270315, 64270314, 64270313, 64270312, 64270311, 64270310, 64270309, 64270308, 64270307, 64270306, 64270305, 64270304, 64270303, 64270302, 64270301, 64270300, 64270299, 64270298, 64270297, 64270296, 64270295, 64270294, 64270293, 64270292, 64270291, 64270290, 64270289, 64270288, 64270287, 64270286, 64270285, 64270284, 64270283, 64270282, 64270281, 64270280, 64270279, 64270278, 64270277, 64270276, 64270275, 64270274, 64270273, 64270272, 64270271, 64270270, 64270269, 64270268, 64270267, 64270266, 64270265, 64270264, 64270263, 64270262, 64270261, 64270260, 64270259, 64270258, 64270257, 64270256, 64270255, 64270254, 64270253, 64270252, 64270251, 64270250, 64270249, 64270248, 64270247, 64270246, 64270245, 64270244, 64270243, 64270242, 64270241, 64270240, 64270239, 64270238, 64270237, 64270236, 64270235, 64270234, 64270233, 64270232, 64270231, 64270230, 64270229, 64270228, 64270227, 64270226, 64270225, 64270224, 64270223, 64270222, 64270221, 64270220, 64270219, 64270217, 64270216, 64270215, 64270214, 64270213, 64270212, 64270211, 64270210, 64270209, 64270208, 64270207, 64270206, 64270205, 64270204, 64270203, 64270202, 64270201, 64270200, 64270199, 64270198, 64270197, 64270196, 64270195, 64270194, 64270193, 64270192, 64270191, 64270190, 64270189, 64270188, 64270187, 64270186, 64270185, 64270184, 64270183, 64270182, 64270181, 64270180, 64270179, 64270178, 64270177, 64270176, 64270175, 64270174, 64270173, 64270172, 64270171, 64270170, 64270169, 64270168, 64270167, 64270166, 64270165, 64270164, 64270163, 64270162, 64270161, 64270160, 64270159, 64270158, 64270157, 64270156, 64270155, 64270154, 64270153, 64270152, 64270151, 64270150, 64270149, 64270148, 64270147, 64270146, 64270145, 64270144, 64270143, 64270142, 64270141, 64270140, 64270139, 64270138, 64270137, 64270136, 64270135, 64270134, 64270133, 64270132, 64270131, 64270130, 64270129, 64270128, 64270127, 64270126, 64270125, 64270124, 64270123, 64270122, 64270121, 64270120, 64270119, 64270118, 64270117, 64270116, 64270115, 64270114, 64270113, 64270112, 64270111, 64270110, 64270109, 64270108, 64270107, 64270106, 64270105, 64270104, 64270103, 64270102, 64270101, 64270100, 64270099, 64270098, 64270097, 64270096, 64270095, 64270094, 64270093, 64270092, 64270091, 64270090, 64270089, 64270088, 64270087, 64270086, 64270085, 64270084, 64270083, 64270082, 64270081, 64270080, 64270079, 64270078, 64270077, 64270076, 64270075, 64270074, 64270073, 64270072, 64270071, 64270070, 64270069, 64270068, 64270067, 64270066, 64270065, 64270064, 64270063, 64270062, 64270061, 64270060, 64270059, 64270058, 64270057, 64270056, 64270055, 64270054, 64270053, 64270052, 64270051, 64270050, 64270049, 64270048, 64270047, 64270046, 64270045, 64270044, 64270043, 64270042, 64270041, 64270040, 64270039, 64270038, 64270037, 64270036, 64270035, 64270034, 64270033, 64270032, 64270031, 64270030, 64270029, 64270028, 64270027, 64270026, 64270025, 64270024, 64270023, 64270022, 64270021, 64270020, 64270019, 64270018, 64270017, 64270016, 64270015, 64270014, 64270013, 64270012, 64270011, 64270010, 64270009, 64270008, 64270007, 64270006, 64270005, 64270004, 64270003, 64270002, 64270001, 64270000, 64269999, 64269998, 64269997, 64269996, 64269995, 64269994, 64269993, 64269992, 64269991, 64269990, 64269989, 64269988, 64269987, 64269986, 64269985, 64269984, 64269983, 64269982, 64269981, 64269980, 64269979, 64269978, 64269977, 64269976, 64269975, 64269974, 64269973, 64269972, 64269971, 64269970, 64269969, 64269968, 64269967, 64269966, 64269965, 64269964, 64269963, 64269962, 64269961, 64269960, 64269959, 64269958, 64269957, 64269956, 64269955, 64269954, 64269953, 64269952, 64269951, 64269950, 64269949, 64269948, 64269947, 64269946, 64269945, 64269944, 64269943, 64269942, 64269941, 64269940, 64269939, 64269938, 64269937, 64269936, 64269935, 64269934, 64269933, 64269932, 64269931, 64269930, 64269929, 64269928, 64269927, 64269926, 64269925, 64269924, 64269923, 64269922, 64252804, 64252803, 64252802, 64252801, 64252800, 64252799, 64252798, 64252797, 64252796, 64252795, 64252794, 64252793, 64252792, 64252791, 64252790, 64252789, 64252788, 64252787, 64252786, 64252785, 64252784, 64252783, 64252782, 64251903, 64251902, 64251901, 64251900, 64251899, 64251898, 64251897, 64251896, 64251895, 64251894, 64251893, 64251892, 64251891, 64251890, 64251889, 64251888, 64251887, 64251886, 64251885, 64251884, 64251883, 64251882, 64251881, 64251880, 64251879, 64251878, 64251877, 64251876, 64251875, 64251874, 64251873, 64251872, 64251871, 64251870, 64251869, 64251868, 64251867, 64251866, 64251865, 64251864, 64251863, 64251862, 64251861, 64251860, 64251859, 64251858, 64251857, 64251856, 64251855, 64251854, 64251853, 64251634, 64251633, 64251632, 64251631, 64251630, 64251629, 64251628, 64251627, 64251626, 64251625, 64251624, 64251623, 64251622, 64251621, 64251620, 64251619, 64251618, 64251617, 64251616, 64251615, 64251614, 64251613, 64251612, 64251611, 64251610, 64251609, 64251608, 64251607, 64251606, 64251605, 64251604, 64251603, 64251602, 64251601, 64251600, 64251599, 64251224, 64251223, 64251222, 64251221, 64251220, 64251219, 64251218, 64251217, 64251216, 64251215, 64251214, 64251213, 64251212, 64251211, 64251210, 64251209, 64251208, 64251207, 64251206, 64251205, 64251204, 64251203, 64251202, 64251201, 64251200, 64251199, 64251198, 64251197, 64251196, 64251195, 64250758, 64250756, 64250755, 64250754, 64250753, 64250751, 64250750, 64250749, 64250748, 64250746, 64250745, 64250744, 64250743, 64250742, 64250741, 64250740, 64250739, 64250738, 64250736, 64250735, 64250734, 64250733, 64250732, 64250731, 64250730, 64250729, 64250728, 64250727, 64250724, 64250722, 64250720, 64250717, 64250715, 64250714, 64250713, 64250712, 64250711, 64250710, 64250709, 64250708, 64250707, 64250704, 64250703, 64212758, 64212030, 64208920, 64208821, 64208482, 64208305, 64208009, 64200572, 64200094, 64199878, 64199719, 64198428, 64176100, 64175830, 64175570, 64174147, 64140100, 64138874, 64138148, 64137635, 64134486, 64091796, 64091449, 64090703, 64089616, 64089252, 64088268, 64042829, 63841927, 63841926, 63841925, 63841924, 63841923, 63841426, 63840545, 63840103, 63837040, 63836369, 63836019, 63835743, 63830250, 63826512, 63825967, 63789725, 63783027, 63783026, 63783025, 63783024, 63783023, 63783022, 63783021, 63521502, 63521394, 63520894, 63520826, 63520432, 63520016, 63519651, 63517900, 63517652, 63517290, 63511878, 63509810, 63509510, 63509364, 63508531, 63508263, 63507300, 63507093, 63504497, 63504222, 63503537, 63503468, 63503199, 63485316, 63468251, 63468130, 63468038, 63467912, 63467783, 63467659, 63467462, 63467326, 63467143, 63467044, 63465423, 63465133, 63463365, 63463026, 63463014, 63462817, 63457010, 63325222, 63224599, 63223727, 63183340, 63183100, 63182898, 63182749, 63182392, 63182200, 63181030, 63179331, 63178998, 63178597, 63177967, 63177531, 63177145, 63172646, 62493432, 62490423} + +// 删除已经创建商品,重新同步 +func TestDeleteSkuAndUploadSku(t *testing.T) { + var errList = make([]error, 0, 0) + for _, v := range c { + for i := 1; i < 100; i++ { + result, err := a.GetSkuDetailList(&product_listV2_request.ProductListV2Param{ + CheckStatus: 3, // 1-未提交;2-待审核;3-审核通过;4-审核未通过;5-封禁;7-审核通过待上架 + Page: int64(i), + Size: 100, + StoreId: v, + }) + if err != nil { + globals.SugarLogger.Debugf("=index := %d ,err := %s", i, utils.Format4Output(err, false)) + continue + } + if len(result.Data) == 0 { + globals.SugarLogger.Debugf("====没有商品的门店 %d", v) + break + } + for _, v := range result.Data { + err := a.DeleteStoreCommodity(v.ProductId) + if err != nil { + errList = append(errList, err) + } + } + } + } + + for _, v := range errList { + globals.SugarLogger.Debugf("err := %s", utils.Format4Output(v, false)) + } +} + +// 删除已经创建商品,重新同步 +func TestDeleteSkuAndUploadSku55(t *testing.T) { + var errList = make([]error, 0, 0) + for _, v := range c { + for i := 1; i < 100; i++ { + result, err := a.GetSkuDetailList(&product_listV2_request.ProductListV2Param{ + CheckStatus: 3, // 1-未提交;2-待审核;3-审核通过;4-审核未通过;5-封禁;7-审核通过待上架 + Page: int64(i), + Size: 100, + StoreId: v, + }) + if err != nil { + globals.SugarLogger.Debugf("=index := %d ,err := %s", i, utils.Format4Output(err, false)) + continue + } + if len(result.Data) == 0 { + globals.SugarLogger.Debugf("====没有商品的门店 %d", v) + break + } + for _, v := range result.Data { + err := a.DeleteStoreCommodity(v.ProductId) + if err != nil { + errList = append(errList, err) + } + } + } + } + + for _, v := range errList { + globals.SugarLogger.Debugf("err := %s", utils.Format4Output(v, false)) + } +} + +// 删除已经创建商品,重新同步 +func TestDeleteSkuAndUploadSku7(t *testing.T) { + var errList = make([]error, 0, 0) + for _, v := range c { + for i := 1; i < 100; i++ { + result, err := a.GetSkuDetailList(&product_listV2_request.ProductListV2Param{ + CheckStatus: 3, // 1-未提交;2-待审核;3-审核通过;4-审核未通过;5-封禁;7-审核通过待上架 + Page: int64(i), + Size: 100, + StoreId: v, + }) + if err != nil { + globals.SugarLogger.Debugf("=index := %d ,err := %s", i, utils.Format4Output(err, false)) + continue + } + if len(result.Data) == 0 { + globals.SugarLogger.Debugf("====没有商品的门店 %d", v) + break + } + for _, v := range result.Data { + err := a.DeleteStoreCommodity(v.ProductId) + if err != nil { + errList = append(errList, err) + } + } + } + } + + for _, v := range errList { + globals.SugarLogger.Debugf("err := %s", utils.Format4Output(v, false)) + } +} + +/***********************************/ +// 删除已经创建商品,重新同步 下架 +func TestDeleteSkuAndUploadSkuXiaJiaBiXu(t *testing.T) { + var errList = make([]error, 0, 0) + for _, v := range c { + for i := 1; i < 100; i++ { + result, err := a.GetSkuDetailList(&product_listV2_request.ProductListV2Param{ + Status: 1, + CheckStatus: 1, // 1-未提交;2-待审核;3-审核通过;4-审核未通过;5-封禁;7-审核通过待上架 + Page: int64(i), + Size: 100, + StoreId: v, + }) + if err != nil { + globals.SugarLogger.Debugf("=index := %d ,err := %s", i, utils.Format4Output(err, false)) + continue + } + if len(result.Data) == 0 { + globals.SugarLogger.Debugf("====没有商品的门店 %d", v) + break + } + for _, v := range result.Data { + err := a.DeleteStoreCommodity(v.ProductId) + if err != nil { + errList = append(errList, err) + } + } + } + } + + for _, v := range errList { + globals.SugarLogger.Debugf("err := %s", utils.Format4Output(v, false)) + } +} + +// 删除已经创建商品,重新同步封禁 +func TestDeleteSkuAndUploadSkuFengJinBiXu(t *testing.T) { + var errList = make([]error, 0, 0) + for _, v := range c { + for i := 1; i < 100; i++ { + result, err := a.GetSkuDetailList(&product_listV2_request.ProductListV2Param{ + Status: 1, + CheckStatus: 5, // 1-未提交;2-待审核;3-审核通过;4-审核未通过;5-封禁;7-审核通过待上架 + Page: int64(i), + Size: 100, + StoreId: v, + }) + if err != nil { + globals.SugarLogger.Debugf("=index := %d ,err := %s", i, utils.Format4Output(err, false)) + continue + } + if len(result.Data) == 0 { + globals.SugarLogger.Debugf("====没有商品的门店 %d", v) + break + } + for _, v := range result.Data { + err := a.DeleteStoreCommodity(v.ProductId) + if err != nil { + errList = append(errList, err) + } + } + } + } + + for _, v := range errList { + globals.SugarLogger.Debugf("err := %s", utils.Format4Output(v, false)) + } +} + +// 删除已经创建商品,重新同步延迟上架 +func TestDeleteSkuAndUploadSkuYanChiBiXu(t *testing.T) { + var errList = make([]error, 0, 0) + for _, v := range c { + for i := 1; i < 100; i++ { + result, err := a.GetSkuDetailList(&product_listV2_request.ProductListV2Param{ + Status: 0, + CheckStatus: 7, // 1-未提交;2-待审核;3-审核通过;4-审核未通过;5-封禁;7-审核通过待上架 + Page: int64(i), + Size: 100, + StoreId: v, + }) + if err != nil { + globals.SugarLogger.Debugf("=index := %d ,err := %s", i, utils.Format4Output(err, false)) + continue + } + if len(result.Data) == 0 { + globals.SugarLogger.Debugf("====没有商品的门店 %d", 111) + break + } + for _, v := range result.Data { + err := a.DeleteStoreCommodity(v.ProductId) + if err != nil { + errList = append(errList, err) + } + } + } + } + for _, v := range errList { + globals.SugarLogger.Debugf("err := %s", utils.Format4Output(v, false)) + } +} + +// 删除已经创建商品,重新同步封禁 +func TestDeleteSkuAndUploadSkuFengJinBiXu222(t *testing.T) { var errList = make([]error, 0, 0) for i := 1; i < 100; i++ { result, err := a.GetSkuDetailList(&product_listV2_request.ProductListV2Param{ - Status: 0, - CheckStatus: 3, - ProductType: 0, - StartTime: 0, - EndTime: 0, - Page: int64(i), - Size: 100, - UpdateStartTime: 0, - UpdateEndTime: 0, - StoreId: 65402632, + Status: 0, + CheckStatus: 3, // 1-未提交;2-待审核;3-审核通过;4-审核未通过;5-封禁;7-审核通过待上架 + Page: int64(i), + Size: 100, }) if err != nil { globals.SugarLogger.Debugf("=index := %d ,err := %s", i, utils.Format4Output(err, false)) + continue } if len(result.Data) == 0 { - return + break } for _, v := range result.Data { err := a.DeleteStoreCommodity(v.ProductId) @@ -184,114 +374,32 @@ func TestGetSkuList(t *testing.T) { } } -func TestGetBrandId(t *testing.T) { - a.GetSkuBrand(29073) -} - -func Test11111(t *testing.T) { - rand.Seed(time.Now().UnixNano()) - for i := 0; i < 10; i++ { - randNumber := rand.Int63n(481) - if randNumber < 60 { - randNumber += 60 - } - fmt.Println(randNumber) - } -} - -func TestGetProductUpdateRule(t *testing.T) { - keys := make(map[int64]bool, 0) - data, _ := a.GetShopCategory(0) - for _, v1 := range data { - if len(v1.Children) > 0 { - for _, v2 := range v1.Children { - if len(v2.Children) > 0 { - for _, v3 := range v2.Children { - if len(v3.Children) > 0 { - for _, v4 := range v3.Children { - if v4.Enable { - keys[v4.Id] = a.GetProductUpdateRule(v4.Id) - } - } - } - keys[v3.Id] = a.GetProductUpdateRule(v3.Id) - } - } - keys[v2.Id] = a.GetProductUpdateRule(v2.Id) - } - } - keys[v1.Id] = a.GetProductUpdateRule(v1.Id) - } - globals.SugarLogger.Debugf("====%d", len(keys)) - globals.SugarLogger.Debugf("====%s", utils.Format4Output(keys, false)) -} - -func TestNameeeee(t *testing.T) { - aa := `667278_/image/4229fbb12a40ddcc7a2d42728f` - fmt.Println(strings.Contains(aa, "detail_")) -} - -func TestGetProductUpdateRule2(t *testing.T) { - a.GetProductUpdateRule2(20219) -} - -func TestPPPPPPPPPPPPPP(t *testing.T) { - aa := "该商品类目选择错误,推荐放置在“面条/挂面(待煮面条)”类目中." - - for _, v := range strings.Split(aa, "“") { - fmt.Println(v) - } -} - -func TestGetProductAuditList(t *testing.T) { - data, _, _ := a.GetProductAuditList(1, 100, 2) - updateCategory := make(map[string]string, 0) // 修改分类的Map - 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] - } - } - - } -} - -func TestCreateShopData(t *testing.T) { - imgs := make([]Imgs, 0, 0) - img := []string{"http://p0.meituan.net/xianfu/83b499974d4507a31f6e654d41cf578149300.jpg"} - for _, v := range img { - if v != "" { - imgs = append(imgs, Imgs{ - Name: "111" + "_" + v[21:54], - Url: v, - }) - } - } - - tiktokImgList, err := a.BatchUploadImages(imgs) - globals.SugarLogger.Debugf("========err %s", utils.Format4Output(err, false)) - - detailTiktok := "" - var tiktokImg []string - for _, v := range tiktokImgList { - if strings.Contains(v.Name, "detail_") { - detailTiktok = v.ByteUrl +// 删除已经创建商品,重新同步封禁 +func TestDeleteSkuAndUploadSkuFengJinBiXu22332(t *testing.T) { + var errList = make([]error, 0, 0) + for i := 1; i < 100; i++ { + result, err := a.GetSkuDetailList(&product_listV2_request.ProductListV2Param{ + Status: 0, + CheckStatus: 4, // 1-未提交;2-待审核;3-审核通过;4-审核未通过;5-封禁;7-审核通过待上架 + Page: int64(i), + Size: 100, + }) + if err != nil { + globals.SugarLogger.Debugf("=index := %d ,err := %s", i, utils.Format4Output(err, false)) continue } - tiktokImg = append(tiktokImg, v.ByteUrl) - } - if detailTiktok == "" { - detailTiktok = tiktokImg[0] + if len(result.Data) == 0 { + break + } + for _, v := range result.Data { + err := a.DeleteStoreCommodity(v.ProductId) + if err != nil { + errList = append(errList, err) + } + } } - a.GetRecommendCategory(tiktokImg) -} - -func TestCreateSubProduct(t *testing.T) { - data, err := a.CreateSubProduct(3582844809968284091, 65402632) - fmt.Println("data===== ", data) - fmt.Println("err===== ", err) + for _, v := range errList { + globals.SugarLogger.Debugf("err := %s", utils.Format4Output(v, false)) + } } diff --git a/platformapi/tiktok_shop/tiktok_api/sku_type.go b/platformapi/tiktok_shop/tiktok_api/sku_type.go index 9a71ee66..b67e0953 100644 --- a/platformapi/tiktok_shop/tiktok_api/sku_type.go +++ b/platformapi/tiktok_shop/tiktok_api/sku_type.go @@ -7,7 +7,7 @@ type Imgs struct { // 抖店文件夹id写死两个 const ( - TiktokFolder1 = "71580417560930552391570" // 文件夹(京西菜市) + TiktokFolder1 = "71847620611255503751570" // 文件夹(京西菜市) TiktokFolder2 = "71482723234545339291960" TiktokFolder3 = "71762017122139835211688" // (方案二测试文件夹) TiktokShoppingFolder = "71802347591117703711619" // (方案二测试文件夹) diff --git a/platformapi/tiktok_shop/tiktok_api/sku_warehouse_test.go b/platformapi/tiktok_shop/tiktok_api/sku_warehouse_test.go index 0f16b509..734cc2f6 100644 --- a/platformapi/tiktok_shop/tiktok_api/sku_warehouse_test.go +++ b/platformapi/tiktok_shop/tiktok_api/sku_warehouse_test.go @@ -24,7 +24,7 @@ func init() { } func TestCreateFolad(t *testing.T) { - data, err := a.CreateFolder("shopping_folder") + data, err := a.CreateFolder("京西菜市图片文件库2") fmt.Println("err=====", err) fmt.Println("LogId====", data.LogId) //2022092811422001020812109607601B77 fmt.Println("data====", data.Data.Name) // jxcs_folder diff --git a/platformapi/tiktok_shop/tiktok_api/store.go b/platformapi/tiktok_shop/tiktok_api/store.go index a3ce6b92..b869016e 100644 --- a/platformapi/tiktok_shop/tiktok_api/store.go +++ b/platformapi/tiktok_shop/tiktok_api/store.go @@ -26,6 +26,7 @@ import ( shop_getStoreDetail_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreDetail/response" shop_getStoreFreight_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreFreight/request" shop_getStoreList_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreList/request" + shop_getStoreList_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreList/response" shop_getStoreSaleLimit_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreSaleLimit/request" shop_setStorePackageFee_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_setStorePackageFee/request" shop_storeSuspend_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_storeSuspend/request" @@ -78,8 +79,6 @@ func (a *API) BatchCreateStore(param *shop_batchCreateStore_request.ShopBatchCre request := shop_batchCreateStore_request.New() request.Param = param response, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("批量创建门店=========:%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("批量创建门店:=%s", utils.Format4Output(response, false)) if err != nil { return nil, err } @@ -98,8 +97,6 @@ func (a *API) EditStore(param *shop_editStore_request.ShopEditStoreParam) error request := shop_editStore_request.New() request.Param = param response, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("编辑门店=========:%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("编辑门店:=%s", utils.Format4Output(response, false)) if err != nil { return err } @@ -114,8 +111,6 @@ func (a *API) StoreSuspend(param *shop_storeSuspend_request.ShopStoreSuspendPara request := shop_storeSuspend_request.New() request.Param = param response, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("暂停营业=========:%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("暂停营业:=%s", utils.Format4Output(response, false)) if err != nil { return nil, err } @@ -130,8 +125,6 @@ func (a *API) UnsuspendStore(param *shop_unsuspendStore_request.ShopUnsuspendSto request := shop_unsuspendStore_request.New() request.Param = param response, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("门店恢复营业=========:%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("门店恢复营业:=%s", utils.Format4Output(response, false)) if err != nil { return nil, err } @@ -167,13 +160,26 @@ func (a *API) GetStoreList(param *shop_getStoreList_request.ShopGetStoreListPara return resp, err } +//门店列表分页查询 +func (a *API) GetStoreList2(param *shop_getStoreList_request.ShopGetStoreListParam) (*shop_getStoreList_response.ShopGetStoreListResponse, error) { + request := shop_getStoreList_request.New() + request.Param = param + response, err := request.Execute(a.accessTokenObj) + if err != nil { + return nil, err + } + if response.Code != RequestSuccessCode { + return nil, errors.New(response.SubMsg) + } + + return response, err +} + //创建限售规则模板 func (a *API) CreateTradeLimitTemplate(param *trade_createTradeLimitTemplate_request.TradeCreateTradeLimitTemplateParam) (*trade_createTradeLimitTemplate_response.TradeCreateTradeLimitTemplateData, error) { request := trade_createTradeLimitTemplate_request.New() request.Param = param response, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("创建限售规则模板=========:%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("创建限售规则模板:=%s", utils.Format4Output(response, false)) if err != nil { return nil, err } @@ -188,9 +194,6 @@ func (a *API) UpdateTradeLimitTemplate(param *trade_UpdateTradeLimitTemplate_req request := trade_UpdateTradeLimitTemplate_request.New() request.Param = param response, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("更新限售规则模板=========:%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("更新限售规则模板:=%s", utils.Format4Output(response, false)) - globals.SugarLogger.Debugf("打印限售规则参数 检查====%v", utils.Format4Output(request.Param, false)) if err != nil { return nil, err } diff --git a/platformapi/tiktok_shop/tiktok_api/store_test.go b/platformapi/tiktok_shop/tiktok_api/store_test.go index 5e2fff4e..8ccfdeda 100644 --- a/platformapi/tiktok_shop/tiktok_api/store_test.go +++ b/platformapi/tiktok_shop/tiktok_api/store_test.go @@ -61,7 +61,7 @@ func TestCreateStore(t *testing.T) { func TestGetStoreList(t *testing.T) { data, err := a.GetStoreList(&shop_getStoreList_request.ShopGetStoreListParam{ Page: "1", - PageSize: "20", + PageSize: "100", }) for _, v := range data { fmt.Println(v) @@ -69,6 +69,31 @@ func TestGetStoreList(t *testing.T) { fmt.Println(err) } +func TestGetStoreList2(t *testing.T) { + count := 0 + storeList := make([]string, 0, 0) + + for i := 0; i < 10; i++ { + data, err := a.GetStoreList2(&shop_getStoreList_request.ShopGetStoreListParam{ + Page: utils.Int2Str(i + 1), + PageSize: "100", + }) + if err != nil { + globals.SugarLogger.Debugf("err=======%s", utils.Format4Output(err, false)) + continue + } + for _, v := range data.Data.StoreDetailList { + storeList = append(storeList, utils.Int64ToStr(v.Store.StoreId)) + count++ + //fmt.Println(fmt.Sprintf("%s_%d_%s", v.Store.StoreCode, v.Store.StoreId, v.Store.Name)) + //storeList = append(storeList, utils.Int64ToStr(v.Store.StoreId)) + } + } + fmt.Println("=========1", count) + fmt.Println("=========2", len(storeList)) + fmt.Println("=========3", strings.Join(storeList, ",")) +} + //获取门店详细信息 func TestGetStoreDetail(t *testing.T) { data, err := a.GetStoreDetail(&shop_getStoreDetail_request.ShopGetStoreDetailParam{ @@ -78,7 +103,8 @@ func TestGetStoreDetail(t *testing.T) { fmt.Println(err) } func TestSysnc(t *testing.T) { - fmt.Println((2 & 2) != 0) // 创建 + var c = []int64{71199364, 71199363, 71199362, 71199361, 71199360, 71199359, 71199358, 71199357, 71199356, 71199355, 71199354, 71199353, 71199352, 71199351, 71199350, 71199349, 70870848, 70870393, 69608467, 69395217, 66502882, 65585133, 65402632, 65401463, 64363086, 64292416, 64270631, 64270382, 64270381, 64270380, 64270379, 64270378, 64270377, 64270376, 64270375, 64270374, 64270373, 64270372, 64270371, 64270370, 64270369, 64270368, 64270367, 64270366, 64270365, 64270364, 64270363, 64270362, 64270361, 64270360, 64270359, 64270358, 64270357, 64270356, 64270355, 64270354, 64270353, 64270352, 64270351, 64270350, 64270349, 64270348, 64270347, 64270346, 64270345, 64270344, 64270343, 64270342, 64270341, 64270340, 64270339, 64270338, 64270337, 64270336, 64270335, 64270334, 64270333, 64270331, 64270330, 64270329, 64270328, 64270327, 64270326, 64270325, 64270324, 64270323, 64270322, 64270321, 64270320, 64270319, 64270318, 64270317, 64270316, 64270315, 64270314, 64270313, 64270312, 64270311, 64270310, 64270309, 64270308, 64270307, 64270306, 64270305, 64270304, 64270303, 64270302, 64270301, 64270300, 64270299, 64270298, 64270297, 64270296, 64270295, 64270294, 64270293, 64270292, 64270291, 64270290, 64270289, 64270288, 64270287, 64270286, 64270285, 64270284, 64270283, 64270282, 64270281, 64270280, 64270279, 64270278, 64270277, 64270276, 64270275, 64270274, 64270273, 64270272, 64270271, 64270270, 64270269, 64270268, 64270267, 64270266, 64270265, 64270264, 64270263, 64270262, 64270261, 64270260, 64270259, 64270258, 64270257, 64270256, 64270255, 64270254, 64270253, 64270252, 64270251, 64270250, 64270249, 64270248, 64270247, 64270246, 64270245, 64270244, 64270243, 64270242, 64270241, 64270240, 64270239, 64270238, 64270237, 64270236, 64270235, 64270234, 64270233, 64270232, 64270231, 64270230, 64270229, 64270228, 64270227, 64270226, 64270225, 64270224, 64270223, 64270222, 64270221, 64270220, 64270219, 64270217, 64270216, 64270215, 64270214, 64270213, 64270212, 64270211, 64270210, 64270209, 64270208, 64270207, 64270206, 64270205, 64270204, 64270203, 64270202, 64270201, 64270200, 64270199, 64270198, 64270197, 64270196, 64270195, 64270194, 64270193, 64270192, 64270191, 64270190, 64270189, 64270188, 64270187, 64270186, 64270185, 64270184, 64270183, 64270182, 64270181, 64270180, 64270179, 64270178, 64270177, 64270176, 64270175, 64270174, 64270173, 64270172, 64270171, 64270170, 64270169, 64270168, 64270167, 64270166, 64270165, 64270164, 64270163, 64270162, 64270161, 64270160, 64270159, 64270158, 64270157, 64270156, 64270155, 64270154, 64270153, 64270152, 64270151, 64270150, 64270149, 64270148, 64270147, 64270146, 64270145, 64270144, 64270143, 64270142, 64270141, 64270140, 64270139, 64270138, 64270137, 64270136, 64270135, 64270134, 64270133, 64270132, 64270131, 64270130, 64270129, 64270128, 64270127, 64270126, 64270125, 64270124, 64270123, 64270122, 64270121, 64270120, 64270119, 64270118, 64270117, 64270116, 64270115, 64270114, 64270113, 64270112, 64270111, 64270110, 64270109, 64270108, 64270107, 64270106, 64270105, 64270104, 64270103, 64270102, 64270101, 64270100, 64270099, 64270098, 64270097, 64270096, 64270095, 64270094, 64270093, 64270092, 64270091, 64270090, 64270089, 64270088, 64270087, 64270086, 64270085, 64270084, 64270083, 64270082, 64270081, 64270080, 64270079, 64270078, 64270077, 64270076, 64270075, 64270074, 64270073, 64270072, 64270071, 64270070, 64270069, 64270068, 64270067, 64270066, 64270065, 64270064, 64270063, 64270062, 64270061, 64270060, 64270059, 64270058, 64270057, 64270056, 64270055, 64270054, 64270053, 64270052, 64270051, 64270050, 64270049, 64270048, 64270047, 64270046, 64270045, 64270044, 64270043, 64270042, 64270041, 64270040, 64270039, 64270038, 64270037, 64270036, 64270035, 64270034, 64270033, 64270032, 64270031, 64270030, 64270029, 64270028, 64270027, 64270026, 64270025, 64270024, 64270023, 64270022, 64270021, 64270020, 64270019, 64270018, 64270017, 64270016, 64270015, 64270014, 64270013, 64270012, 64270011, 64270010, 64270009, 64270008, 64270007, 64270006, 64270005, 64270004, 64270003, 64270002, 64270001, 64270000, 64269999, 64269998, 64269997, 64269996, 64269995, 64269994, 64269993, 64269992, 64269991, 64269990, 64269989, 64269988, 64269987, 64269986, 64269985, 64269984, 64269983, 64269982, 64269981, 64269980, 64269979, 64269978, 64269977, 64269976, 64269975, 64269974, 64269973, 64269972, 64269971, 64269970, 64269969, 64269968, 64269967, 64269966, 64269965, 64269964, 64269963, 64269962, 64269961, 64269960, 64269959, 64269958, 64269957, 64269956, 64269955, 64269954, 64269953, 64269952, 64269951, 64269950, 64269949, 64269948, 64269947, 64269946, 64269945, 64269944, 64269943, 64269942, 64269941, 64269940, 64269939, 64269938, 64269937, 64269936, 64269935, 64269934, 64269933, 64269932, 64269931, 64269930, 64269929, 64269928, 64269927, 64269926, 64269925, 64269924, 64269923, 64269922, 64252804, 64252803, 64252802, 64252801, 64252800, 64252799, 64252798, 64252797, 64252796, 64252795, 64252794, 64252793, 64252792, 64252791, 64252790, 64252789, 64252788, 64252787, 64252786, 64252785, 64252784, 64252783, 64252782, 64251903, 64251902, 64251901, 64251900, 64251899, 64251898, 64251897, 64251896, 64251895, 64251894, 64251893, 64251892, 64251891, 64251890, 64251889, 64251888, 64251887, 64251886, 64251885, 64251884, 64251883, 64251882, 64251881, 64251880, 64251879, 64251878, 64251877, 64251876, 64251875, 64251874, 64251873, 64251872, 64251871, 64251870, 64251869, 64251868, 64251867, 64251866, 64251865, 64251864, 64251863, 64251862, 64251861, 64251860, 64251859, 64251858, 64251857, 64251856, 64251855, 64251854, 64251853, 64251634, 64251633, 64251632, 64251631, 64251630, 64251629, 64251628, 64251627, 64251626, 64251625, 64251624, 64251623, 64251622, 64251621, 64251620, 64251619, 64251618, 64251617, 64251616, 64251615, 64251614, 64251613, 64251612, 64251611, 64251610, 64251609, 64251608, 64251607, 64251606, 64251605, 64251604, 64251603, 64251602, 64251601, 64251600, 64251599, 64251224, 64251223, 64251222, 64251221, 64251220, 64251219, 64251218, 64251217, 64251216, 64251215, 64251214, 64251213, 64251212, 64251211, 64251210, 64251209, 64251208, 64251207, 64251206, 64251205, 64251204, 64251203, 64251202, 64251201, 64251200, 64251199, 64251198, 64251197, 64251196, 64251195, 64250758, 64250756, 64250755, 64250754, 64250753, 64250751, 64250750, 64250749, 64250748, 64250746, 64250745, 64250744, 64250743, 64250742, 64250741, 64250740, 64250739, 64250738, 64250736, 64250735, 64250734, 64250733, 64250732, 64250731, 64250730, 64250729, 64250728, 64250727, 64250724, 64250722, 64250720, 64250717, 64250715, 64250714, 64250713, 64250712, 64250711, 64250710, 64250709, 64250708, 64250707, 64250704, 64250703, 64212758, 64212030, 64208920, 64208821, 64208482, 64208305, 64208009, 64200572, 64200094, 64199878, 64199719, 64198428, 64176100, 64175830, 64175570, 64174147, 64140100, 64138874, 64138148, 64137635, 64134486, 64091796, 64091449, 64090703, 64089616, 64089252, 64088268, 64042829, 63841927, 63841926, 63841925, 63841924, 63841923, 63841426, 63840545, 63840103, 63837040, 63836369, 63836019, 63835743, 63830250, 63826512, 63825967, 63789725, 63783027, 63783026, 63783025, 63783024, 63783023, 63783022, 63783021, 63521502, 63521394, 63520894, 63520826, 63520432, 63520016, 63519651, 63517900, 63517652, 63517290, 63511878, 63509810, 63509510, 63509364, 63508531, 63508263, 63507300, 63507093, 63504497, 63504222, 63503537, 63503468, 63503199, 63485316, 63468251, 63468130, 63468038, 63467912, 63467783, 63467659, 63467462, 63467326, 63467143, 63467044, 63465423, 63465133, 63463365, 63463026, 63463014, 63462817, 63457010, 63325222, 63224599, 63223727, 63183340, 63183100, 63182898, 63182749, 63182392, 63182200, 63181030, 63179331, 63178998, 63178597, 63177967, 63177531, 63177145, 63172646, 62493432, 62490423} + fmt.Println(len(c)) } func TestStoreTemp(t *testing.T) { diff --git a/platformapi/tiktok_shop/tiktok_api/transport.go b/platformapi/tiktok_shop/tiktok_api/transport.go index 85d6cef0..33f8cb8c 100644 --- a/platformapi/tiktok_shop/tiktok_api/transport.go +++ b/platformapi/tiktok_shop/tiktok_api/transport.go @@ -27,9 +27,6 @@ func (a *API) GetDispatcherInfo(storeID int64, shopOrderID string, dispatcherFee DispatcherFeeType: dispatcherFeeType, } response, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("运力呼叫询价/运力取消询价(正向)=========:%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("运力呼叫询价/运力取消询价(正向):=%s", utils.Format4Output(response, false)) - globals.SugarLogger.Debugf("打印运力呼叫询价/运力取消询价(正向)参数 ====%v", utils.Format4Output(request.Param, false)) if err != nil { return 0, err } @@ -48,9 +45,6 @@ func (a *API) ShopOrderDispatcher(storeID int64, shopOrderID string, dispatcherT DispatcherType: dispatcherType, } response, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("呼叫运力并发货/重新发货、取消运力=========:%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("呼叫运力并发货/重新发货、取消运力:=%s", utils.Format4Output(response, false)) - globals.SugarLogger.Debugf("打印呼叫运力并发货/重新发货、取消运力参数 ====%v", utils.Format4Output(request.Param, false)) if err != nil { return err } @@ -101,8 +95,6 @@ func (a *API) CreateVirtualMobile(shopOrderID int64) (*superm_createVirtualMobil ShopOrderID: shopOrderID, } response, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("隐私小号获取=========:%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("隐私小号获取:=%s", utils.Format4Output(response, false)) if err != nil { return nil, err } @@ -120,9 +112,6 @@ func (a *API) GetPlatformPickUpEstimatedCharge(afterSaleID int64, inquiryType in InquiryType: inquiryType, } response, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("运力呼叫询价/运力取消询价=========:%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("运力呼叫询价/运力取消询价:=%s", utils.Format4Output(response, false)) - globals.SugarLogger.Debugf("打印运力呼叫询价/运力取消询价参数 ====%v", utils.Format4Output(request.Param, false)) if err != nil { return 0, err } @@ -139,8 +128,6 @@ func (a *API) ApplyPlatformPickUp(afterSaleID int64) (string, error) { AfterSaleID: afterSaleID, } response, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("呼叫运力售后取件=========:%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("呼叫运力售后取件:=%s", utils.Format4Output(response, false)) if err != nil { return "", err } @@ -158,8 +145,6 @@ func (a *API) GetShipmentInfo(shopOrderID, afterSaleID, shipmentType int64) (*su ShipmentType: shipmentType, } response, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("查询运力订单信息=========:%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("查询运力订单信息:=%s", utils.Format4Output(response, false)) if err != nil { return nil, err } @@ -176,8 +161,6 @@ func (a *API) CancelPlatformPickUp(afterSaleID int64) error { AfterSaleID: afterSaleID, } response, err := request.Execute(a.accessTokenObj) - globals.SugarLogger.Debugf("取消运力=========:%s", request.GetUrlPath()) - globals.SugarLogger.Debugf("取消运力:=%s", utils.Format4Output(response, false)) if err != nil { return err } diff --git a/utils/typeconv.go b/utils/typeconv.go index e76a9acc..66da9b30 100644 --- a/utils/typeconv.go +++ b/utils/typeconv.go @@ -5,7 +5,6 @@ import ( "encoding/json" "errors" "fmt" - "git.rosy.net.cn/jx-callback/globals" "math" "net/url" "reflect" @@ -44,7 +43,6 @@ func TryUnmarshalUseNumber(data []byte, result interface{}) error { // 这个函数将解析json,返回的map中的字段类型与structObj中的完全一样的 func Unmarshal2Map(data []byte, structObj interface{}) (resultMap map[string]interface{}, err error) { - globals.SugarLogger.Debugf("进入Unmarshal2Map") if err = json.Unmarshal(data, structObj); err == nil { if err = json.Unmarshal(data, &resultMap); err == nil { m := Struct2MapByJson(structObj) @@ -57,7 +55,6 @@ func Unmarshal2Map(data []byte, structObj interface{}) (resultMap map[string]int } } } - globals.SugarLogger.Debugf("resultMap===========%v err=======%v", resultMap, err) return resultMap, err }