From 2ae4b513dd8237c8b42b8f359e5995a77f4906e6 Mon Sep 17 00:00:00 2001 From: suyl <770236076@qq.com> Date: Sat, 8 May 2021 15:50:56 +0800 Subject: [PATCH] tb --- platformapi/jdunionapi/jdunionapi.go | 11 +++++ platformapi/jdunionapi/jdunionapi_test.go | 8 +++ platformapi/tbunionapi/sku.go | 59 ++++++++++++++++++++++- platformapi/tbunionapi/sku_test.go | 2 +- platformapi/tbunionapi/tbunionapi.go | 3 +- platformapi/tbunionapi/union.go | 27 +++++++++++ platformapi/tbunionapi/union_test.go | 16 ++++++ 7 files changed, 122 insertions(+), 4 deletions(-) diff --git a/platformapi/jdunionapi/jdunionapi.go b/platformapi/jdunionapi/jdunionapi.go index 9bac50cf..6a50726d 100644 --- a/platformapi/jdunionapi/jdunionapi.go +++ b/platformapi/jdunionapi/jdunionapi.go @@ -108,3 +108,14 @@ func (a *API) ListActivitys() (listActivitysResult []*ListActivitysResult, err e } return listActivitysResult, err } + +func (a *API) UnionPromotion(PID string) (err error) { + _, err = a.AccessStorePage("https://api.m.jd.com/api", map[string]interface{}{ + "functionId": "unionPromotion", + "appid": "u", + "_": time.Now().UnixNano(), + "loginType": 3, + "body": "{\"funName\":\"savePromotionSite\",\"param\":{\"siteId\":4100279071,\"spaceName\":" + PID + ",\"type\":3,\"unionType\":1}}", + }, false) + return err +} diff --git a/platformapi/jdunionapi/jdunionapi_test.go b/platformapi/jdunionapi/jdunionapi_test.go index 5f327eb4..32d11467 100644 --- a/platformapi/jdunionapi/jdunionapi_test.go +++ b/platformapi/jdunionapi/jdunionapi_test.go @@ -30,3 +30,11 @@ func TestListActivitys(t *testing.T) { } t.Log(utils.Format4Output(result, false)) } + +func TestUnionPromotion(t *testing.T) { + err := api.UnionPromotion("18160030913903") + if err != nil { + t.Fatal(err) + } + //t.Log(utils.Format4Output(result, false)) +} diff --git a/platformapi/tbunionapi/sku.go b/platformapi/tbunionapi/sku.go index cb4976c3..ad72f6da 100644 --- a/platformapi/tbunionapi/sku.go +++ b/platformapi/tbunionapi/sku.go @@ -2,8 +2,40 @@ package tbunionapi import "git.rosy.net.cn/baseapi/utils" +type OptimusMaterialResult struct { + CategoryID int `json:"category_id"` + ClickURL string `json:"click_url"` + CommissionRate string `json:"commission_rate"` + CouponAmount int `json:"coupon_amount"` + CouponClickURL string `json:"coupon_click_url,omitempty"` + CouponEndTime string `json:"coupon_end_time"` + CouponRemainCount int `json:"coupon_remain_count"` + CouponShareURL string `json:"coupon_share_url,omitempty"` + CouponStartFee string `json:"coupon_start_fee"` + CouponStartTime string `json:"coupon_start_time"` + CouponTotalCount int `json:"coupon_total_count"` + ItemDescription string `json:"item_description"` + ItemID int64 `json:"item_id"` + JhsPriceUspList string `json:"jhs_price_usp_list"` + LevelOneCategoryID int `json:"level_one_category_id"` + LevelOneCategoryName string `json:"level_one_category_name"` + Nick string `json:"nick"` + PictURL string `json:"pict_url"` + ReservePrice string `json:"reserve_price"` + SellerID int64 `json:"seller_id"` + ShopTitle string `json:"shop_title"` + ShortTitle string `json:"short_title"` + SmallImages []string `json:"small_images,omitempty"` + SubTitle string `json:"sub_title"` + Title string `json:"title"` + UserType int `json:"user_type"` + Volume int `json:"volume"` + WhiteImage string `json:"white_image"` + ZkFinalPrice string `json:"zk_final_price"` +} + //物料精选 -func (a *API) OptimusMaterial(materialID, adzoneID, pageNo, pageSize int) (activityInfoGetResult *ActivityInfoGetResult, err error) { +func (a *API) OptimusMaterial(materialID, adzoneID, pageNo, pageSize int) (activityInfoGetResult []*OptimusMaterialResult, err error) { result, err := a.AccessAPI("taobao.tbk.dg.optimus.material", false, map[string]interface{}{ "material_id": materialID, "adzone_id": adzoneID, @@ -11,7 +43,30 @@ func (a *API) OptimusMaterial(materialID, adzoneID, pageNo, pageSize int) (activ "page_size": pageSize, }) if err == nil { - utils.Map2StructByJson(result, &activityInfoGetResult, false) + utils.Map2StructByJson(result["result_list"], &activityInfoGetResult, false) + } + return activityInfoGetResult, err +} + +type MaterialOptionalParam struct { + AdzoneID int `json:"adzone_id,omitempty"` + Q string `json:"q,omitempty"` + ListID string `json:"list_id,omitempty"` + PageNo int `json:"page_no,omitempty"` + PageSize int `json:"page_size,omitempty"` + Sort int `json:"sort,omitempty"` +} + +//物料搜索 +func (a *API) MaterialOptional(materialID, adzoneID, pageNo, pageSize int) (activityInfoGetResult []*OptimusMaterialResult, err error) { + result, err := a.AccessAPI("taobao.tbk.dg.material.optional", false, map[string]interface{}{ + "material_id": materialID, + "adzone_id": adzoneID, + "page_no": pageNo, + "page_size": pageSize, + }) + if err == nil { + utils.Map2StructByJson(result["result_list"], &activityInfoGetResult, false) } return activityInfoGetResult, err } diff --git a/platformapi/tbunionapi/sku_test.go b/platformapi/tbunionapi/sku_test.go index 916fe433..749868b5 100644 --- a/platformapi/tbunionapi/sku_test.go +++ b/platformapi/tbunionapi/sku_test.go @@ -6,7 +6,7 @@ import ( ) func TestOptimusMaterial(t *testing.T) { - result, err := api.OptimusMaterial(13366, 111339100149, 1, 20) + result, err := api.OptimusMaterial(28026, 111339100149, 1, 20) if err != nil { t.Fatal(err) } diff --git a/platformapi/tbunionapi/tbunionapi.go b/platformapi/tbunionapi/tbunionapi.go index 0dc0cf7c..27f7c719 100644 --- a/platformapi/tbunionapi/tbunionapi.go +++ b/platformapi/tbunionapi/tbunionapi.go @@ -14,7 +14,7 @@ import ( ) const ( - prodURL = "http://gw.api.taobao.com/router/rest" + prodURL = "https://gw.api.taobao.com/router/rest" testURL = "http://gw.api.tbsandbox.com/router/rest" sigKey = "sign" ) @@ -70,6 +70,7 @@ func (a *API) AccessAPI(action string, isPost bool, bizParams map[string]interfa params["timestamp"] = utils.Time2Str(time.Now()) params["v"] = "2.0" params["format"] = "json" + params["simplify"] = true params = utils.MergeMaps(params, bizParams) signStr := a.signParam(params) params[sigKey] = signStr diff --git a/platformapi/tbunionapi/union.go b/platformapi/tbunionapi/union.go index 49cdc4d6..cb1ecfbe 100644 --- a/platformapi/tbunionapi/union.go +++ b/platformapi/tbunionapi/union.go @@ -123,3 +123,30 @@ func (a *API) GatewayUnionpub() (gatewayUnionpubResult []*GatewayUnionpubResult, } return gatewayUnionpubResult, err } + +//长链转短链 +func (a *API) SpreadGet(url string) (result string, err error) { + data, err := a.AccessAPI("taobao.tbk.spread.get", false, map[string]interface{}{ + "requests": "[{\"url\":\"" + url + "\"}]", + }) + if err == nil { + return data["results"].([]interface{})[0].(map[string]interface{})["content"].(string), err + } + return result, err +} + +type TpwdCreateResult struct { + Model string `json:"model"` + PasswordSimple string `json:"password_simple"` +} + +//淘口令生成 +func (a *API) TpwdCreate(url string) (tpwdCreateResult *TpwdCreateResult, err error) { + result, err := a.AccessAPI("taobao.tbk.tpwd.create", false, map[string]interface{}{ + "url": url, + }) + if err == nil { + utils.Map2StructByJson(result["data"], &tpwdCreateResult, false) + } + return tpwdCreateResult, err +} diff --git a/platformapi/tbunionapi/union_test.go b/platformapi/tbunionapi/union_test.go index 96c0b729..7af3a4f7 100644 --- a/platformapi/tbunionapi/union_test.go +++ b/platformapi/tbunionapi/union_test.go @@ -52,3 +52,19 @@ func TestGatewayUnionpub(t *testing.T) { } t.Log(utils.Format4Output(result, false)) } + +func TestSpreadGet(t *testing.T) { + result, err := api.SpreadGet("https://s.click.taobao.com/t?e=m%3D2%26s%3D2gqN73exILFw4vFB6t2Z2ueEDrYVVa64Dne87AjQPk9yINtkUhsv0NoOB2fLPTMnkVwhSHgXrieh50lqdFqzEbW9xosplKRRRCvhzyw83VKVDvy6A0dAZeLisOrebtw4UyNpxLfgKr0jWpzpm6nEC0AG4SvB2excV3hN7ukc%2BfWwcfTMMtg5PxhC2gPyIPYTElgJOKaPvK1xKmPmpIKZsA%3D%3D&scm=1007.15348.115058.0_28026&pvid=a6cb6b60-9b39-4d8e-bcec-eef56cfeac8a&app_pvid=59590_33.8.141.241_825_1620441096797&ptl=floorId:28026;originalFloorId:28026;pvid:a6cb6b60-9b39-4d8e-bcec-eef56cfeac8a;app_pvid:59590_33.8.141.241_825_1620441096797&union_lens=lensId%3AMAPI%401620441096%40a6cb6b60-9b39-4d8e-bcec-eef56cfeac8a_591944957973%401") + if err != nil { + t.Fatal(err) + } + t.Log(utils.Format4Output(result, false)) +} + +func TestTpwdCreate(t *testing.T) { + result, err := api.TpwdCreate("https://s.click.taobao.com/t?e=m%3D2%26s%3D2gqN73exILFw4vFB6t2Z2ueEDrYVVa64Dne87AjQPk9yINtkUhsv0NoOB2fLPTMnkVwhSHgXrieh50lqdFqzEbW9xosplKRRRCvhzyw83VKVDvy6A0dAZeLisOrebtw4UyNpxLfgKr0jWpzpm6nEC0AG4SvB2excV3hN7ukc%2BfWwcfTMMtg5PxhC2gPyIPYTElgJOKaPvK1xKmPmpIKZsA%3D%3D&scm=1007.15348.115058.0_28026&pvid=a6cb6b60-9b39-4d8e-bcec-eef56cfeac8a&app_pvid=59590_33.8.141.241_825_1620441096797&ptl=floorId:28026;originalFloorId:28026;pvid:a6cb6b60-9b39-4d8e-bcec-eef56cfeac8a;app_pvid:59590_33.8.141.241_825_1620441096797&union_lens=lensId%3AMAPI%401620441096%40a6cb6b60-9b39-4d8e-bcec-eef56cfeac8a_591944957973%401") + if err != nil { + t.Fatal(err) + } + t.Log(utils.Format4Output(result, false)) +}