1
This commit is contained in:
@@ -11,7 +11,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestCommentQuery(t *testing.T) {
|
func TestCommentQuery(t *testing.T) {
|
||||||
result, err := api.CommentQuery("7821254", "20240730", "20240731", 0, 0, CommentReplyStatusAll)
|
result, err := api.CommentQuery("23932637", "20240813", "20240819", 0, 0, CommentReplyStatusNotReplied)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@@ -38,7 +38,7 @@ func TestCommentQuery(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestCommentAddReply(t *testing.T) {
|
func TestCommentAddReply(t *testing.T) {
|
||||||
err := api.CommentAddReply("24617232", 2947288966, "非常抱歉让您没有得到十分满意的购物体验,我们会及时与您联系进行确认并解决问题!")
|
err := api.CommentAddReply("23932637", 2947288966, "非常抱歉让您没有得到十分满意的购物体验,我们会及时与您联系进行确认并解决问题!")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ func init() {
|
|||||||
//api = New("4123", "df2c88338b85f830cebce2a9eab56628", "", "")
|
//api = New("4123", "df2c88338b85f830cebce2a9eab56628", "", "")
|
||||||
|
|
||||||
//商超
|
//商超
|
||||||
api = New("5873", "41c479790a76f86326f89e8048964739", "", "token_rxzM5HT4X9IbdrOI5wBI1w") //token_n4TwqCntWWuvQwAawzxC0w
|
api = New("5873", "41c479790a76f86326f89e8048964739", "", "token_q3-GrKUcZmNq-l4JzH5EjQ") //token_n4TwqCntWWuvQwAawzxC0w
|
||||||
//cookieStr := `
|
//cookieStr := `
|
||||||
// acctId=57396785; token=0bWbK5VbK50E2BmIhIH2zHB-am_y7mB37yXHm6RLZWx4*; wmPoiId=-1;
|
// acctId=57396785; token=0bWbK5VbK50E2BmIhIH2zHB-am_y7mB37yXHm6RLZWx4*; wmPoiId=-1;
|
||||||
//`
|
//`
|
||||||
|
|||||||
@@ -664,54 +664,6 @@ func (a *API) GetOrderActDetail(queryData []*GetOrderActDetailParam) (orderActLi
|
|||||||
return orderActList, err
|
return orderActList, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *API) GetOrderDaySeq(poiCode string) (daySeq int, err error) {
|
|
||||||
params := map[string]interface{}{
|
|
||||||
KeyAppPoiCode: poiCode,
|
|
||||||
}
|
|
||||||
result, err := a.AccessAPI("order/getOrderDaySeq", true, params)
|
|
||||||
if err == nil {
|
|
||||||
daySeq = int(utils.MustInterface2Int64(result.(map[string]interface{})["day_seq"]))
|
|
||||||
}
|
|
||||||
return daySeq, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *API) GetOrderIdByDaySeqSingle(poiCode string, dateTime time.Time, daySeq int) (vendorOrderID int64, err error) {
|
|
||||||
params := map[string]interface{}{
|
|
||||||
KeyAppPoiCode: poiCode,
|
|
||||||
"date_time": dateTime.Format("20060102"),
|
|
||||||
"day_seq": daySeq,
|
|
||||||
}
|
|
||||||
result, err := a.AccessAPI("order/getOrderIdByDaySeq", true, params)
|
|
||||||
if err == nil {
|
|
||||||
vendorOrderID = utils.ForceInterface2Int64(result.(map[string]interface{})["order_id"])
|
|
||||||
}
|
|
||||||
return vendorOrderID, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// 订单流水号的开始序号,门店内每日的订单流水号都是从1开始。
|
|
||||||
// 订单流水号的结束序号,注意开始流水号与结束流水号的跨度需小于100,即差值最大为99
|
|
||||||
// 这个函数在给定的区间范围全部没有订单时,返回错误808,
|
|
||||||
// 但如果有部分订单,底层返回的错误是0(然后被忽略),vendorOrderIDs只包含有效的订单号(数量少于seqEnd-seqStart+1)
|
|
||||||
// 此API速度与查询的区间范围直接相关,越大越慢(即使订单不存在),最大可到4,5秒级别
|
|
||||||
func (a *API) GetOrderIdByDaySeq(poiCode string, dateTime time.Time, seqStart, seqEnd int) (vendorOrderIDs []int64, err error) {
|
|
||||||
params := map[string]interface{}{
|
|
||||||
KeyAppPoiCode: poiCode,
|
|
||||||
"date_time": dateTime.Format("20060102"),
|
|
||||||
"day_seq_start": seqStart,
|
|
||||||
"day_seq_end": seqEnd,
|
|
||||||
}
|
|
||||||
result, err := a.AccessAPI("ecommerce/order/getOrderIdByDaySeq", true, params)
|
|
||||||
// 当前底层已经处理了错误0的情况了,不会返回错误0了
|
|
||||||
if extErr, ok := err.(*utils.ErrorWithCode); err == nil || (ok && extErr.IntCode() == 0) {
|
|
||||||
var data GetOrderIdByDaySeqResult
|
|
||||||
if err2 := utils.UnmarshalUseNumber([]byte(utils.Interface2String(result)), &data); err2 == nil {
|
|
||||||
vendorOrderIDs = data.OrderIDs
|
|
||||||
err = nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return vendorOrderIDs, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// 众包配送单追加小费
|
// 众包配送单追加小费
|
||||||
// https://developer.waimai.meituan.com/home/docDetail/158
|
// https://developer.waimai.meituan.com/home/docDetail/158
|
||||||
func (a *API) OrderUpdateTip(orderID int64, tipAmount float64) (err error) {
|
func (a *API) OrderUpdateTip(orderID int64, tipAmount float64) (err error) {
|
||||||
@@ -788,3 +740,115 @@ func (a *API) PushPrintMsg(orderId string) error {
|
|||||||
})
|
})
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// EcommerceGetOrderIdByPage 批量获取门店订单号,下面三个被废弃(order/getOrderIdByDaySeq,ecommerce/order/getOrderIdByDaySeq,order/getOrderDaySeq)
|
||||||
|
func (a *API) EcommerceGetOrderIdByPage(poiCode string, startTime, endTime time.Time) ([]int64, error) {
|
||||||
|
var (
|
||||||
|
vernier = ""
|
||||||
|
orderIdList = make([]int64, 0, 0)
|
||||||
|
)
|
||||||
|
params := map[string]interface{}{
|
||||||
|
KeyAppPoiCode: poiCode,
|
||||||
|
"start_time": startTime.Unix(),
|
||||||
|
"end_time": endTime.Unix(),
|
||||||
|
"status_list": "1,2,4,8,9",
|
||||||
|
"page_size": 100,
|
||||||
|
}
|
||||||
|
|
||||||
|
for {
|
||||||
|
if vernier != "" {
|
||||||
|
params["vernier"] = vernier
|
||||||
|
}
|
||||||
|
result, err := a.AccessAPI2("ecommerce/order/getOrderIdByPage", false, params, "", "")
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
resultDate, err := json.Marshal(result)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
orderList := &EcommerceOrder{}
|
||||||
|
if err := json.Unmarshal(resultDate, orderList); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, v := range orderList.SuccessList {
|
||||||
|
orderIdList = append(orderIdList, v.OrderId)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(orderList.SuccessList) == 100 {
|
||||||
|
vernier = orderList.SuccessMap.Vernier
|
||||||
|
} else {
|
||||||
|
return orderIdList, nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
type EcommerceOrder struct {
|
||||||
|
ResultCode int `json:"result_code"`
|
||||||
|
SuccessMap struct {
|
||||||
|
Vernier string `json:"vernier"`
|
||||||
|
HasMore int `json:"has_more"`
|
||||||
|
} `json:"success_map"`
|
||||||
|
SuccessList []struct {
|
||||||
|
OrderId int64 `json:"order_id"`
|
||||||
|
Status int `json:"status"`
|
||||||
|
} `json:"success_list"`
|
||||||
|
ErrorList []struct {
|
||||||
|
Msg string `json:"msg"`
|
||||||
|
Code int `json:"code"`
|
||||||
|
} `json:"error_list"`
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
//// 下面的接口废弃了
|
||||||
|
//// GetOrderIdByDaySeqSingle 根据流水号获取订单ID
|
||||||
|
//func (a *API) GetOrderIdByDaySeqSingle(poiCode string, dateTime time.Time, daySeq int) (vendorOrderID int64, err error) {
|
||||||
|
// //params := map[string]interface{}{
|
||||||
|
// // KeyAppPoiCode: poiCode,
|
||||||
|
// // "date_time": dateTime.Format("20060102"),
|
||||||
|
// // "day_seq": daySeq,
|
||||||
|
// //}
|
||||||
|
// //result, err := a.AccessAPI("order/getOrderIdByDaySeq", true, params)
|
||||||
|
// //if err == nil {
|
||||||
|
// // vendorOrderID = utils.ForceInterface2Int64(result.(map[string]interface{})["order_id"])
|
||||||
|
// //}
|
||||||
|
// return vendorOrderID, err
|
||||||
|
//}
|
||||||
|
//
|
||||||
|
//// 订单流水号的开始序号,门店内每日的订单流水号都是从1开始。(根据流水号获取订单ID废弃)
|
||||||
|
//// 订单流水号的结束序号,注意开始流水号与结束流水号的跨度需小于100,即差值最大为99
|
||||||
|
//// 这个函数在给定的区间范围全部没有订单时,返回错误808,
|
||||||
|
//// 但如果有部分订单,底层返回的错误是0(然后被忽略),vendorOrderIDs只包含有效的订单号(数量少于seqEnd-seqStart+1)
|
||||||
|
//// 此API速度与查询的区间范围直接相关,越大越慢(即使订单不存在),最大可到4,5秒级别
|
||||||
|
//func (a *API) GetOrderIdByDaySeq(poiCode string, dateTime time.Time, seqStart, seqEnd int) (vendorOrderIDs []int64, err error) {
|
||||||
|
// //params := map[string]interface{}{
|
||||||
|
// // KeyAppPoiCode: poiCode,
|
||||||
|
// // "date_time": dateTime.Format("20060102"),
|
||||||
|
// // "day_seq_start": seqStart,
|
||||||
|
// // "day_seq_end": seqEnd,
|
||||||
|
// //}
|
||||||
|
// //result, err := a.AccessAPI("ecommerce/order/getOrderIdByDaySeq", true, params)
|
||||||
|
// //// 当前底层已经处理了错误0的情况了,不会返回错误0了
|
||||||
|
// //if extErr, ok := err.(*utils.ErrorWithCode); err == nil || (ok && extErr.IntCode() == 0) {
|
||||||
|
// // var data GetOrderIdByDaySeqResult
|
||||||
|
// // if err2 := utils.UnmarshalUseNumber([]byte(utils.Interface2String(result)), &data); err2 == nil {
|
||||||
|
// // vendorOrderIDs = data.OrderIDs
|
||||||
|
// // err = nil
|
||||||
|
// // }
|
||||||
|
// //}
|
||||||
|
// return vendorOrderIDs, err
|
||||||
|
//}
|
||||||
|
//
|
||||||
|
//// GetOrderDaySeq 获取当日最新订单流水号
|
||||||
|
//func (a *API) GetOrderDaySeq(poiCode string) (daySeq int, err error) {
|
||||||
|
// //params := map[string]interface{}{
|
||||||
|
// // KeyAppPoiCode: poiCode,
|
||||||
|
// //}
|
||||||
|
// //result, err := a.AccessAPI("order/getOrderDaySeq", true, params)
|
||||||
|
// //if err == nil {
|
||||||
|
// // daySeq = int(utils.MustInterface2Int64(result.(map[string]interface{})["day_seq"]))
|
||||||
|
// //}
|
||||||
|
// return daySeq, err
|
||||||
|
//}
|
||||||
|
|||||||
@@ -263,6 +263,8 @@ func TestOrderStatusAndPsInfo(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func Test22(t *testing.T) {
|
func TestEcommerceGetOrderIdByPage(t *testing.T) {
|
||||||
fmt.Println((57 & 8) != 0)
|
orderIdList, err := api.EcommerceGetOrderIdByPage("23932637", time.Now().Add(-24*time.Hour), time.Now())
|
||||||
|
t.Log(orderIdList)
|
||||||
|
t.Log(err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// 京西速食(蔬菜)
|
// 京西速食(蔬菜)
|
||||||
var token1 = `{"access_token":"83b9af04-3419-46ae-90fd-fe496330bb69","expires_in":1718153350,"scope":"SCOPE","shop_id":57939570,"shop_name":"京西菜市","refresh_token":"804d69e4-4b0a-4bc5-a409-ca35455f67f7","authority_id":""}`
|
var token1 = `{"access_token":"5a646b72-9eb2-4fc9-a037-541d6dab98c7","expires_in":1723880345,"scope":"SCOPE","shop_id":57939570,"shop_name":"京西菜市","refresh_token":"493e94e2-7cae-4f47-95b8-f6cb6dec4d7c","authority_id":""}`
|
||||||
|
|
||||||
// 美好菜市
|
// 美好菜市
|
||||||
//var token1 = `{"access_token":"9a315a03-c737-4a82-ae52-c9a6ce827007","expires_in":1699490747,"scope":"SCOPE","shop_id":68032645,"shop_name":"美好菜市","refresh_token":"8334c006-5301-4d25-911b-4d8cc7b70ebb","authority_id":""}`
|
//var token1 = `{"access_token":"9a315a03-c737-4a82-ae52-c9a6ce827007","expires_in":1699490747,"scope":"SCOPE","shop_id":68032645,"shop_name":"美好菜市","refresh_token":"8334c006-5301-4d25-911b-4d8cc7b70ebb","authority_id":""}`
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ func TestGetStoreList2(t *testing.T) {
|
|||||||
//获取门店详细信息
|
//获取门店详细信息
|
||||||
func TestGetStoreDetail(t *testing.T) {
|
func TestGetStoreDetail(t *testing.T) {
|
||||||
data, err := a.GetStoreDetail(&shop_getStoreDetail_request.ShopGetStoreDetailParam{
|
data, err := a.GetStoreDetail(&shop_getStoreDetail_request.ShopGetStoreDetailParam{
|
||||||
StoreId: "62490423",
|
StoreId: "64250739",
|
||||||
})
|
})
|
||||||
fmt.Println(utils.Format4Output(data, false))
|
fmt.Println(utils.Format4Output(data, false))
|
||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
|
|||||||
Reference in New Issue
Block a user