diff --git a/platformapi/fnpsapi/order.go b/platformapi/fnpsapi/order.go index d4c74868..a5faa9d9 100644 --- a/platformapi/fnpsapi/order.go +++ b/platformapi/fnpsapi/order.go @@ -2,49 +2,66 @@ package fnpsapi import "git.rosy.net.cn/baseapi/utils" +const ( + OrderCancelReson1 = 1 // 1:物流原因:订单长时间未分配骑手, + OrderCancelReson2 = 2 // 2:物流原因:分配骑手后,骑手长时间未取件 , + OrderCancelReson3 = 3 // 3:物流原因:骑手告知不配送,让取消订单, + OrderCancelReson4 = 4 // 4:商品缺货/无法出货/已售完, + OrderCancelReson5 = 5 // 5:商户联系不上门店/门店关门了, + OrderCancelReson6 = 6 // 6:商户发错单, + OrderCancelReson7 = 7 // 7:商户/顾客自身定位错误, + OrderCancelReson8 = 8 // 8:商户改其他第三方配送, + OrderCancelReson9 = 9 // 9:顾客下错单/临时不想要了, + OrderCancelReson10 = 10 // 10:顾客自取/不在家/要求另改时间配送)(0类型已下线) +) + type CreateOrderParam struct { - PartnerRemark string `json:"partner_remark,omitempty"` - PartnerOrderCode string `json:"partner_order_code,omitempty"` - NotifyURL string `json:"notify_url,omitempty"` - OrderType int `json:"order_type,omitempty"` - ChainStoreCode string `json:"chain_store_code,omitempty"` - TransportInfo struct { - TransportName string `json:"transport_name,omitempty"` - TransportAddress string `json:"transport_address,omitempty"` - TransportLongitude float64 `json:"transport_longitude,omitempty"` - TransportLatitude float64 `json:"transport_latitude,omitempty"` - PositionSource int `json:"position_source,omitempty"` - TransportTel string `json:"transport_tel,omitempty"` - TransportRemark string `json:"transport_remark,omitempty"` - } `json:"transport_info,omitempty"` - OrderAddTime int64 `json:"order_add_time,omitempty"` - OrderTotalAmount float64 `json:"order_total_amount,omitempty"` - OrderActualAmount float64 `json:"order_actual_amount,omitempty"` - OrderWeight float64 `json:"order_weight,omitempty"` - OrderRemark string `json:"order_remark,omitempty"` - IsInvoiced int `json:"is_invoiced,omitempty"` - Invoice string `json:"invoice,omitempty"` - OrderPaymentStatus int `json:"order_payment_status,omitempty"` - OrderPaymentMethod int `json:"order_payment_method,omitempty"` - IsAgentPayment int `json:"is_agent_payment,omitempty"` - RequirePaymentPay float64 `json:"require_payment_pay,omitempty"` - GoodsCount int `json:"goods_count,omitempty"` - RequireReceiveTime int64 `json:"require_receive_time,omitempty"` - SerialNumber string `json:"serial_number,omitempty"` - ReceiverInfo struct { - ReceiverName string `json:"receiver_name,omitempty"` - ReceiverPrimaryPhone string `json:"receiver_primary_phone,omitempty"` - ReceiverSecondPhone string `json:"receiver_second_phone,omitempty"` - ReceiverAddress string `json:"receiver_address,omitempty"` - ReceiverLongitude float64 `json:"receiver_longitude,omitempty"` - ReceiverLatitude float64 `json:"receiver_latitude,omitempty"` - PositionSource int `json:"position_source,omitempty"` - } `json:"receiver_info,omitempty"` - ItemsJSON []*ItemsJSON `json:"items_json,omitempty"` - CookingTime int64 `json:"cooking_time,omitempty"` - PlatformPaidTime int64 `json:"platform_paid_time,omitempty"` - PlatformCreatedTime int64 `json:"platform_created_time,omitempty"` - MerchantCode string `json:"merchant_code,omitempty"` + PartnerRemark string `json:"partner_remark,omitempty"` + PartnerOrderCode string `json:"partner_order_code,omitempty"` + NotifyURL string `json:"notify_url,omitempty"` + OrderType int `json:"order_type,omitempty"` + ChainStoreCode string `json:"chain_store_code,omitempty"` + TransportInfo *TransportInfo `json:"transport_info,omitempty"` + OrderAddTime int64 `json:"order_add_time,omitempty"` + OrderTotalAmount float64 `json:"order_total_amount,omitempty"` + OrderActualAmount float64 `json:"order_actual_amount,omitempty"` + OrderWeight float64 `json:"order_weight,omitempty"` + OrderRemark string `json:"order_remark,omitempty"` + IsInvoiced int `json:"is_invoiced,omitempty"` + Invoice string `json:"invoice,omitempty"` + OrderPaymentStatus int `json:"order_payment_status,omitempty"` + OrderPaymentMethod int `json:"order_payment_method,omitempty"` + IsAgentPayment int `json:"is_agent_payment,omitempty"` + RequirePaymentPay float64 `json:"require_payment_pay,omitempty"` + GoodsCount int `json:"goods_count,omitempty"` + RequireReceiveTime int64 `json:"require_receive_time,omitempty"` + SerialNumber string `json:"serial_number,omitempty"` + ReceiverInfo *ReceiverInfo `json:"receiver_info,omitempty"` + ItemsJSON []*ItemsJSON `json:"items_json,omitempty"` + CookingTime int64 `json:"cooking_time,omitempty"` + PlatformPaidTime int64 `json:"platform_paid_time,omitempty"` + PlatformCreatedTime int64 `json:"platform_created_time,omitempty"` + MerchantCode string `json:"merchant_code,omitempty"` +} + +type ReceiverInfo struct { + ReceiverName string `json:"receiver_name,omitempty"` + ReceiverPrimaryPhone string `json:"receiver_primary_phone,omitempty"` + ReceiverSecondPhone string `json:"receiver_second_phone,omitempty"` + ReceiverAddress string `json:"receiver_address,omitempty"` + ReceiverLongitude float64 `json:"receiver_longitude,omitempty"` + ReceiverLatitude float64 `json:"receiver_latitude,omitempty"` + PositionSource int `json:"position_source,omitempty"` +} + +type TransportInfo struct { + TransportName string `json:"transport_name,omitempty"` + TransportAddress string `json:"transport_address,omitempty"` + TransportLongitude float64 `json:"transport_longitude,omitempty"` + TransportLatitude float64 `json:"transport_latitude,omitempty"` + PositionSource int `json:"position_source,omitempty"` + TransportTel string `json:"transport_tel,omitempty"` + TransportRemark string `json:"transport_remark,omitempty"` } type ItemsJSON struct { @@ -67,7 +84,8 @@ func (a *API) CreateOrder(createOrderParam *CreateOrderParam) (err error) { } //order_cancel_reason_code 订单取消原因代码(1:用户取消,2:商家取消) -// order_cancel_code 订单取消编码(1:物流原因:订单长时间未分配骑手, +// order_cancel_code 订单取消编码( +// 1:物流原因:订单长时间未分配骑手, // 2:物流原因:分配骑手后,骑手长时间未取件 , // 3:物流原因:骑手告知不配送,让取消订单, // 4:商品缺货/无法出货/已售完, 5:商户联系不上门店/门店关门了, 6:商户发错单, @@ -87,3 +105,9 @@ func (a *API) CancelOrder(cancelOrderParam *CancelOrderParam) (err error) { _, err = a.AccessAPI("v2/order/cancel", TestURL, params, true) return err } + +func (a *API) ComplaintOrder(cancelOrderParam *CancelOrderParam) (err error) { + params := utils.Struct2FlatMap(cancelOrderParam) + _, err = a.AccessAPI("v2/order/complaint", TestURL, params, true) + return err +} diff --git a/platformapi/fnpsapi/store.go b/platformapi/fnpsapi/store.go index 10814664..9958a38c 100644 --- a/platformapi/fnpsapi/store.go +++ b/platformapi/fnpsapi/store.go @@ -22,3 +22,28 @@ func (a *API) CreateStore(createStoreParam *CreateStoreParam) (err error) { _, err = a.AccessAPI("v2/chain_store", TestURL, params, true) return err } + +type GetStoreResult struct { + ChainStoreCode string `json:"chain_store_code"` + ChainStoreName string `json:"chain_store_name"` + Address string `json:"address"` + Latitude string `json:"latitude"` + Longitude string `json:"longitude"` + PositionSource int `json:"position_source"` + City string `json:"city"` + ContactPhone string `json:"contact_phone"` + ServiceCode int `json:"service_code"` + Status int `json:"status"` //1关店,2开店 +} + +func (a *API) GetStore(storeID int) (getStoreResult *GetStoreResult, err error) { + result, err := a.AccessAPI("v2/chain_store/query", TestURL, map[string]interface{}{ + "chain_store_code": []string{utils.Int2Str(storeID)}, + }, true) + if err == nil { + var results []*GetStoreResult + utils.Map2StructByJson(result["data"], results, false) + getStoreResult = results[0] + } + return getStoreResult, err +}