diff --git a/platformapi/jdshopapi/jxshopapi_test.go b/platformapi/jdshopapi/jxshopapi_test.go index 36c4718a..ecd15cd3 100644 --- a/platformapi/jdshopapi/jxshopapi_test.go +++ b/platformapi/jdshopapi/jxshopapi_test.go @@ -16,8 +16,9 @@ func init() { baseapi.Init(sugarLogger) // api = New("de8157b447584885910f429011e49cb93yjq", "E1D746D42474D5F1F1A10CECE75D99F6", "efa7e1d1a22640fa990e6cf164b28608") api = New("9ad9cf5fc8b140b19a1dbbb700b47676kown", "D5E8352BE0786ED16F77B4548F62F09A", "71e1061ac2f246f6ac27efb900edba12") - // api.SetCookieWithStr(` - // thor=5E1D1AE7BBC42FACA3496D9C54AF9F879CF4836860E75FF70BFCDEAC5A75C1C53633AB511CD9AA7FDDF502F48AE9683E660B3FCBF8EDC500734ADE8D7CE4BAB4B2947AD7610768EA07E5A6D3B88CDA3EBB7D998FEBA0B113F040A36B044CC4B9310C7953F2DDC2DE15C56C8839EFE493FE4CD8F9CECED7EE4097AE7F83EE6D447050842AB44A715BAB2666C6BE3AB085; - // `) - api.SetCookie("thor", "5E1D1AE7BBC42FACA3496D9C54AF9F879CF4836860E75FF70BFCDEAC5A75C1C5E43030CF54E4A3A8F5E760492948E69B763D115FE234A59948BA538A4F7E18F38B80F818E28EAE71F1CF5BFE2D0DC456D56E8BEAEF10D398C709D9A4EB46923C7E63867435BD42996F1570A816FD1B0B247CD9756A1184DD61317D28BBF77F828691684AD6E60801B2BB38F9DE086D73") + api.SetCookieWithStr(` + shshshfpa=13b38d4a-8ba0-df12-0012-82d9a37fb835-1573795914; shshshfpb=abYp8Dq5JobRtp2pkZa7MbA%3D%3D; 3AB9D23F7A4B3C9B=AK36FFYF5J6WMPRH7YTXMEX4CATHR6NAA3IQEESU2I33FEJRQ3DRLU4SZJYD2XGFLCFW43DHYP5HQKOMR4EFQSLKLA; user-key=b84736c7-ce29-44e0-a5dc-4cc6b5e911b3; cn=3; unpl=V2_ZzNtbUMEExdyXRIDexEIV2ILRw9KB0ccfAoTBilKWlJiVxNUclRCFnQURlRnGF8UZwQZX0JcQRBFCEdkeB5fA2AFEFlBZxBFLV0CFi9JH1c%2bbRJUQ1JKHXwPRlF8EGw1ZAMiXUNnQxF9CERXfRhdBWcGEllBX0AWdwhCVUspWzVXMxZbQF5DE0UJdlVLWwhZYQoRXkpWDhVxAEZWeB9dBGcDF11GVEsWdgpGUHopXTVk; __jdv=89149253|direct|-|none|-|1605602605135; track=46099cdb-39fb-abe6-579e-ea9536a8cf9c; pinId=WMIzMhF5BfI9awOQjAcbdQ; pin=shop_jxcs2020; unick=shop_jxcs2020; _tp=VqmxIvk3BVEJnO6UciQrRA%3D%3D; _pst=shop_jxcs2020; areaId=22; ipLoc-djd=22-1930-50946-0; mba_muid=1605755815875269445822; TrackerID=E6aNCj4mNlBVkq6eyFfWLvkbWl9DhdG-pRGVaQPbvt2ewCa2n0QM-p0mViOLv_Uem9pAWgbNZEeaJuaz4gARAW9rTj8PJK-3hmcbl9N9h1qg-DMYXvdwc3Iau-AMlWin29CojqE8YnUPMtlJUf2gnA; pt_key=AAJft5E4ADArSVPUu4SqwmntJsHlYlDvr0FgbDBc5FTAA472tKWM4S8A6EEoNTwtzF8Bx4YPeQM; pt_pin=jd_5e10f2d70fb4c; pt_token=y2wjxzef; pwdt_id=jd_5e10f2d70fb4c; sfstoken=tk01m90501ba2a8sM3gxd3JYM0Zl/2y5v4lTIBssKxkhAu04hB70Wa2p9Ynue1CvQgH6iApHG8FZV+h8dqggStAmcyB5; language=zh_CN; __jdu=1591327001141529223150; navigation=[%22shop_jxcs2020%22]; shshshfp=34eda22ad0af63b76392daccd2d03f2e; ceshi3.com=000; csrf_token=b7d07d43-ce50-4a7f-a3e2-f12cfde1a024; TrackID=1aZa0zeZUx2yHC8yVr8V2F-DWdOVL-9GynyUSGFx0Xsyo7p6iEdfefFgJA2ZByzpLwMK_rHtyobJ5TSe9l64VwVR6Oz5mLhzYL2h-LnE_BjU; thor=5E1D1AE7BBC42FACA3496D9C54AF9F879CF4836860E75FF70BFCDEAC5A75C1C552E2300C59F83A4A8A83085517D40A6238BD21F89620B5F817D8AF3552F962406F9859EE344A259659AD5CDB721FA85D4F7848D07D37993A977274918DFBC175EC53E0E883EF5A189031B69350ECB11AADE9292E82CB978E1CFDFF92B35EBAC7B6CBC3494DF25DB6D45649831654DEC6; JSESSIONID=9ED4681FD5BEF852BCB7E874A21CA085.s1; __jda=122270672.1591327001141529223150.1591327001.1606350965.1606352919.86; __jdc=122270672; __jdb=122270672.40.1591327001141529223150|86.1606352919; b-sec=S2JWP6CAFP7K44GG6BEY2DLMRELBY2BVKWF7A3F3HH4DRMINVX5KZGPR7X6RAK2F32NQZ3UMVEP4A; _base_=YKH2KDFHMOZBLCUV7NSRBWQUJPBI7JIMU5R3EFJ5UDHJ5LCU7R2NILKK5UJ6GLA2RGYT464UKXAI4Z6HPCTN4UQM3WHVQ4ENFP57OC2NCIWTST4KDNCWZES6EV2TD5XDTCNE6YVKRXISVWNQHZDBO6QEKYXMXGPYGVEOCQCSG4SOQWCP5WPWO6EFS7HEHMRWVKBRVHB33TFD4AUHV3TOJD7MGBX53BNNP2E6MSSOORYGL5H2GYFRURR5ACFJ54GH7PTHFL22YL3C6ODFYFTWGV5UAWCX5C6J372TDCL6LDNEERERTGC2FRXOCXFF6A75YVOVJKRIYCUE7VQAQIWW3S2YBFMIMTF6SWAFAQ52UF5TATP7KZIQ; _vender_new_=GI63BGTJFDBQ4KTM333PMOGFGXGN2MWJNA4WUIW4ZGGIVOLTPK5TRV2UVRGJOLSZFF5XPPV376V2IZYUUTIZYUOSJ7XLQQXULY7UZCFHNUYZEPA5K4NKJ62CC6Q756VRE47INBENIPCNYN4MUZRCB27NNIDWST32H7A66G2G3UMJWUPPXMHKRJ4I6UJ43SNLTY755O3QKSMGQHPHSOAKK5R74V6PBVCLI56OPZPR7RNFOAEYFZTP2BSCS5ZMNTWN4HIOX5NUKDT5E75AVXNKX43RBTJ6W255CTVTEQ67VYYOGAEFV3CBL4MM5MFU6T2V7DWAKVLHWY2IK72YOJU4FK5DKKWDQML23NJ3NLCEWYS2DWHHDSF7RXGVJKSRURJWVQ4DC6W3KO3KYRFWEWQ5RZY4RN4BBC6T7IT4RBGRQHU63BU24NLT3B722WUBKZ7XZVGJA3N5V5QQZAJ27O3QLTP5M5YE6OWLQPEH5LY76SIQJO62K63LPG6XGQM4I32SFFJR3R5NLQZPFLJTI6K74ICYFOP5LP54YOAU3MF223TH7RBNDQKQZAJGFHE3CEO3PDGTDMTFA3LOKDRYE3RCNZ3IIQEQZ3EKQ7Y7EZPHVW2EPN7W4FOKDTFUR4TGVDUVP5WVGQGZL64XQW4J6OT4OM5QSI; _BELONG_CLIENT_=WPSC4XJXWK5USS4JNZY2X7VRLR5MCBKRSVHEXABGTHDGISIQK5YOLZUXYE7IOIM7MOKO74H6CRN6WHAAR4TMDV3XZWMXZRCRT5XRNE3V356BTOB2Y7LPK66VWQK6HPTGWVXIDXDCPVE3W5WMHAIO6AT2LX2XXVNUCXR34ZWFK6HY45CORGIKOSYDYZBF27WOKTUX6BS4FZMIJWNUX6CB4JAA25ZLF7ZEKYOO4QV5HTSBXGNRM3E242MBI6V5D4C5VJDQ3EOYCOW5BMTUJZACIBHXQFAVLRF76VQY5PNJGGJNBEZHSFYYJA3YORRT7FB5AHCOIFQKF3W5RWNUX6CB4JAA26JNMO7AYWNUPZF5HTSBXGNRM3E242MBI6V5D4C5VJDQ3EOYCOW5BWZDKMOJ5BS6II53ERY6ALV3ZWPF42L4CPUHEGPYIII35KDC4FCNVCORCXFD6IVNLBEDPB2GGP4UHWNRUDOQBDIW7RZJXBA2WV5ANZOTEGUCDWYRVQS2YUTIZNZ276PRYG4N56V6YTII7MBKBC7LYHO7C555HTSBXGNRM3E466AYN67DHWVM5HQFJ4NFDO5BSA6ONKPWKHNSGNCJBFMRUQBAFJQ + `) + // api.SetCookie("thor", "5E1D1AE7BBC42FACA3496D9C54AF9F879CF4836860E75FF70BFCDEAC5A75C1C5E43030CF54E4A3A8F5E760492948E69B763D115FE234A59948BA538A4F7E18F38B80F818E28EAE71F1CF5BFE2D0DC456D56E8BEAEF10D398C709D9A4EB46923C7E63867435BD42996F1570A816FD1B0B247CD9756A1184DD61317D28BBF77F828691684AD6E60801B2BB38F9DE086D73") + } diff --git a/platformapi/jdshopapi/sku.go b/platformapi/jdshopapi/sku.go index 019b4eb6..704c708b 100644 --- a/platformapi/jdshopapi/sku.go +++ b/platformapi/jdshopapi/sku.go @@ -534,14 +534,45 @@ func (a *API) FindSkuById(skuId int64) (findSkuByIdParam *FindSkuByIdParam, err return findSkuByIdParam, err } +type FindWareByIdResult struct { + MultiCategoryID int `json:"multiCategoryId"` + BrandID int `json:"brandId"` + Height int `json:"height"` + Features []struct { + FeatureValue string `json:"featureValue"` + FeatureKey string `json:"featureKey"` + } `json:"features"` + OfflineTime int64 `json:"offlineTime"` + WareID int64 `json:"wareId"` + WareStatus int `json:"wareStatus"` + CategoryID int `json:"categoryId"` + Width int `json:"width"` + OnlineTime int64 `json:"onlineTime"` + Images []struct { + ImgURL string `json:"imgUrl"` + ImgID int64 `json:"imgId"` + ColorID string `json:"colorId"` + ImgIndex int `json:"imgIndex"` + } `json:"images"` + OuterID string `json:"outerId"` + Weight float64 `json:"weight"` + Title string `json:"title"` + Length int `json:"length"` + ItemNum string `json:"itemNum"` + ColType int `json:"colType"` +} + //获取单个商品 //https://open.jd.com/home/home#/doc/api?apiCateId=48&apiId=1244&apiName=jingdong.ware.read.findWareById -func (a *API) FindWareById(wareId int64) (err error) { - _, err = a.AccessAPI2("jingdong.ware.read.findWareById", prodURL, map[string]interface{}{ +func (a *API) FindWareById(wareId int64) (findWareByIdResult *FindWareByIdResult, err error) { + result, err := a.AccessAPI2("jingdong.ware.read.findWareById", prodURL, map[string]interface{}{ "wareId": wareId, - "field": "skus,features,weight,width,height,length,images,wareStatus,categoryId,brandId,colType", + "field": "features,weight,width,height,length,images,wareStatus,categoryId,brandId", }) - return err + if err == nil { + utils.Map2StructByJson(result["jingdong_ware_read_findWareById_responce"].(map[string]interface{})["ware"], &findWareByIdResult, false) + } + return findWareByIdResult, err } //更新商品市场价 diff --git a/platformapi/jdshopapi/sku_test.go b/platformapi/jdshopapi/sku_test.go index cc404331..785c5458 100644 --- a/platformapi/jdshopapi/sku_test.go +++ b/platformapi/jdshopapi/sku_test.go @@ -297,7 +297,7 @@ func TestImageUpdate(t *testing.T) { } func TestSearchWare4Valid(t *testing.T) { - result, err := api.SearchWare4Valid("奶白菜", 1, 100) + result, err := api.SearchWare4Valid("三线肉", 1, 100) if err != nil { t.Fatal(err) } @@ -385,11 +385,11 @@ func ConvertDistanceToLogLat(lng, lat, distance, angle float64) (newLng, newLat } func TestFindWareById(t *testing.T) { - err := api.FindWareById(10020528071531) + result, err := api.FindWareById(10020536283882) if err != nil { t.Fatal(err) } - // t.Log(utils.Format4Output(result, false)) + t.Log(utils.Format4Output(result, false)) } func TestTransparentImageAdd(t *testing.T) { @@ -418,7 +418,7 @@ func TestUpdateWareSaleAttrvalueAlias(t *testing.T) { } func TestSearchSkuList(t *testing.T) { - result, _, err := api.SearchSkuList2([]int{10020528071531}) + result, _, err := api.SearchSkuList2([]int{10020536283882}) if err != nil { t.Fatal(err) } diff --git a/platformapi/jdshopapi/store_page_test.go b/platformapi/jdshopapi/store_page_test.go index 393a7935..797540b9 100644 --- a/platformapi/jdshopapi/store_page_test.go +++ b/platformapi/jdshopapi/store_page_test.go @@ -206,25 +206,23 @@ func TestShopList(t *testing.T) { func TestWareSave(t *testing.T) { // desc := `

因生鲜比较脆弱,发货途中如果有磕碰损坏,请收到联系客服,闪电赔付。请核对好地址,发货后不可修改地址,因改地址导致损坏不能赔付,谢谢理解



` params := &WareSaveParam{ - WareID: 0, - Height: 100, - // CatIDLevel1: 12218, - CategoryID: 12247, - LastCategoryID: 12247, - VenderID: 10569615, - BrandID: 44259, - Length: 200, - Wide: 100, - WareStatus: 8, - Title: "三线肉测试2", - Weight: "3", - ShopCategorys: []int{15602360}, - Notes: "123", + WareID: 10020528071531, + Height: 120, + CategoryID: 12247, + VenderID: 10569615, + BrandID: 44259, + Length: 200, + Wide: 100, + // WareStatus: 2, + Title: "三线肉测试2", + Weight: "3", + ShopCategorys: []int{15602360}, + // Notes: desc, Skus: []*WareSaveSkus{ &WareSaveSkus{ - // SkuID: 10024685331653, + SkuID: 10024685331653, JdPrice: "15", - StockNum: 0, + StockNum: 5, Props: []*WareSaveSkusProp{ &WareSaveSkusProp{ AttrID: 1000022043, @@ -232,8 +230,6 @@ func TestWareSave(t *testing.T) { AttrValueAlias: "250g", }, }, - // SkuProps: []interface{}{}, - // Features: []interface{}{}, }, // &WareSaveSkus{ // JdPrice: "31", @@ -247,37 +243,22 @@ func TestWareSave(t *testing.T) { // }, // }, }, - PromiseID: 0, - MultiCateProps: []interface{}{}, - PropsSet: []interface{}{}, - SaleAttrs: []interface{}{}, - TransparentImageAudit: []interface{}{}, - OptionType: 1, - // MoreImage: true, - AvailableFeatures: []interface{}{}, - CharacteristicService: []interface{}{}, - ExtendFeatures: []interface{}{}, - // ZhuangBaID: "5fbf1031e4b0a19aa0904724", - // MobileZhuangBaID: "5fbf1031e4b0a19aa0904724", - TempID: "10569615110055200", + PromiseID: -1, + MultiCateProps: []interface{}{}, + PropsSet: []interface{}{}, + SaleAttrs: []interface{}{}, } - // params.HouseInfo.Flag = 2 - // params.HouseInfo.PresaleList = []interface{}{} - // params.RentSpuVO.SkuList = []interface{}{} - // params.PwMarketingLabelVo.PwBdsLabelBindVos = []interface{}{} - // params.PwMarketingLabelVo.PwBdsProposalVos = []interface{}{} - params.ImageMap.Num0000000000 = append(params.ImageMap.Num0000000000, &CreateSkuParamImages{ - ColorID: "0000000000", - ImgIndex: 1, - ImgURL: "jfs/t1/125015/17/19753/558326/5fbe4eadEa2563b45/ddc311be97c4493a.jpg", - ImgZoneID: "17gev-7a9bbcff176-ml", - }) - // , &CreateSkuParamImages{ + // params.ImageMap.Num0000000000 = append(params.ImageMap.Num0000000000, &CreateSkuParamImages{ + // ColorID: "0000000000", + // ImgIndex: 1, + // ImgURL: "jfs/t1/142006/30/15024/504060/5fb636d4Ef12079f7/2adad323cbcf7c52.jpg", + // // ImgZoneID: "0000000000", + // }, &CreateSkuParamImages{ // ColorID: "0000000000", // ImgIndex: 2, // ImgURL: "jfs/t1/142006/30/15024/504060/5fb636d4Ef12079f7/2adad323cbcf7c52.jpg", // // ImgZoneID: "0000000000", - // } + // }) result, err := api.WareSave(params) if err != nil { t.Fatal(err) @@ -294,11 +275,10 @@ func TestWareDoUpdate(t *testing.T) { } func TestStoreWareDoUpdate(t *testing.T) { - fmt.Println(len(utils.GetUUID())) - // err := api.StoreWareDoUpdate(1, 10024685331653, "1000063128") - // if err != nil { - // t.Fatal(err) - // } + err := api.StoreWareDoUpdate(1, 10024685331653, "1000063128") + if err != nil { + t.Fatal(err) + } // t.Log(utils.Format4Output(result, false)) }