162 lines
6.2 KiB
Go
162 lines
6.2 KiB
Go
package mtwmapi
|
||
|
||
import (
|
||
"fmt"
|
||
"git.rosy.net.cn/baseapi/utils"
|
||
)
|
||
|
||
const (
|
||
ApplyCompensationStatusOne = 110 // 第一次申请赔付
|
||
ApplyCompensationStatusTwo = 120 // 第二次申请赔付
|
||
)
|
||
|
||
type DistributeOrderDetail struct {
|
||
WmOrderID int `json:"wm_order_id"`
|
||
WmPoiID int `json:"wm_poi_id"`
|
||
LogisticsStatus int `json:"logistics_status"`
|
||
LogisticsCode string `json:"logistics_code"`
|
||
LogisticsID int `json:"logistics_id"`
|
||
LogisticsName string `json:"logistics_name"`
|
||
PoiShippingFee float64 `json:"poi_shipping_fee"`
|
||
TipAmount float64 `json:"tip_amount"`
|
||
SelfDispatch int `json:"self_dispatch"`
|
||
DispatchCancelAllow int `json:"dispatch_cancel_allow"`
|
||
DispatcherName string `json:"dispatcher_name"`
|
||
DispatcherPhone interface{} `json:"dispatcher_phone"`
|
||
OrgLeaderPhone interface{} `json:"org_leader_phone"`
|
||
OrgEmergencyPhone interface{} `json:"org_emergency_phone"`
|
||
LatestDeliveryTime int `json:"latest_delivery_time"`
|
||
WaitingTime int `json:"waiting_time"`
|
||
IsThirdPartShipping int `json:"is_third_part_shipping"`
|
||
ThirdPartShippingName interface{} `json:"third_part_shipping_name"`
|
||
ThirdPartShippingPhone interface{} `json:"third_part_shipping_phone"`
|
||
IsKS int `json:"isKS"`
|
||
DispatchTeam interface{} `json:"dispatchTeam"`
|
||
HhKS bool `json:"hhKS"`
|
||
PreCheckJuHeMsg interface{} `json:"preCheckJuHeMsg"`
|
||
HasJuheAndZB bool `json:"hasJuheAndZB"`
|
||
PtGray int `json:"ptGray"`
|
||
ShippingFeeDetailVo interface{} `json:"shippingFeeDetailVo"`
|
||
AssignTime int `json:"assignTime"`
|
||
AssignDegrade bool `json:"assignDegrade"`
|
||
CurrentTime int `json:"currentTime"`
|
||
SubLogisticsCode int `json:"subLogisticsCode"`
|
||
DelayPushSecond int `json:"delay_push_second"`
|
||
}
|
||
|
||
type DeliveryData struct {
|
||
Code int `json:"code"`
|
||
Title string `json:"title"`
|
||
ReasonList []*ReasonList `json:"reasonList"`
|
||
Msg string `json:"msg"`
|
||
DeliveryStatus int `json:"deliveryStatus"`
|
||
}
|
||
|
||
type ReasonList struct {
|
||
Code string `json:"code"`
|
||
Content string `json:"content"`
|
||
PreCancelCode int `json:"preCancelCode"`
|
||
PreCancelMsg string `json:"preCancelMsg"`
|
||
}
|
||
|
||
type ResultMsg struct {
|
||
Data string `json:"data"`
|
||
Error *struct {
|
||
Code int `json:"code"`
|
||
Msg string `json:"msg"`
|
||
}
|
||
}
|
||
|
||
// ApplyCompensationRes 申请赔付
|
||
type ApplyCompensationRes struct {
|
||
OrderId int64 `json:"order_id"` // 订单id
|
||
Reason string `json:"reason"` // 原因
|
||
ApplyStatus int `json:"apply_status"` // 申请状态类型:110-第一次申请;120-第二次申诉。
|
||
Amount float64 `json:"amount"` // 申请赔付金额,单位是元
|
||
//FoodData []FoodDataList `json:"food_data"` // 惨损商品列表
|
||
}
|
||
type FoodDataList struct {
|
||
AppSpuCode string `json:"app_spu_code"` // 即商家中台系统里商品的编码
|
||
SkuId string `json:"sku_id"` // SKU码(商家的规格编码)
|
||
}
|
||
|
||
// 取消跑腿配送请求参数
|
||
type CancelOrderParam struct {
|
||
ReasonCode string `json:"reason_code"` // 取消原因code 请开发者一定要先调用
|
||
DetailContent string `json:"detail_content"` // 取消原因
|
||
AppPoiCode string `json:"app_poi_code"` // 门店号
|
||
OrderId string `json:"order_id"` // 订单id
|
||
}
|
||
|
||
//美团骑手修改小费,单位为元,最多小数点后一位
|
||
//order/receive/processed/w/distribute/tipAmount/v2?ignoreSetRouterProxy=true
|
||
func (a *API) OrderModityTips(orderID, poiCode string, tipAmount float64) (err error) {
|
||
params := map[string]interface{}{
|
||
"wmOrderViewId": orderID,
|
||
"wmPoiId": poiCode,
|
||
"tipAmount": tipAmount,
|
||
}
|
||
_, err = a.AccessUserPage2("v2/order/receive/processed/w/distribute/tipAmount/v2", params, true)
|
||
return err
|
||
}
|
||
|
||
//获取美团订单小费
|
||
//https://shangoue.meituan.com/v2/order/receive/processed/r/distribute/list/v2
|
||
func (a *API) GetDistributeOrderDetail(orderID, poiCode string) (distributeOrderDetail *DistributeOrderDetail, err error) {
|
||
params1 := map[string]interface{}{
|
||
"wmOrderViewId": orderID,
|
||
"wmPoiId": poiCode,
|
||
}
|
||
params := map[string]interface{}{
|
||
"orderInfos": []string{string(utils.MustMarshal(params1))},
|
||
}
|
||
result, err2 := a.AccessUserPage2("v2/order/receive/processed/r/distribute/list/v2", params, false)
|
||
if err2 != nil {
|
||
return distributeOrderDetail, err
|
||
}
|
||
err = utils.Map2StructByJson(result[orderID], &distributeOrderDetail, true)
|
||
return distributeOrderDetail, err
|
||
}
|
||
|
||
type RecommendSkuGet struct {
|
||
WmPoiId int64 `json:"wmPoiId"` // 平台门店id
|
||
PageNum int64 `json:"pageNum"` // 页数
|
||
PageSize int64 `json:"pageSize"` // 页码
|
||
NeedTag int64 `json:"needTag"`
|
||
Name string `json:"name"`
|
||
BrandId int64 `json:"brandId"`
|
||
TagId int64 `json:"tagId"`
|
||
SearchWord string `json:"searchWord"`
|
||
State int64 `json:"state"`
|
||
LabelIds int64 `json:"labelIds"`
|
||
SaleStatus int64 `json:"saleStatus"`
|
||
LimitSale int64 `json:"limitSale"`
|
||
NeedCombinationSpu int64 `json:"needCombinationSpu"`
|
||
NoStockAutoClear int64 `json:"noStockAutoClear"`
|
||
MedicareType int64 `json:"medicareType"`
|
||
}
|
||
|
||
// GetRecommendSku 获取美团力荐商品
|
||
func (a *API) GetRecommendSku(params *RecommendSkuGet, cookie string) {
|
||
result, err2 := a.AccessUserPage2("reuse/sc/product/retail/r/searchListPage", utils.Struct2MapByJson(params), true)
|
||
fmt.Println(result)
|
||
fmt.Println(err2)
|
||
}
|
||
|
||
// EcommerceOrder 获取门店当前的订单号
|
||
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"`
|
||
}
|