From 109161a1d9e2ad08bae91ff270cf20be8b328d89 Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 20 May 2019 14:16:11 +0800 Subject: [PATCH] - OrderExtraInfo --- platformapi/mtwmapi/order.go | 119 ++++++++++++++++++++--------------- 1 file changed, 68 insertions(+), 51 deletions(-) diff --git a/platformapi/mtwmapi/order.go b/platformapi/mtwmapi/order.go index e2becdcd..5ebc65fc 100644 --- a/platformapi/mtwmapi/order.go +++ b/platformapi/mtwmapi/order.go @@ -74,6 +74,11 @@ const ( RefundTypePart = 2 ) +const ( + ExtrasPromotionTypeTaoCanZeng = 4 // 套餐赠 + ExtrasPromotionTypeManZeng = 5 // 满赠 +) + type RefundSku struct { AppFoodCode string `json:"app_food_code"` SkuID string `json:"sku_id,omitempty"` @@ -97,7 +102,7 @@ type RefundOrderDetail struct { ApplyReason string `json:"apply_reason"` ApplyType int `json:"apply_type"` CTime int64 `json:"ctime"` - Money float32 `json:"money"` + Money float64 `json:"money"` OrderID int64 `json:"order_id"` Pictures []string `json:"pictures"` RefundType int `json:"refund_type"` @@ -108,56 +113,66 @@ type RefundOrderDetail struct { WmOrderIDView int64 `json:"wm_order_id_view"` } +type OrderExtraInfo struct { + ActDetailID int `json:"act_detail_id,omitempty"` + MtCharge float64 `json:"mt_charge,omitempty"` + PoiCharge float64 `json:"poi_charge,omitempty"` + ReduceFee float64 `json:"reduce_fee,omitempty"` + Remark string `json:"remark,omitempty"` + Type int `json:"type,omitempty"` +} + type OrderInfo struct { - AppOrderCode string `json:"app_order_code"` - AppPoiCode string `json:"app_poi_code"` - AvgSendTime int `json:"avg_send_time"` - BackupRecipientPhone string `json:"backup_recipient_phone"` - Caution string `json:"caution"` - CityID int `json:"city_id"` - Ctime int64 `json:"ctime"` - DaySeq int `json:"day_seq"` - DeliveryTime int `json:"delivery_time"` - Detail string `json:"detail"` - DinnersNumber int `json:"dinners_number"` - ExpectDeliverTime int `json:"expect_deliver_time"` - Extras string `json:"extras"` - HasInvoiced int `json:"has_invoiced"` - InvoiceTitle string `json:"invoice_title"` - IsFavorites bool `json:"is_favorites"` - IsPoiFirstOrder bool `json:"is_poi_first_order"` - IsPre int `json:"is_pre"` - IsThirdShipping int `json:"is_third_shipping"` - Latitude float64 `json:"latitude"` - LogisticsCode string `json:"logistics_code"` - Longitude float64 `json:"longitude"` - OrderCompletedTime int `json:"order_completed_time"` - OrderConfirmTime int `json:"order_confirm_time"` - OrderID int64 `json:"order_id"` - OrderSendTime int `json:"order_send_time"` - OriginalPrice float64 `json:"original_price"` - PackageBagMoney int `json:"package_bag_money"` - PayType int `json:"pay_type"` - PickType int `json:"pick_type"` - PoiReceiveDetail string `json:"poi_receive_detail"` - RecipientAddress string `json:"recipient_address"` - RecipientName string `json:"recipient_name"` - RecipientPhone string `json:"recipient_phone"` - Remark string `json:"remark"` - Result string `json:"result"` - ShipperPhone string `json:"shipper_phone"` - ShippingFee float64 `json:"shipping_fee"` - ShippingType int `json:"shipping_type"` - SourceID int `json:"source_id"` - Status int `json:"status"` - TaxpayerID string `json:"taxpayer_id"` - Total float64 `json:"total"` - Utime int64 `json:"utime"` - WmOrderIDView int64 `json:"wm_order_id_view"` - WmPoiAddress string `json:"wm_poi_address"` - WmPoiID int `json:"wm_poi_id"` - WmPoiName string `json:"wm_poi_name"` - WmPoiPhone string `json:"wm_poi_phone"` + AppOrderCode string `json:"app_order_code"` + AppPoiCode string `json:"app_poi_code"` + AvgSendTime int `json:"avg_send_time"` + BackupRecipientPhone string `json:"backup_recipient_phone"` + Caution string `json:"caution"` + CityID int `json:"city_id"` + Ctime int64 `json:"ctime"` + DaySeq int `json:"day_seq"` + DeliveryTime int `json:"delivery_time"` + Detail string `json:"detail"` + DinnersNumber int `json:"dinners_number"` + ExpectDeliverTime int `json:"expect_deliver_time"` + Extras string `json:"extras"` + ExtraList []*OrderExtraInfo `json:"extraList"` + HasInvoiced int `json:"has_invoiced"` + InvoiceTitle string `json:"invoice_title"` + IsFavorites bool `json:"is_favorites"` + IsPoiFirstOrder bool `json:"is_poi_first_order"` + IsPre int `json:"is_pre"` + IsThirdShipping int `json:"is_third_shipping"` + Latitude float64 `json:"latitude"` + LogisticsCode string `json:"logistics_code"` + Longitude float64 `json:"longitude"` + OrderCompletedTime int `json:"order_completed_time"` + OrderConfirmTime int `json:"order_confirm_time"` + OrderID int64 `json:"order_id"` + OrderSendTime int `json:"order_send_time"` + OriginalPrice float64 `json:"original_price"` + PackageBagMoney int `json:"package_bag_money"` + PayType int `json:"pay_type"` + PickType int `json:"pick_type"` + PoiReceiveDetail string `json:"poi_receive_detail"` + RecipientAddress string `json:"recipient_address"` + RecipientName string `json:"recipient_name"` + RecipientPhone string `json:"recipient_phone"` + Remark string `json:"remark"` + Result string `json:"result"` + ShipperPhone string `json:"shipper_phone"` + ShippingFee float64 `json:"shipping_fee"` + ShippingType int `json:"shipping_type"` + SourceID int `json:"source_id"` + Status int `json:"status"` + TaxpayerID string `json:"taxpayer_id"` + Total float64 `json:"total"` + Utime int64 `json:"utime"` + WmOrderIDView int64 `json:"wm_order_id_view"` + WmPoiAddress string `json:"wm_poi_address"` + WmPoiID int `json:"wm_poi_id"` + WmPoiName string `json:"wm_poi_name"` + WmPoiPhone string `json:"wm_poi_phone"` } func (a *API) OrderReceived(orderID int64) (err error) { @@ -250,7 +265,9 @@ func (a *API) OrderGetOrderDetail(orderID int64, isMTLogistics bool) (orderInfo func (a *API) OrderGetOrderDetail2(orderID int64, isMTLogistics bool) (orderInfo *OrderInfo, err error) { orderMap, err := a.OrderGetOrderDetail(orderID, isMTLogistics) if err == nil { - err = utils.Map2StructByJson(orderMap, &orderInfo, false) + if err = utils.Map2StructByJson(orderMap, &orderInfo, false); err == nil { + err = utils.UnmarshalUseNumber([]byte(orderInfo.Extras), &orderInfo.ExtraList) + } } return orderInfo, err }