This commit is contained in:
邹宗楠
2024-08-20 17:38:22 +08:00
parent 48e9a22edd
commit c4f39e6c94
6 changed files with 121 additions and 55 deletions

View File

@@ -11,7 +11,7 @@ import (
)
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 {
t.Fatal(err)
}
@@ -38,7 +38,7 @@ func TestCommentQuery(t *testing.T) {
}
func TestCommentAddReply(t *testing.T) {
err := api.CommentAddReply("24617232", 2947288966, "非常抱歉让您没有得到十分满意的购物体验,我们会及时与您联系进行确认并解决问题!")
err := api.CommentAddReply("23932637", 2947288966, "非常抱歉让您没有得到十分满意的购物体验,我们会及时与您联系进行确认并解决问题!")
if err != nil {
t.Fatal(err)
}

View File

@@ -26,7 +26,7 @@ func init() {
//api = New("4123", "df2c88338b85f830cebce2a9eab56628", "", "")
//商超
api = New("5873", "41c479790a76f86326f89e8048964739", "", "token_rxzM5HT4X9IbdrOI5wBI1w") //token_n4TwqCntWWuvQwAawzxC0w
api = New("5873", "41c479790a76f86326f89e8048964739", "", "token_q3-GrKUcZmNq-l4JzH5EjQ") //token_n4TwqCntWWuvQwAawzxC0w
//cookieStr := `
// acctId=57396785; token=0bWbK5VbK50E2BmIhIH2zHB-am_y7mB37yXHm6RLZWx4*; wmPoiId=-1;
//`

View File

@@ -664,54 +664,6 @@ func (a *API) GetOrderActDetail(queryData []*GetOrderActDetailParam) (orderActLi
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速度与查询的区间范围直接相关越大越慢即使订单不存在最大可到45秒级别
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
func (a *API) OrderUpdateTip(orderID int64, tipAmount float64) (err error) {
@@ -788,3 +740,115 @@ func (a *API) PushPrintMsg(orderId string) error {
})
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速度与查询的区间范围直接相关越大越慢即使订单不存在最大可到45秒级别
//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
//}

View File

@@ -263,6 +263,8 @@ func TestOrderStatusAndPsInfo(t *testing.T) {
})
}
func Test22(t *testing.T) {
fmt.Println((57 & 8) != 0)
func TestEcommerceGetOrderIdByPage(t *testing.T) {
orderIdList, err := api.EcommerceGetOrderIdByPage("23932637", time.Now().Add(-24*time.Hour), time.Now())
t.Log(orderIdList)
t.Log(err)
}

View File

@@ -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":""}`

View File

@@ -95,7 +95,7 @@ func TestGetStoreList2(t *testing.T) {
//获取门店详细信息
func TestGetStoreDetail(t *testing.T) {
data, err := a.GetStoreDetail(&shop_getStoreDetail_request.ShopGetStoreDetailParam{
StoreId: "62490423",
StoreId: "64250739",
})
fmt.Println(utils.Format4Output(data, false))
fmt.Println(err)