Files
baseapi/platformapi/mtwmapi/order_page.go
2025-11-21 09:09:09 +08:00

162 lines
6.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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"`
}