From f746cd102370a2e7cde7d4ca147e362ba79a016e Mon Sep 17 00:00:00 2001 From: suyl <770236076@qq.com> Date: Thu, 17 Jun 2021 14:32:39 +0800 Subject: [PATCH] aa --- platformapi/ebaiapi/order_test.go | 4 +- platformapi/jdapi/jdapi_test.go | 7 +- platformapi/jdapi/order_test.go | 4 +- platformapi/jdapi/store_page_test.go | 2 +- platformapi/jdapi/store_sku_test.go | 2 +- platformapi/jdshopapi/jxshopapi_test.go | 2 +- platformapi/jdshopapi/store_page_test.go | 4 +- platformapi/mtwmapi/mtwmapi_test.go | 4 +- platformapi/mtwmapi/order_test.go | 2 +- platformapi/weixinapi/cgibin.go | 54 ++++++++++++++++ platformapi/weixinapi/cgibin_test.go | 37 +++++++++++ platformapi/weixinapi/weixinapi.go | 81 ++++++++++++++++++++++++ platformapi/weixinapi/weixinapi_test.go | 6 +- 13 files changed, 191 insertions(+), 18 deletions(-) diff --git a/platformapi/ebaiapi/order_test.go b/platformapi/ebaiapi/order_test.go index cbb340f0..10e771e0 100644 --- a/platformapi/ebaiapi/order_test.go +++ b/platformapi/ebaiapi/order_test.go @@ -7,7 +7,7 @@ import ( ) func TestOrderGet(t *testing.T) { - result, err := api.OrderGet("2147234624018417846") + result, err := api.OrderGet("5027183668737301717") if err != nil { t.Fatal(err) } else { @@ -51,7 +51,7 @@ func TestOrderListAll(t *testing.T) { } func TestOrderPartRefundGet(t *testing.T) { - result, err := api.OrderPartRefundGet("2127926002950657162") + result, err := api.OrderPartRefundGet("5028611225947901495") if err != nil { t.Fatal(err) } else { diff --git a/platformapi/jdapi/jdapi_test.go b/platformapi/jdapi/jdapi_test.go index 03a902ed..4a945ef9 100644 --- a/platformapi/jdapi/jdapi_test.go +++ b/platformapi/jdapi/jdapi_test.go @@ -23,7 +23,7 @@ func init() { // sandbox // api = New("594ab45a-9a73-4a43-82b0-a64cbd55d883", "06692746f7224695ad4788ce340bc854", "d6b42a35a7414a5490d811654d745c84") // prod - api = New("29afd5a8-f93f-4d4c-9fce-a7297340af59", "1dba76d40cac446ca500c0391a0b6c9d", "a88d031a1e7b462cb1579f12e97fe7f4") + api = New("1c14b86e-54f0-4048-9062-c6aed5438578", "1dba76d40cac446ca500c0391a0b6c9d", "a88d031a1e7b462cb1579f12e97fe7f4") // 天天果园 //api = New("c45e6510-00ba-4be2-977e-bcb9c9792cc7", "5d5577a2506f41b8b4ec520ba83490f5", "0b01b9eeb15b41dab1c3d05d95c17a26") @@ -32,9 +32,10 @@ func init() { // const cookieValue = "YYJV3NHVBPHLD36FWP6F3EM5PTXJ2XZQS7U4HWRIDPP4IWGUKUIB4XG5N26CZRDLDF7PKOXBPD6BNTUAJLETLZOIWMCVFI3K6MYZIY4QBIXIMXYDJNUKFGJVQTN5356SAD6WPCIHWNQAG7DDMF7L7S3SHCT3RM3CQG7IJIPUQ3THS5UIUYWMKINM7ETUOQB7OBPOPZVCT3ZJY55243TDVXLO25PP4UYSPTTPMNQ7HPMWOJKJ3BJWGVHD243MXH7NZWW264TKN5UOCJBSSSOKD2QQII" //const cookieValue = "OPJQMA7B3FTKCAUGO7FHCH5NMBGAWGGXYRNLEHYYZNGNPNIBCAM4IOEPG3NT3RIA44G5C3535Q5LGG4F4SR4AZVLGYKYTKFJJKEAOXENVBL5VXNILRP3GLNVVWA26XZ3VGSYOHA72RICMVZS3G53DTEH3JWVXCZBKYQN5CW57OZAUUGW26BM5GBMDUKCPJGLYBMEIVPIGG6PY2HOZTQL5PWKCSDJLG7AKSLKUQ422BVJDNQ36DIA74FV7RFQMMQPNJ5YQMCG2M72IH43LZDVSAYZWKUGAVD7VFRMEYTOXYHWCYVDXJ6HYFIPWIN3ULLXDDLN2ICON4GRK" //api.SetJdCookie(cookieValue) - // api.SetCookie("user", "GXBMZPW62YXDDG4NE5JDLJJJHWWGJFKML56GHPDEUP6E65UMM4MQ2OB3RYHSEGXGEP5RT55TQZ3PJEXQVYJSNEBNZVY76BZPTRJTZTTZEEJRFHJ4JM5NZ6XI3TEG3X54QBIFC4C5WZUMEN6XHATZBIGB4XKWNNCAAVX4SNS5EIQTQBALUVFPM52OJ3X6L4MONINJDVRVL2UGV6BUPHOMBUWCNPP3AAKAQAXGI3DJA6LUXWO32ILD6E5QHFYGLC6SFRTUQPAUJJXGSGIIZBICUOPVZ7HJW4XPEJFBZU5TAEXOOWKXSK6RWKS6ABQGWC5SHKC73UFVR3WYW3XI5UUIUVWHXTFH6VNYCS4BV5Q") + //api.SetCookie("user", "VCQUVHVJI4ELNGFZOYMCDYDUSHEJMPXZRZXSNBRB4MVBNENP72REAAZR3R4SGDJ5ZI4FLYLLN5EGBBMTFCWHZVESIWBNLKZPLHWD6UIBTPXOF5IXM6AVA3V6TUNZD5UJS43AROJ2IRPZWEN5AGZYBUEGD2EWFHHT3AOYXZYY4Q2OLWFTVITE5NEOXZXC5NSQWCV6NZG4LREQ6W2UVRSYWKL4Y6X7FXYIKJXSBSCOJ5OVVBPYJL4VDJUHW3P6D73BS6HG6MBXGIW576I6LGDTS6QISBWMZ4QZKVKOUHWBVIEMWKUWC6B6WPMKTCCKNRJ5MDOXFCWFFRK3ET3YXVE3ATQCURQ67HGQGUZFPZ46FQDYCONJQX6ZPVAQSQPDVL3HDBIIYIYDMWKFWXVFNA7BVVYJ34ADKDSEDLEEF5B2PIQZFLSUSODQ") api.SetCookieWithStr(` - user_email=jd_jxcs1223; lsp-store1.jddj.com=OPJQMA7B3FTKCAUGO7FHCH5NMBGAWGGXYRNLEHYYZNGNPNIBCAM4IOEPG3NT3RIA44G5C3535Q5LGG4F4SR4AZVLGYKYTKFJJKEAOXENVBL5VXNILRP3GLNVVWA26XZ3VGSYOHA72RICMVZS3G53DTEH3IW4E75TESEWTLRSIRJY7FNSYSI5WZ4XWQDVV4PV3ZVLFHE3PCLMACPFRWY4RSS2JEKOV4UE6UWLQHSSVYL7Y3BULPKRXGEGEUZ4AXL75DDUKMJKNYU4OV6SICN2OAQPBB4ANKYUYK6KOCYNU7MPQZRGZ7A3RCFZCSP5UJH6H2OTKVR4EGOCXYTZO2DXT6UDKHMIWF7PCFTVIYAVZV6TUYE43JONRCTQBY2PDBQYCB4ONJOEWAF6KFL3GJ3XH26R6E; __jda=1736810.1798730514.1623120276.1623120276.1623120276.1; __jdb=1736810.1.1798730514%7C1.1623120276; __jdv=1736810%7Cdirect%7C-%7Cnone%7C-; __jdc=1736810; UM_distinctid=179e981ec8517b-00b41f870f4ea8-5b1e341a-1fa400-179e981ec862fc; josl-privilege1.jddj.com=OPJQMA7B3FTKCAUGO7FHCH5NMBGAWGGXYRNLEHYYZNGNPNIBCAM4IOEPG3NT3RIA44G5C3535Q5LGG4F4SR4AZVLGYKYTKFJJKEAOXENVBL5VXNILRP3GLNVVWA26XZ3VGSYOHA72RICMVZS3G53DTEH3IZEWY6OPWKC2VDB35RUYZNRHU2NWZ4XWQDVV4PV3ZVLFHE3PCLMBCKN37VTMTCRBLW4O6Y7WPLRH7SSVYL7Y3BULPKRXGEGEUZ4AXL7PFRYSKXTJC4DMVDFZGVZRZSYFTS2NHDUVTNCIWKXZIBXNQYVDA5XQBVLCTBLZJYLBWT5R6DGE3H4C4L7R23TYZA5JMSPJU7HE6MGAWXAMIJ7H54ZWWGP56KATLF26DHPBFC7H6AGN62RYAH3GOOTQMZPFOOK3A5M4RSJGLYDIG2YB3HH35HA; o2o-stock1.jddj.com=OPJQMA7B3FTKCAUGO7FHCH5NMBGAWGGXYRNLEHYYZNGNPNIBCAM4IOEPG3NT3RIA44G5C3535Q5LGG4F4SR4AZVLGYKYTKFJJKEAOXENVBL5VXNILRP3GLNVVWA26XZ3VGSYOHA72RICMVZS3G53DTEH3KQ3WQGC55ESYXPBS6ILUSCUK42NWZ4XWQDVV4PV3ZVLFHE3PCLMBLVZUJXTZCIDNU6MLPP4QF3XBXAMIOV7EVR4JGDPUMIPCVZVKBP5E4RJGGER5KFUQWJBFZJVCAXQUQ; o2o-pms1.jddj.com=OPJQMA7B3FTKCAUGO7FHCH5NMBGAWGGXYRNLEHYYZNGNPNIBCAM4IOEPG3NT3RIA44G5C3535Q5LGG4F4SR4AZVLGYKYTKFJJKEAOXENVBL5VXNILRP3GLNVVWA26XZ3VGSYOHA72RICMVZS3G53DTEH3KIUOTIFY2QI5CVIA5EBQUVQLHR5WZ4XWQDVV4PV3ZVLFHE3PCLMBTFESYD7DRZ6DIQ5T4DQFJ3PS7YMIOV7EVR4JGDPUMIPCVZVKBP5E4RJGGER5KFUQWJBFZJVCAXQUQ +user_email=jd_jxcs1223; lsp-store1.jddj.com=OPJQMA7B3FTKCAUGO7FHCH5NMBGAWGGXYRNLEHYYZNGNPNIBCAM4IOEPG3NT3RIA44G5C3535Q5LGG4F4SR4AZVLGYKYTKFJJKEAOXENVBL5VXNILRP3GLNVVWA26XZ3VGSYOHA72RICMVZS3G53DTEH3JNOEL2AB3X2CHI2INRIKCSGSOFKPR3OGH5BQEIVFZZB4KTZI7T3U3XO3AAUS2JMCK2Q75R3CSEA66K7RCJWNQLNB7ZW2SHFCPBWKK2WASIPBG2XVFQKS52PYRKBM4MYVZ4ANKYUYK6KOCYNU7MPQZRGZ7A3RCFZCSP5UJH6H2OTKVR4EGOCXYTZO2DXT6UDKHMIWF7PCFTVIYAVZV6TUYE43JONRCTQBY2PDBQYCB4ONJOEWAF6KFL3GJ3XH26R6E; __jdv=1736810%7Cdirect%7C-%7Cnone%7C-; __jdc=1736810; UM_distinctid=17a12b9cc28176-0928164ed7a903-5b1e341a-1fa400-17a12b9cc292e2; __jda=1736810.1704902685.1623811804.1623811804.1623811914.1; __jdb=1736810.2.1704902685%7C1.1623811914; josl-privilege1.jddj.com=OPJQMA7B3FTKCAUGO7FHCH5NMBGAWGGXYRNLEHYYZNGNPNIBCAM4IOEPG3NT3RIA44G5C3535Q5LGG4F4SR4AZVLGYKYTKFJJKEAOXENVBL5VXNILRP3GLNVVWA26XZ3VGSYOHA72RICMVZS3G53DTEH3J6FF3QXQNY5NFGN2HASJWWNGKB2PR3OGH5BQEIVFZZB4KTZI7T3VYIKV4CINLIKFY47TGTGUH67RN27RCJWNQLNB7ZW2SHFCPBWKK2WBM3Q57WKXFDV4ZFAFGCLYIRHLLVSPMIG6L6KR7Z24OSIUDC7LA7HQBVLCTBLZJYLBWT5R6DGE3H4C4L7R23TYZA5JMSPJU7HE6MGAWXAMIJ7H54ZWWGP56KATLF26DHPBFC7H6AGN62RYAH3GOOTQMZPFOOK3A5M4RSJGLYDIG2YB3HH35HA; o2o-stock1.jddj.com=OPJQMA7B3FTKCAUGO7FHCH5NMBGAWGGXYRNLEHYYZNGNPNIBCAM4IOEPG3NT3RIA44G5C3535Q5LGG4F4SR4AZVLGYKYTKFJJKEAOXENVBL5VXNILRP3GLNVVWA26XZ3VGSYOHA72RICMVZS3G53DTEH3KYOICOZSHJDAOYASPERU6MKWOV2PR3OGH5BQEIVFZZB4KTZI7T3VRCNUAXLXU5O5WOKOL4XKHF2Z2IMIOV7EVR4JGDPUMIPCVZVKBP5E4RJGGER5KFUQWJBFZJVCAXQUQ; o2o-pms1.jddj.com=OPJQMA7B3FTKCAUGO7FHCH5NMBGAWGGXYRNLEHYYZNGNPNIBCAM4IOEPG3NT3RIA44G5C3535Q5LGG4F4SR4AZVLGYKYTKFJJKEAOXENVBL5VXNILRP3GLNVVWA26XZ3VGSYOHA72RICMVZS3G53DTEH3LEUGBETUGPLQ2YNFFBWXWG5QQC2PR3OGH5BQEIVFZZB4KTZI7T3URUJ3JOSPDH72IBC54EZ3WO76GAMIOV7EVR4JGDPUMIPCVZVKBP5E4RJGGER5KFUQWJBFZJVCAXQUQ + `) } diff --git a/platformapi/jdapi/order_test.go b/platformapi/jdapi/order_test.go index bd971009..3422ca77 100644 --- a/platformapi/jdapi/order_test.go +++ b/platformapi/jdapi/order_test.go @@ -87,7 +87,7 @@ func TestDeliveryEndOrder(t *testing.T) { } func TestGetAfsService(t *testing.T) { - result, err := api.GetAfsService("22565438") + result, err := api.GetAfsService("33927317") if err != nil { t.Fatal(err.Error()) } @@ -103,7 +103,7 @@ func TestGetAfsService2(t *testing.T) { } func TestOrderShoudSettlementService2(t *testing.T) { - result, err := api.OrderShoudSettlementService2("914508761000241") + result, err := api.OrderShoudSettlementService2("2114317310000151") if err != nil { t.Fatal(err.Error()) } diff --git a/platformapi/jdapi/store_page_test.go b/platformapi/jdapi/store_page_test.go index 66c0e572..e797e10d 100644 --- a/platformapi/jdapi/store_page_test.go +++ b/platformapi/jdapi/store_page_test.go @@ -215,7 +215,7 @@ func TestUpdateClosetStatus(t *testing.T) { } func TestGetJdShopOrders(t *testing.T) { - result, err := api.GetJdShopOrders("20210412", "20210413", "339032", "jd_jxgy") + result, err := api.GetJdShopOrders("20210501", "20210531", "320406", "jd_jxcs1223") if err != nil { t.Fatal(err) } diff --git a/platformapi/jdapi/store_sku_test.go b/platformapi/jdapi/store_sku_test.go index 064b11dd..c1738515 100644 --- a/platformapi/jdapi/store_sku_test.go +++ b/platformapi/jdapi/store_sku_test.go @@ -12,7 +12,7 @@ const ( ) func TestGetStationInfoList(t *testing.T) { - result, err := api.GetStationInfoList("11927116", []int64{2023435572}) + result, err := api.GetStationInfoList("11910721", []int64{2023432263}) if err != nil { t.Fatal(err) } diff --git a/platformapi/jdshopapi/jxshopapi_test.go b/platformapi/jdshopapi/jxshopapi_test.go index 9011c3de..fdef13be 100644 --- a/platformapi/jdshopapi/jxshopapi_test.go +++ b/platformapi/jdshopapi/jxshopapi_test.go @@ -17,7 +17,7 @@ func init() { //api = New("de8157b447584885910f429011e49cb93yjq", "E1D746D42474D5F1F1A10CECE75D99F6", "efa7e1d1a22640fa990e6cf164b28608") api = New("9ad9cf5fc8b140b19a1dbbb700b47676kown", "D5E8352BE0786ED16F77B4548F62F09A", "71e1061ac2f246f6ac27efb900edba12") api.SetCookieWithStr(` -__jdu=16193999982702078345144; shshshfpa=972f47df-9252-dc1a-1d6d-40594ce0501b-1619400562; cid=3; retina=0; webp=1; visitkey=44137284214309276; shshshfp=4d574741223da61a369c18ce2febefe8; shshshfpb=msX4%202n384blCOGusOxGDvQ%3D%3D; unpl=V2_ZzNtbREHQ0Z3WBEDc0oJUWJWRg1LBEpHIF1OAylNXgJkVhcKclRCFnUUR1BnGVoUZgoZX0RcQBZFCEVkexhdBGAAE19BVXMlRQtGZHopXAJnCxBVSl9LHHYOR1d6H1UHYgcSWEdncxJ1AXZkSxpZAmIHEG1DZ0EUdAtAUXMaXAxXSHxcD1dEFX0KTlxzEVUGYQIRXEReQRBxCENRSxldBGYCElVAUEIldg%3d%3d; __jdv=122270672|mydisplay.ctfile.com|t_1000620323_|tuiguang|ba1b3aff9bde4dea8b8cdd9fce362d4f|1621211866111; pinId=WMIzMhF5BfI9awOQjAcbdQ; pin=shop_jxcs2020; unick=shop_jxcs2020; _tp=VqmxIvk3BVEJnO6UciQrRA%3D%3D; _pst=shop_jxcs2020; language=zh_CN; 3AB9D23F7A4B3C9B=CKENC5MAUU744ZQDKVRY2L7UIJ23PJRDYJ6HF3ZMQHC5FFD46FMUQXRINFCOC4SKHL5MU3PPNPP4C4AX5ZYBXJ7LZ4; TrackID=17rRzIyvVvKD2hScZz_wtLxnEAOzisQ4g35DEediXp7w0SRDEQf96N9hbzt89mgoZkLwyVwMFvbHTcfe7ThMW1UXZwMNHCv40ZQRvH9ppEDc; ceshi3.com=000; __jda=220467782.16193999982702078345144.1619399998.1621236814.1622010194.7; __jdc=220467782; b-sec=S2JWP6CAFP7K44GG6BEY2DLMRELBY2BVKWF7A3GEWP2F7DXDXCIGNWDGN7N2IVGC3GKCW2HSJ6QNW; __jdb=220467782.4.16193999982702078345144|7.1622010194; thor=5E1D1AE7BBC42FACA3496D9C54AF9F879CF4836860E75FF70BFCDEAC5A75C1C587B5189485351099C7C85DF8B0092AF4FA575CD70E032D3DCDB7BF45632A7BE396941E4883372F2CACA078DBE25223FDDC15311B660F7326BC9255BDE4626C36AF91CC9068548FAFAC702C948CDBEABB949842C36EF7746EBF0C95619399250C56A68181180F3EEE719BA568EA82C645; 3AB9D23F7A4B3C9B=CKENC5MAUU744ZQDKVRY2L7UIJ23PJRDYJ6HF3ZMQHC5FFD46FMUQXRINFCOC4SKHL5MU3PPNPP4C4AX5ZYBXJ7LZ4; _base_=YKH2KDFHMOZBLCUV7NSRBWQUJPBI7JIMU5R3EFJ5UDHJ5LCU7R2NILKK5UJ6GLA2RGYT464UKXAI4Z6HPCTN4UQM3WHVQ4ENFP57OC2NCIWTST4KDNCWZES6EV2TD5XDTCNE6YVKRXISVWNQHZDBO6QEKYXMXGPYGVEOCQCSG4SOQWCP5WPWO6EFS7HEHMRWVKBRVHB33TFD4AUHV3TOJD7MGBX53BNNP2E6MSSOORYGL5H2GYFRURR5ACFJ54GH7PTHFL22YL3C6ODFYFTWGV5UAWCX5C6J372TDCL6LDNEERERTGC4QORANBYQDCHRJLC3L7RQZRPQZVQAQIWW3S2YBFMIMTF6SWAFAQ52UF5TATP7KZIQ; _vender_new_=GI63BGTJFDBQ4KTM333PMOGFGXGN2MWJNA4WUIW4ZGGIVOLTPK5TRV2UVRGJOLSZFF5XPPV376V2IZYUUTIZYUOSJ7XLQQXULY7UZCFHNUYZEPA5K4NKJ62CC6Q756VRE47INBENIPCNYN4MUZRCB27NNIDWST32H7A66G2G3UMJWUPPXMHKRJ4I6UJ43SNLTY755O3QKSMGQHPHSOAKK5R74V6PBVCLI56OPZPR7RNFOAEYFZTP2BSCS5ZMNTWN4HIOX5NUKDT5E75AVXNKX43RBTJ6W255CTVTEQ67VYYOGAEFV3CBL4MM5MFU6T2V7DWAKVLHWY2IK72YOJU4FK5DKJTA3IMVB5YYHJKFB6EHDFUVYEAPRXGVJKSRURJWMYG2DFIPOGB2KRIPRBYZNFOBAB4BBC6T7IT4RBGRQHU63BU24NLT3B722WUBKZ7XZVGJA3N5V5QQZAJ27O3QLTP5M5YE6OWLQPEH5LY76SIQJO62K63LPG6XGQM4I32SFFJR3R5NLQZPFLJTI6K74ICYFOP5LP54YOAU3MF223TH7RBNDQKQZAJGFHE3CEO3PDGTDMTFA3LOKDRYE3RCNZ3IIQEQZ3EKQ7Y7EZPHVW2EPN7W4FOKDTFUR4TGVDUVYWNRZBL6C3GBH4RH36VF6JLZQY; _BELONG_CLIENT_=WPSC4XJXWK5USS4JNZY2X7VRLR5MCBKRSVHEXABGTHDGISIQK5YOLZUXYE7IOIM7MOKO74H6CRN6WHAAR4TMDV3XZWMXZRCRT5XRNE3V356BTOB2Y7LPK66VWQK6HPTGWVXIDXDCPVE3W5WMHAIO6AT2LX2XXVNUCXR34ZWFK6HY45CORGIKOSYDYZBF27WOKTUX6BS4FZMIJWNUX6CB4JAA25ZLF7ZEKYOO4QV5HTSBXGNRM3E242MBI6V5D4C5VJDQ3EOYCOW5BMTUJZACIBHXQFAVLRF76VQY5PNJGGJNBEZHSFYYJA3YORRT7FB5AHCOIFQKF3W5RWNUX6CB4JAA26JNMO7AYWNUPZF5HTSBXGNRM3E242MBI6V5D4C5VJDQ3EOYCOW5BWZDKMOJ5BS6II53ERY6ALV3ZWPF42L4CPUHEGPYIII35KDC4FCNVCORCXFD6IVNLBEDPB2GGP4UHWNRUDOQBDIW7RZJXBA2WV5ANZOTEGUCDWYRVQS2YUTIZNZ276PRYG4N56V6YTII7MBKBC7LYHO7C555HTSBXGNRM3E466AYN67DHWVM5HQFJ4NFDO5BTMT3OICKNUZUXEZUPKTT4DPSKRY +shshshfpa=b02d5da7-4399-dacb-d2af-dc8d6c460307-1606980337; shshshfpb=xasBIJG4GQtMArMLGnT8nqQ%3D%3D; pinId=WMIzMhF5BfI9awOQjAcbdQ; pin=shop_jxcs2020; unick=shop_jxcs2020; _tp=VqmxIvk3BVEJnO6UciQrRA%3D%3D; _pst=shop_jxcs2020; areaId=22; ipLoc-djd=22-1930-50946-0; unpl=V2_ZzNtbUdWRxN2XEFTfRpdVWIDElpLBUsdIQ5BVChODw03VEENclRCFnUUR1NnGV0UZwcZXkdcQxdFCEdkeB5fA2AFEFlBZxBFLV0CCyFbMgNuARNVQlBLEXUMdmR4GWwMVwMVXEVfRBBwCURTfR5fAGUFEVxCVkAlRQ92VHoYXwFhBRZVS1BKEXY4dlJ%2bHFQGZTMTbUNnQhZ3CE5XflRcAmYEGlpHUkIXcg5BV34bWgZmAxNeclZzFg%3d%3d; shshshfp=804caa46ddc472b1b54a25f9b53b7ade; __jdv=122270672|baidu-nks|t_262767352_baidunks|cpc|78309169515_0_40572e66720a41168c99e761bfb9afba|1623309854127; language=zh_CN; universityLanguage=zh_CN; xue_userTypeCookieNamefc7ce13825f3df99745a591482296d8="{\"1\":\"POP\"}"; xue_userTypePageCookieNamefc7ce13825f3df99745a591482296d8=1; TrackID=1NYX9aCmNd2K933ni85Uuq6Jijqq9MF5lSBaVjcFdqEeUoPjs42EBInf7aoolL7-0gUveabSMPHTRtpXN0AXoe9G5c_SPyPf-kp-IkDR_R_j4AkzY9__5B_tVNDmb027o; ceshi3.com=000; _vender_=TNK3O6PALVQGHZYSSOH7L4PZFXD2QEMYMFRFF57TELYN4LQLXSPDPQTS2T6DT6Z4JMFC5HGBYZA3LOKB6SNH4AVAREXA5236RRQGSDMMFKYN22HBLPNNNDJ7EQS5NOGALMTLVOQSEBKX4EOVORRD6L536ICPREWPSW6NKQ6V7YP2SC4RQRZVV5L75KYETGWV25ORZ3W5RHKJSP5KHTC62KEHJ47UBOYHQXIXUN5UZ7GEPNC7TTKSCXDHWDFESR5SRKTXITQEBPR3XE3UWSWVOJOKCMSABZJ744URIU5DZHQGTTOSIIB2TWTEHPHQGKVR2KY2YIRYYKXHFV3O2EXPOYB4DVGHJNC24ZWEJW3TBR4STR3FX3WDJKATQGW6ZT5VZYD6MZOT7I46XBLKRWCRQWNBMQKR4MJHRULBANRIS362RD2YKTUSCACWI7HIB3VT23V2JMFUZMOJCWZIS6YK4NPFDV2YMBQG7EPFVAOEWNELCU55YP5A; __jdu=1606964403676243720102; csrf_token=74a4c9c0-570f-4158-b045-1b7df4012b66; _base_=YKH2KDFHMOZBLCUV7NSRBWQUJPBI7JIMU5R3EFJ5UDHJ5LCU7R2NILKK5UJ6GLA2RGYT464UKXAI4Z6HPCTN4UQM3WHVQ4ENFP57OC2NCIWTST4KDNCWZES6EV2TD5XDTCNE6YVKRXISVWNQHZDBO6QEKYXMXGPYGVEOCQCSG4SOQWCP5WPWO6EFS7HEHMRWVKBRVHB33TFD4AUHV3TOJD7MGBX53BNNP2E6MSSOORYGL5H2GYFRURR5ACFJ54GH7PTHFL22YL3C6ODFYFTWGV5UAWCX5C6J372TDCL6LDNEERERTGCV5XXIQKY5TAIDDFOP4HBZEUR7JVQAQIWW3S2YBFMIMTF6SWAFAQ52UF5TATP7KZIQ; _vender_new_=GI63BGTJFDBQ4KTM333PMOGFGXGN2MWJNA4WUIW4ZGGIVOLTPK5TRV2UVRGJOLSZFF5XPPV376V2IZYUUTIZYUOSJ7XLQQXULY7UZCFHNUYZEPA5K4NKJ62CC6Q756VRE47INBENIPCNYN4MUZRCB27NNIDWST32H7A66G2G3UMJWUPPXMHKRJ4I6UJ43SNLTY755O3QKSMGQHPHSOAKK5R74V6PBVCLI56OPZPR7RNFOAEYFZTP2BSCS5ZMNTWN4HIOX5NUKDT5E75AVXNKX43RBTJ6W255CTVTEQ67VYYOGAEFV3CBL4MM5MFU6T2V7DWAKVLHWY2IK72YOJU4FK5DKJCRYEXUPPK4QJK6X4GTL6CC3GHPRXGVJKSRURJWIUOBF5D32XECKXV7BU27QQWZRZ4BBC6T7IT4RBGRQHU63BU24NLT3B722WUBKZ7XZVGJA3N5V5QQZAJ27O3QLTP5M5YE6OWLQPEH5LY76SIQJO62K63LPG6XGQM4I32SFFJR3R5NLQZPFLJTI6K74ICYFOP5LP54YOAU3MF223TH7RBNDQKQZAJGFHE3CEO3PDGTDMTFA3LOKDRYE3RCNZ3IIQEQZ3EKQ7Y7EZPHVW2EPN7W4FOKDTFUR4TGVDUVL7NB524LL5RV3LMV5DL3IFV4VA; b-sec=S2JWP6CAFP7K4UQHUODGXYT4BQ23Y5BGZ2GOUV4LQORS7SMNJUD6SBIWXMFGZVLYE2X2BHAV2MUB4; _BELONG_CLIENT_=WPSC4XJXWK5USS4JNZY2X7VRLR5MCBKRSVHEXABGTHDGISIQK5YOLZUXYE7IOIM7MOKO74H6CRN6WHAAR4TMDV3XZWMXZRCRT5XRNE3V356BTOB2Y7LPK66VWQK6HPTGWVXIDXDCPVE3W5WMHAIO6AT2LX2XXVNUCXR34ZWFK6HY45CORGIKOSYDYZBF27WOKTUX6BS4FZMIJWNUX6CB4JAA25ZLF7ZEKYOO4QV5HTSBXGNRM3E242MBI6V5D4C5VJDQ3EOYCOW5BMTUJZACIBHXQFAVLRF76VQY5PNJGGJNBEZHSFYYJA3YORRT7FB5AHCOIFQKF3W5RWNUX6CB4JAA26JNMO7AYWNUPZF5HTSBXGNRM3E242MBI6V5D4C5VJDQ3EOYCOW5BWZDKMOJ5BS6II53ERY6ALV3ZWPF42L4CPUHEGPYIII35KDC4FCNVCORCXFD6IVNLBEDPB2GGP4UHWNRUDOQBDIW7RZJXBA2WV5ANZOTEGUCDWYRVQS2YUTIZNZ276PRYG4N56V6YTII7MBKBC7LYHO7C555HTSBXGNRM3E466AYN67DHWVM5HQFJ4NFDO5BSZBUIBYJRTMUJ4YKA4SGLHHILPY; chat.jd.com=20170206; thor=5E1D1AE7BBC42FACA3496D9C54AF9F879CF4836860E75FF70BFCDEAC5A75C1C59E32C5FCA1177210BDF4B56945E248C97290DB0237A020EB0E4460CB0ADD3FEDDCEE0B966C725227F9F25B187A1AB6425A1FEA428871F334770D12182781BF22E7C9AE0655B544D733165CE7F072A24B8782C264EAA3ED8D4E07551EE9EEE709A9CED0B34CE276BCC140779786ECA7AB; __jda=122270672.1606964403676243720102.1606964404.1623891720.1623897356.126; __jdb=122270672.1.1606964403676243720102|126.1623897356; __jdc=122270672; 3AB9D23F7A4B3C9B=3LXEVQM6COV5NINMQN77BN64JE2WJ76EIPRTIYTDM7GIU7BHDAMFOVQT7WP33PVNBO2DUGASISKUTTJX65DM4ZME3Y `) // api.SetCookie("thor", "5E1D1AE7BBC42FACA3496D9C54AF9F879CF4836860E75FF70BFCDEAC5A75C1C5E43030CF54E4A3A8F5E760492948E69B763D115FE234A59948BA538A4F7E18F38B80F818E28EAE71F1CF5BFE2D0DC456D56E8BEAEF10D398C709D9A4EB46923C7E63867435BD42996F1570A816FD1B0B247CD9756A1184DD61317D28BBF77F828691684AD6E60801B2BB38F9DE086D73") diff --git a/platformapi/jdshopapi/store_page_test.go b/platformapi/jdshopapi/store_page_test.go index fe8e9a96..1fe2ca9f 100644 --- a/platformapi/jdshopapi/store_page_test.go +++ b/platformapi/jdshopapi/store_page_test.go @@ -59,7 +59,7 @@ func TestAllOrders(t *testing.T) { result, err := api.AllOrders(&AllOrdersParam{ Current: 1, PageSize: 10, - OrderCreateDateRange: []string{"2021-04-05 00:00:00", "2021-04-06 23:59:59"}, + OrderCreateDateRange: []string{"2021-06-17 00:00:00", "2021-06-17 23:59:59"}, // OrderID: "118793082128", }) if err != nil { @@ -69,7 +69,7 @@ func TestAllOrders(t *testing.T) { } func TestOrderDetail(t *testing.T) { - result, err := api.OrderDetail("125138699851") + result, err := api.OrderDetail("204667541886") if err != nil { t.Fatal(err) } diff --git a/platformapi/mtwmapi/mtwmapi_test.go b/platformapi/mtwmapi/mtwmapi_test.go index 8f549a51..561254c5 100644 --- a/platformapi/mtwmapi/mtwmapi_test.go +++ b/platformapi/mtwmapi/mtwmapi_test.go @@ -19,10 +19,10 @@ func init() { baseapi.Init(sugarLogger) // 菜市 - //api = New("589", "a81eb3df418d83d6a1a4b7c572156d2f", "", "") + api = New("589", "a81eb3df418d83d6a1a4b7c572156d2f", "", "") // 果园 - api = New("4123", "df2c88338b85f830cebce2a9eab56628", "", "") + //api = New("4123", "df2c88338b85f830cebce2a9eab56628", "", "") //商超 // api = New("5873", "41c479790a76f86326f89e8048964739", "", "token_tE0txRtx7CRuPIOjh2BH4w") //token_nH_IlcWQKAkZBqklwItNRw diff --git a/platformapi/mtwmapi/order_test.go b/platformapi/mtwmapi/order_test.go index d3bb17b3..8caad71b 100644 --- a/platformapi/mtwmapi/order_test.go +++ b/platformapi/mtwmapi/order_test.go @@ -97,7 +97,7 @@ func TestOrderGetRiderInfoPhoneNumber(t *testing.T) { } func TestGetOrderRefundDetail(t *testing.T) { - result, err := api.GetOrderRefundDetail(25236870166465610, RefundTypePart) + result, err := api.GetOrderRefundDetail(94310371440052951, 0) if err != nil { t.Fatal(err) } diff --git a/platformapi/weixinapi/cgibin.go b/platformapi/weixinapi/cgibin.go index dbc5a1a7..0a98c1f3 100644 --- a/platformapi/weixinapi/cgibin.go +++ b/platformapi/weixinapi/cgibin.go @@ -7,6 +7,11 @@ const ( ticketType = "wx_card" authType = 0 //Int 是 授权类型,0:开票授权,1:填写字段开票授权,2:领票授权 + //图片(image)、视频(video)、语音 (voice)、图文(news) + MaterialTypeImage = "image" + MaterialTypeVideo = "video" + MaterialTypeVoice = "voice" + MaterialTypeNews = "news" ) type CBUserInfo struct { @@ -115,3 +120,52 @@ func (a *API) CBGetTicketInfo() (ticketInfo *CBTicketInfo, err error) { } return ticketInfo, err } + +type CBBatchgetMaterialResult struct { + Item []struct { + MediaID string `json:"media_id"` + Content struct { + NewsItem []struct { + Title string `json:"title"` + Author string `json:"author"` + Digest string `json:"digest"` + Content string `json:"content"` + ContentSourceURL string `json:"content_source_url"` + ThumbMediaID string `json:"thumb_media_id"` + ShowCoverPic int `json:"show_cover_pic"` + URL string `json:"url"` + ThumbURL string `json:"thumb_url"` + NeedOpenComment int `json:"need_open_comment"` + OnlyFansCanComment int `json:"only_fans_can_comment"` + } `json:"news_item"` + CreateTime int `json:"create_time"` + UpdateTime int `json:"update_time"` + } `json:"content"` + UpdateTime int `json:"update_time"` + } `json:"item"` + TotalCount int `json:"total_count"` + ItemCount int `json:"item_count"` +} + +//获取素材列表 +func (a *API) CBBatchgetMaterial(mediaType string, offset, count int) (ticketInfo *CBBatchgetMaterialResult, err error) { + bodyJson := map[string]interface{}{ + "type": mediaType, + "offset": offset, + "count": count, + } + result, err := a.AccessAPI("cgi-bin/material/batchget_material", nil, string(utils.MustMarshal(bodyJson))) + if err == nil { + err = utils.Map2StructByJson(result, &ticketInfo, false) + } + return ticketInfo, err +} + +//上传图片 +func (a *API) CBUploadImg(data []byte, fileName, contentType string) (url string, err error) { + result, err := a.AccessAPIUpload(data, fileName, contentType) + if err == nil { + return result["url"].(string), err + } + return url, err +} diff --git a/platformapi/weixinapi/cgibin_test.go b/platformapi/weixinapi/cgibin_test.go index e15123f0..b9628b15 100644 --- a/platformapi/weixinapi/cgibin_test.go +++ b/platformapi/weixinapi/cgibin_test.go @@ -1,6 +1,11 @@ package weixinapi import ( + "crypto/md5" + "fmt" + "git.rosy.net.cn/baseapi/platformapi" + "io/ioutil" + "net/http" "testing" "git.rosy.net.cn/baseapi/utils" @@ -58,3 +63,35 @@ func TestCBGetTicketInfo(t *testing.T) { } t.Log(utils.Format4Output(userInfo, false)) } + +func TestCBBatchgetMaterial(t *testing.T) { + userInfo, err := api.CBBatchgetMaterial(MaterialTypeNews, 19, 1) + if err != nil { + t.Fatal(err) + } + t.Log(utils.Format4Output(userInfo, false)) +} + +func TestCBUploadImg(t *testing.T) { + data, _, _ := DownloadFileByURL("https://image.jxc4.com/noGoodsImg.jpg") + result, err := api.CBUploadImg(data, "noGoodsImg.jpg", "image/jpeg") + if err != nil { + t.Fatal(err) + } + t.Log(utils.Format4Output(result, false)) +} + +func DownloadFileByURL(fileURL string) (bodyData []byte, fileMD5 string, err error) { + response, err := http.Get(fileURL) + if err == nil { + defer response.Body.Close() + if response.StatusCode == http.StatusOK { + if bodyData, err = ioutil.ReadAll(response.Body); err == nil { + fileMD5 = fmt.Sprintf("%X", md5.Sum(bodyData)) + } + } else { + err = platformapi.ErrHTTPCodeIsNot200 + } + } + return bodyData, fileMD5, err +} diff --git a/platformapi/weixinapi/weixinapi.go b/platformapi/weixinapi/weixinapi.go index 174bc202..d8a2ae90 100644 --- a/platformapi/weixinapi/weixinapi.go +++ b/platformapi/weixinapi/weixinapi.go @@ -1,8 +1,12 @@ package weixinapi import ( + "bytes" "fmt" + "math/rand" + "mime/multipart" "net/http" + "net/textproto" "strings" "sync" @@ -17,6 +21,8 @@ const ( const ( ResponseCodeBusy = -1 ResponseCodeSuccess = 0 + + letterBytes = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ) type TokenInfo struct { @@ -129,3 +135,78 @@ func (a *API) AccessAPI(action string, params map[string]interface{}, body strin }) return retVal, err } + +func RandStringBytes(n int) string { + b := make([]byte, n) + for i := range b { + b[i] = letterBytes[rand.Intn(len(letterBytes))] + } + return string(b) +} + +func getBoundary() (boundary string) { + boundary = "----WebKitFormBoundary" + boundary += RandStringBytes(16) + return boundary +} + +func (a *API) AccessAPIUpload(data []byte, fileName, contentType string) (retVal map[string]interface{}, err error) { + params2 := make(map[string]interface{}) + accessToken := a.CBGetToken() + if accessToken == "" { + panic("token is empty!") + } + params2["access_token"] = accessToken + fullURL := utils.GenerateGetURL(prodURL, "cgi-bin/media/uploadimg", params2) + // baseapi.SugarLogger.Debug(fullURL) + // 实例化multipart + body := &bytes.Buffer{} + writer := multipart.NewWriter(body) + writer.SetBoundary(getBoundary()) + // 创建multipart 文件字段 + h := make(textproto.MIMEHeader) + h.Set("Content-Disposition", + fmt.Sprintf(`form-data; name="%s"; filename="%s"`, + "media", fileName)) + h.Set("Content-Type", contentType) + part, err := writer.CreatePart(h) + // 写入文件数据到multipart,和读取本地文件方法的唯一区别 + _, err = part.Write(data) + //将额外参数也写入到multipart + //_ = writer.WriteField("media", fileName) + err = writer.Close() + err = platformapi.AccessPlatformAPIWithRetry(a.client, + func() *http.Request { + request, _ := http.NewRequest(http.MethodPost, fullURL, body) + request.Header.Set("Content-Type", writer.FormDataContentType()) + return request + }, + a.config, + func(response *http.Response, bodyStr string, jsonResult1 map[string]interface{}) (errLevel string, err error) { + if jsonResult1 == nil { + return platformapi.ErrLevelRecoverableErr, fmt.Errorf("mapData is nil") + } + var errInfo *ErrorInfo + // 微信的返回值,在错误与正常情况下,结构是完全不一样的 + if errCode, ok := jsonResult1["errcode"]; ok { + errInfo = &ErrorInfo{ + ErrCode: int(utils.MustInterface2Int64(errCode)), + ErrMsg: jsonResult1["errmsg"].(string), + } + if errInfo.ErrCode == 0 { + retVal = jsonResult1 + } + } else { + retVal = jsonResult1 + } + if retVal != nil { + return platformapi.ErrLevelSuccess, nil + } + newErr := utils.NewErrorIntCode(errInfo.ErrMsg, errInfo.ErrCode) + if errInfo.ErrCode == ResponseCodeBusy { + return platformapi.ErrLevelRecoverableErr, newErr + } + return platformapi.ErrLevelCodeIsNotOK, newErr + }) + return retVal, err +} diff --git a/platformapi/weixinapi/weixinapi_test.go b/platformapi/weixinapi/weixinapi_test.go index bbea10b2..a024bbb0 100644 --- a/platformapi/weixinapi/weixinapi_test.go +++ b/platformapi/weixinapi/weixinapi_test.go @@ -23,11 +23,11 @@ func init() { // api = New("wxbf235770edaabc5c", "ba32b269a068a5b72486a0beafd171e8") // // prod - // api = New("wx2bb99eb5d2c9b82c", "6bbbed1443cc062c20a015a64c07a531") + api = New("wx2bb99eb5d2c9b82c", "6bbbed1443cc062c20a015a64c07a531") //weixinapp - api = New("wx18111a41fd17f24f", "c79ac6e1b2d6d7968e72a9658a8b6715") - // api.CBSetToken("43_ZotOV6kJJjqc4H9blBhwxbXpSmY1LMOv13lxYRL44FQ1icX0nnnAGt5-pNWDVSuaVK3IrYoxR1xY6AGeY5XHsjCgwymwT009y6uDyo7mB8suHrSUP-2vCWHk8Q0Ff8FQHVsTnxBo8NicLeUAPYJjAEASBM") + //api = New("wx18111a41fd17f24f", "c79ac6e1b2d6d7968e72a9658a8b6715") + api.CBSetToken("46_Cj1HI_V-qSBMFLvS0L-Xot-mYJEFhKK5apzHURNV83IPCGMj66X2TGo4Zqtr4nkwpZY3bBNaQhPzKjseBXL9JcyTp0h3i-idLHPCukqz7QO-kV7zycv_Cp6HZyhpsxyyFwobd4DIONbfYTQrCSNaAEAGWR") } func handleError(t *testing.T, err error) {