package tik_tok import ( zhios_third_party_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/utils" "encoding/json" "fmt" "github.com/tidwall/gjson" "strings" ) //商品类目 func CsjpGoodsCate(args map[string]string) (string, error) { params := map[string]interface{}{"parent_id": zhios_third_party_utils.StrToInt(args["parent_id"])} send, err := CsjpSend(args["app_id"], args["app_secret"], "product/category", params) fmt.Println(send) fmt.Println(err) return send, err } //3.2.1 商品列表接口 func CsjpGoodsList(args map[string]string) []TikTokGoods { params := map[string]interface{}{ "page": zhios_third_party_utils.StrToInt(args["page"]), "page_size": zhios_third_party_utils.StrToInt(args["page_size"]), } if args["title"] != "" { params["title"] = args["title"] } if args["first_cids"] != "" { ex := strings.Split(args["first_cids"], ",") ids := make([]int, 0) for _, v := range ex { ids = append(ids, zhios_third_party_utils.StrToInt(v)) } params["first_cids"] = ids } if args["price_min"] != "" { params["price_min"] = int(zhios_third_party_utils.StrToFloat64(args["price_min"]) * 100) } if args["price_max"] != "" { params["price_max"] = int(zhios_third_party_utils.StrToFloat64(args["price_max"]) * 100) } if args["sell_num_min"] != "" { params["sell_num_min"] = zhios_third_party_utils.StrToInt(args["sell_num_min"]) } if args["sell_num_max"] != "" { params["sell_num_max"] = zhios_third_party_utils.StrToInt(args["sell_num_max"]) } if args["search_type"] != "" { params["search_type"] = zhios_third_party_utils.StrToInt(args["search_type"]) } if args["order_type"] != "" { params["order_type"] = zhios_third_party_utils.StrToInt(args["order_type"]) } if args["cos_fee_min"] != "" { params["cos_fee_min"] = int(zhios_third_party_utils.StrToFloat64(args["cos_fee_min"]) * 100) } if args["cos_fee_max"] != "" { params["cos_fee_max"] = int(zhios_third_party_utils.StrToFloat64(args["cos_fee_max"]) * 100) } if args["cos_ratio_min"] != "" { params["cos_ratio_min"] = int(zhios_third_party_utils.StrToFloat64(args["cos_ratio_min"]) * 100) } if args["cos_ratio_max"] != "" { params["cos_ratio_max"] = int(zhios_third_party_utils.StrToFloat64(args["cos_ratio_max"]) * 100) } if args["activity_id"] != "" { params["activity_id"] = zhios_third_party_utils.StrToInt(args["activity_id"]) } send, err := CsjpSend(args["app_id"], args["app_secret"], "product/search", params) fmt.Println(send) var goodsList = make([]TikTokGoods, 0) product := gjson.Get(send, "data.products").String() if err != nil || product == "" { return goodsList } var lmData struct { Data struct { Products []TikTokGoodsLm `json:"products"` } `json:"data"` } err = json.Unmarshal([]byte(send), &lmData) if err != nil { fmt.Println("抖音商品1", err) return goodsList } for _, v := range lmData.Data.Products { v.CosRatio = v.CosRatio / 100 tmp := CommGoodsDetail(v) goodsList = append(goodsList, tmp) } return goodsList } //商品详情接口 func CsjpGoodsDetail(args map[string]string) TikTokGoods { params := map[string]interface{}{} if args["product_ids"] != "" { ex := strings.Split(args["product_ids"], ",") ids := make([]int, 0) for _, v := range ex { ids = append(ids, zhios_third_party_utils.StrToInt(v)) } params["product_ids"] = ids } send, err := CsjpSend(args["app_id"], args["app_secret"], "product/detail", params) var goodsList = TikTokGoods{} product := gjson.Get(send, "data.products").String() if err != nil || product == "" { return goodsList } var lmData struct { Data struct { Products []TikTokGoodsLm `json:"products"` } `json:"data"` } err = json.Unmarshal([]byte(send), &lmData) if err != nil { return goodsList } for _, v := range lmData.Data.Products { v.CosRatio = v.CosRatio / 100 tmp := CommGoodsDetail(v) if tmp.GoodsID == args["product_ids"] { return tmp } } // return goodsList } func CsjpGoodsDetailMore(args map[string]string) []TikTokGoods { params := map[string]interface{}{} if args["product_ids"] != "" { ex := strings.Split(args["product_ids"], ",") ids := make([]int, 0) for _, v := range ex { ids = append(ids, zhios_third_party_utils.StrToInt(v)) } params["product_ids"] = ids } send, err := CsjpSend(args["app_id"], args["app_secret"], "product/detail", params) var goodsList = make([]TikTokGoods, 0) product := gjson.Get(send, "data.products").String() if err != nil || product == "" { return goodsList } var lmData struct { Data struct { Products []TikTokGoodsLm `json:"products"` } `json:"data"` } err = json.Unmarshal([]byte(send), &lmData) if err != nil { return goodsList } for _, v := range lmData.Data.Products { v.CosRatio = v.CosRatio / 100 tmp := CommGoodsDetail(v) goodsList = append(goodsList, tmp) } // return goodsList } //3.2.2 商品转链接口 func CsjpGoodsLink(args map[string]string) (string, error) { params := map[string]interface{}{ "product_url": args["product_url"], "product_ext": args["product_ext"], "external_info": args["external_info"], } if args["share_type"] != "" { ex := strings.Split(args["share_type"], ",") ids := make([]int, 0) for _, v := range ex { ids = append(ids, zhios_third_party_utils.StrToInt(v)) } params["share_type"] = ids } send, err := CsjpSend(args["app_id"], args["app_secret"], "product/link", params) fmt.Println(send) fmt.Println(err) return send, err }