This commit is contained in:
苏尹岚
2020-12-08 18:27:00 +08:00
parent 2ab9cc97c2
commit 1c6a3e1479
2 changed files with 92 additions and 43 deletions

View File

@@ -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
}

View File

@@ -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
}