From 3b37289dd5891ee1c74dbb14c6999db6b9ae14d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Mon, 1 Jun 2026 15:59:51 +0800 Subject: [PATCH] 1 --- platformapi/ebaiapi/ebaiapi_test.go | 4 ++-- platformapi/ebaiapi/order_test.go | 6 +++++- platformapi/mtwmapi/mtwmapi_test.go | 4 ++-- platformapi/mtwmapi/order.go | 21 +++++++++++++++++++++ platformapi/mtwmapi/order_test.go | 12 +++--------- platformapi/weixinapi/sns_send_order.go | 5 +++++ 6 files changed, 38 insertions(+), 14 deletions(-) diff --git a/platformapi/ebaiapi/ebaiapi_test.go b/platformapi/ebaiapi/ebaiapi_test.go index ce86377b..467decd2 100644 --- a/platformapi/ebaiapi/ebaiapi_test.go +++ b/platformapi/ebaiapi/ebaiapi_test.go @@ -29,13 +29,13 @@ func init() { // api = New("62289", "d3ec2358d6a819ea") // 京西菜市 - //api = New("34665", "c3db75b754ea2d89") + api = New("34665", "c3db75b754ea2d89") //菜市测试 // api = New("62923", "aa4cdc6c1108486b") // 京西果园 - api = New("35957", "10013fbb7c2ddad7") + //api = New("35957", "10013fbb7c2ddad7") // api.SetCookie("PASSPORT_DELIMONT_TOKEN", "PBE_2.0_5cd1c6141c127d4188f026ac01fc93656266683e8dfb3127c2fdf894259e9034125ff3bdd2a997a385802ee3ef1802ba93a04acea34fde2d2b6e802c5dcd4ec6e3f4ad909a1d806e3ceeb349ed726b03d60ed1fe7010d4140aa338d9c5f05e3fec172c78d3d7f0ca579d61b7015af1bf99aa46b04d2b8a64aa50646dc09afe94b6b60e0ba9a933635db5e8b2a035e9b6d693b289acf1b256d5b9a3f8478c87b0b009115bfd1394f20bb5a0dc2c07b8d013a25f286ec6bf7f2d86010d65507e31358834b7a6b58fbd88cb3f1a12cf71c997b91c1527f6f3c10693f7c2bd6073da8633a98cd2dc1114dfa5be5ee0e60b02cf7e4a94d0fb563a8c01717e7c050f02249117219c07a2eb211577c208ba77f4d536fa25139bc249be93b38d6fc495ef67a32aa206835d177db402bc534de1d29caf4f6b4fbcd912c13f167d00d1732222744c336a5189728f72fb5e153c4b1164171cfb0c811f34f4c2fedd43f721b8706b43f8d631251c") //api.SetCookie("WMUSS", "NTE2NDMTAwMDAyNzYxNzAwOTEyTmUzNWJNcDlQ ") //api.SetCookie("WMSTOKEN", "NTE2NDMTAwMDAyNzYxNzAwOTEyTmUzNWJNcDlQ ") diff --git a/platformapi/ebaiapi/order_test.go b/platformapi/ebaiapi/order_test.go index 21171185..600ee066 100644 --- a/platformapi/ebaiapi/order_test.go +++ b/platformapi/ebaiapi/order_test.go @@ -18,7 +18,11 @@ func TestCancelOrder(t *testing.T) { } func TestOrderGet(t *testing.T) { - result, err := api.OrderGet("4073360274750788248") + result, err := api.OrderGet("4013706166788204275") + orderMap := result["order"].(map[string]interface{}) + sendFeeDetail := orderMap["send_fee_detail"].(map[string]interface{})["one_on_one_delivery_fee"] + fmt.Println(orderMap) + fmt.Println(sendFeeDetail) products := result["products"].([]interface{})[0].([]interface{}) for _, product2 := range products { product := product2.(map[string]interface{}) diff --git a/platformapi/mtwmapi/mtwmapi_test.go b/platformapi/mtwmapi/mtwmapi_test.go index 34a16110..ad0e71f0 100644 --- a/platformapi/mtwmapi/mtwmapi_test.go +++ b/platformapi/mtwmapi/mtwmapi_test.go @@ -19,13 +19,13 @@ func init() { baseapi.Init(sugarLogger) // 菜市 - api = New("589", "a81eb3df418d83d6a1a4b7c572156d2f", "", "") + //api = New("589", "a81eb3df418d83d6a1a4b7c572156d2f", "", "") // 果园 //api = New("4123", "df2c88338b85f830cebce2a9eab56628", "", "") //商超 - //api = New("5873", "41c479790a76f86326f89e8048964739", "", "token_gxeIPSwnnHy8O_Ij2CxLdw") + api = New("5873", "41c479790a76f86326f89e8048964739", "", "token_kjEKYoGKSl0L4XqfEt9GUA") //cookieStr := ` // acctId=57396785; token=0bWbK5VbK50E2BmIhIH2zHB-am_y7mB37yXHm6RLZWx4*; wmPoiId=-1; //` diff --git a/platformapi/mtwmapi/order.go b/platformapi/mtwmapi/order.go index feb6366b..9bb16f88 100644 --- a/platformapi/mtwmapi/order.go +++ b/platformapi/mtwmapi/order.go @@ -860,3 +860,24 @@ func (a *API) GetOrderAddress(orderId int64, reasonType int) (address string, er return result.(map[string]interface{})["recipient_address"].(string), nil } + +// UploadMediaToOrder 订单上传图片,订单在骑手取货前且未超过订单预计送达时间时可以进行图片上传 +func (a *API) UploadMediaToOrder(orderId string, images []string) error { + mediaData := make([]interface{}, 0, 0) + for _, v := range images { + img := map[string]interface{}{ + "url": v, + "type": 0, + } + mediaData = append(mediaData, img) + } + + byteData := utils.MustMarshal(mediaData) + + data, err := a.AccessAPI("ecommerce/order/uploadMedia", false, map[string]interface{}{"order_id": orderId, "media_list": string(byteData)}) + if err != nil { + return err + } + fmt.Println(data) + return nil +} diff --git a/platformapi/mtwmapi/order_test.go b/platformapi/mtwmapi/order_test.go index 711ef8a5..921f3247 100644 --- a/platformapi/mtwmapi/order_test.go +++ b/platformapi/mtwmapi/order_test.go @@ -31,7 +31,7 @@ func getTimeFromTimestamp(timeStamp int64) time.Time { } func TestOrderGetOrderDetail(t *testing.T) { - result, err := api.OrderGetOrderDetail(3102067553224122590, false) + result, err := api.OrderGetOrderDetail(3802140943223203896, false) if err != nil { t.Fatal(err) } @@ -468,12 +468,6 @@ func TestGetOrderAddress(t *testing.T) { fmt.Println(err) } -func TestName(t *testing.T) { - storeMap := []string{"1", "2", "3"} - mapList := make(map[string][]string, 10) - for i := 0; i < len(storeMap); i++ { - mapList[storeMap[i]] = append(mapList[storeMap[i]], storeMap[i]) - } - - fmt.Println(mapList) +func TestUploadMediaToOrder(t *testing.T) { + api.UploadMediaToOrder("3902139012476194963", []string{"https://img.meituan.net/retailsp/12b8489847a14dbf128527aa2c7dfbd448308.jpg"}) } diff --git a/platformapi/weixinapi/sns_send_order.go b/platformapi/weixinapi/sns_send_order.go index d9215ae5..b0899bae 100644 --- a/platformapi/weixinapi/sns_send_order.go +++ b/platformapi/weixinapi/sns_send_order.go @@ -3,6 +3,7 @@ package weixinapi import ( "encoding/json" "fmt" + "strings" ) // SNSSendGoodsOrder 小程序订单发货 https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/order-shipping/order-shipping.html#%E4%B8%80%E3%80%81%E5%8F%91%E8%B4%A7%E4%BF%A1%E6%81%AF%E5%BD%95%E5%85%A5%E6%8E%A5%E5%8F%A3 @@ -12,6 +13,10 @@ func (a *API) SNSSendGoodsOrder(param *SNSSendOrderParameter) error { a.CBRetrieveToken() } _, err := a.AccessAPI("wxa/sec/order/upload_shipping_info", nil, string(body)) + if err != nil && strings.Contains(err.Error(), "access_token is invalid") { + a.CBRetrieveToken() + return a.SNSSendGoodsOrder(param) + } return err }