275 lines
9.2 KiB
Go
275 lines
9.2 KiB
Go
package fnpsapi
|
||
|
||
//
|
||
//import (
|
||
// "encoding/json"
|
||
// "errors"
|
||
// "git.rosy.net.cn/baseapi/utils"
|
||
// "time"
|
||
//)
|
||
//
|
||
//const (
|
||
// OrderCancelReson0 = 0 // 0:其它(必填原因)必须填写原因
|
||
// OrderCancelReson1 = 1 // 1:物流原因:订单长时间未分配骑手
|
||
// OrderCancelReson4 = 4 // 4:商品缺货/无法出货/已售完,
|
||
// OrderCancelReson6 = 6 // 6:商户发错单,
|
||
// OrderCancelReson7 = 7 // 7:商户/顾客自身定位错误,
|
||
// OrderCancelReson8 = 8 // 8:商户改其他第三方配送,
|
||
// OrderCancelReson9 = 9 // 9:顾客下错单/临时不想要了,
|
||
// OrderCancelReson10 = 10 // 10:顾客自取/不在家/要求另改时间配送)(0类型已下线)
|
||
// OrderCancelReson32 = 32 // 32:订单信息填写错误
|
||
// OrderCancelReson36 = 36 // 36:重复下单了
|
||
// OrderCancelReson2 = 2 // 2:物流原因:分配骑手后,骑手长时间未取件(类型已下线)
|
||
// OrderCancelReson3 = 3 // 3:物流原因:骑手告知不配送,让取消订单(类型已下线)
|
||
// OrderCancelReson5 = 5 // 5:商户联系不上门店/门店关门了(类型已下线)
|
||
//
|
||
// OrderStatusAcceptCreate = 0 //订单生成
|
||
// OrderStatusAcceptCacle = 4 //订单取消
|
||
// OrderStatusAccept = 1 //系统已接单
|
||
// OrderStatusAssigned = 20 //已分配骑手
|
||
// OrderStatusArrived = 80 //已到店
|
||
// OrderStatusDelivering = 2 //配送中
|
||
// OrderStatusDelivered = 3 //已送达
|
||
// OrderStatusException = 5 //异常
|
||
//)
|
||
//
|
||
//// 蜂鸟预下单
|
||
//func (a *API) PreCreateByShopFn(basicParams *PreCreateOrder) (deliveryFee, baseDeliveryFee int64, err error) {
|
||
// preOrder := a.MakeFnRequestHead()
|
||
// bytes, err := json.Marshal(basicParams)
|
||
// if err != nil {
|
||
// return 0, 0, err
|
||
// }
|
||
// preOrder["business_data"] = string(bytes)
|
||
// result, err := a.AccessAPI(ApiURL, "preCreateOrder", RequestPost, preOrder)
|
||
// if err != nil {
|
||
// return 0, 0, err
|
||
// }
|
||
//
|
||
// preOrderResult := PreCreateOrderResp{}
|
||
// if err := json.Unmarshal([]byte(result["business_data"].(string)), &preOrderResult); err != nil {
|
||
// return 0, 0, err
|
||
// }
|
||
//
|
||
// // 返回所有可选的商品列表,每项包含当前使用该商品下单时对应的价格等信息,(其中不可用的商品会返回不可用原因) 可挑选其中一个可用的商品进行正式下单。
|
||
// var deliveryFeeFn int64
|
||
// var baseDeliveryFeeFn int64
|
||
// for _, v := range preOrderResult.GoodsInfos {
|
||
// if v.IsValid != 1 {
|
||
// continue
|
||
// }
|
||
// deliveryFeeFn = v.ActualDeliveryAmountCent
|
||
// baseDeliveryFeeFn = v.TotalDeliveryAmountCent
|
||
// }
|
||
//
|
||
// // 异常检测
|
||
// if deliveryFeeFn == 0 && baseDeliveryFeeFn == 0 {
|
||
// return 0, 0, errors.New(preOrderResult.GoodsInfos[0].DisableReason)
|
||
// }
|
||
// return deliveryFeeFn, baseDeliveryFeeFn, nil
|
||
//}
|
||
//
|
||
//// 蜂鸟正式下单
|
||
//func (a *API) CreateOrder(createOrderParam *CreateOrderReqParam) (result string, err error) {
|
||
// orderHead := a.MakeFnRequestHead()
|
||
// bytes, err := json.Marshal(createOrderParam)
|
||
// if err != nil {
|
||
// return "", err
|
||
// }
|
||
// orderHead["business_data"] = string(bytes)
|
||
// resultData, err := a.AccessAPI(ApiURL, "createOrder", RequestPost, orderHead)
|
||
// if orderId, ok := resultData["business_data"]; ok {
|
||
// res := &CreateOrderRes{}
|
||
// if err := json.Unmarshal([]byte(utils.Interface2String(orderId)), res); err != nil {
|
||
// return "", err
|
||
// }
|
||
// return utils.Int64ToStr(res.OrderId), nil
|
||
// }
|
||
// return "", err
|
||
//}
|
||
//
|
||
//// addTip 加小费接口
|
||
//func (a *API) AddTip(req *AddTipRes) (err error) {
|
||
// if req.PartnerOrderCode == "" && req.OrderId == "" {
|
||
// return errors.New("内部订单号或者外部订单号比填写一个")
|
||
// }
|
||
//
|
||
// orderHead := a.MakeFnRequestHead()
|
||
// addTipString, err := json.Marshal(req)
|
||
// if err != nil {
|
||
// return err
|
||
// }
|
||
//
|
||
// orderHead["businessData"] = string(addTipString)
|
||
// if _, err = a.AccessAPI(ApiURL, "addTip", RequestPost, orderHead); err != nil {
|
||
// return err
|
||
// }
|
||
// return nil
|
||
//}
|
||
//
|
||
//// getCancelReasonList 获取可用取消原因列表(暂油前端写死)
|
||
//func (a *API) GetCancelReasonList(req *GetOrderDetailReq) (result *GetCancelReasonListRes, err error) {
|
||
// if req.PartnerOrderCode == "" && req.OrderId == "" {
|
||
// return nil, errors.New("内部订单号或者外部订单号比填写一个")
|
||
// }
|
||
//
|
||
// a.timestamp = time.Now().Unix() * 1000
|
||
// orderHead := a.MakeFnRequestHead()
|
||
// business, err := json.Marshal(req)
|
||
// if err != nil {
|
||
// return nil, err
|
||
// }
|
||
// orderHead["businessData"] = string(business)
|
||
// data, err := a.AccessAPI(ApiURL, "getCancelReasonList", RequestPost, orderHead)
|
||
// if err != nil {
|
||
// return nil, err
|
||
// }
|
||
//
|
||
// cancel := make(map[string]*GetCancelReasonListRes, 0)
|
||
// if k, ok := data["business_data"]; ok {
|
||
// if err := json.Unmarshal([]byte(utils.Interface2String(k)), cancel); err != nil {
|
||
// return nil, err
|
||
// }
|
||
// }
|
||
// return cancel["cancel_reason_list"], nil
|
||
//}
|
||
//
|
||
//// preCancelOrder 预取消订单接口,获取取消订单需要扣除的金额
|
||
//func (a *API) PreCancelOrder(req *PreCancelOrderReq) (actualCancelCostCent int64, err error) {
|
||
// if req.PartnerOrderCode == "" && req.OrderId == "" {
|
||
// return 0, errors.New("内部订单号或者外部订单号比填写一个")
|
||
// }
|
||
// orderHead := a.MakeFnRequestHead()
|
||
// business, err := json.Marshal(req)
|
||
// if err != nil {
|
||
// return 0, err
|
||
// }
|
||
// orderHead["businessData"] = string(business)
|
||
//
|
||
// data, err := a.AccessAPI(ApiURL, "preCancelOrder", RequestPost, orderHead)
|
||
// if err != nil {
|
||
// return 0, err
|
||
// }
|
||
//
|
||
// if k, ok := data["businessData"]; ok {
|
||
// return utils.MustInterface2Int64(k), nil
|
||
// }
|
||
// return
|
||
//}
|
||
//
|
||
//// cancelOrder 取消订单
|
||
//func (a *API) CancelOrder(req *CancelOrderReq) (err error) {
|
||
// if req.PartnerOrderCode == "" && req.OrderId == "" {
|
||
// return errors.New("内部订单号或者外部订单号比填写一个")
|
||
// }
|
||
// if req.OrderCancelCode == 0 && req.OrderCancelOtherReason == "" {
|
||
// req.OrderCancelOtherReason = "暂时不想要了"
|
||
// }
|
||
//
|
||
// orderHead := a.MakeFnRequestHead()
|
||
// business, err := json.Marshal(req)
|
||
// if err != nil {
|
||
// return err
|
||
// }
|
||
// orderHead["business_data"] = string(business)
|
||
//
|
||
// if _, err := a.AccessAPI(ApiURL, "cancelOrder", RequestPost, orderHead); err != nil {
|
||
// return err
|
||
// }
|
||
//
|
||
// return
|
||
//}
|
||
//
|
||
//// 查询订单详情接口
|
||
//func (a *API) QueryOrder(partnerOrderCode string) (result *GetOrderDetailRes, err error) {
|
||
// orderHead := a.MakeFnRequestHead()
|
||
// bytes, err := json.Marshal(&GetOrderDetailReq{PartnerOrderCode: partnerOrderCode})
|
||
// if err != nil {
|
||
// return nil, err
|
||
// }
|
||
//
|
||
// orderHead["business_data"] = string(bytes)
|
||
// data, err := a.AccessAPI(ApiURL, "getOrderDetail", RequestPost, orderHead)
|
||
// if err != nil {
|
||
// return nil, err
|
||
// }
|
||
//
|
||
// fnResult := &GetOrderDetailRes{}
|
||
// if err := json.Unmarshal([]byte(data["business_data"].(string)), &fnResult); err != nil {
|
||
// return nil, err
|
||
// }
|
||
// return fnResult, nil
|
||
//}
|
||
//
|
||
//// 查询骑手信息
|
||
//func (a *API) GetKnightInfo(req *GetOrderDetailReq) (result *GetKnightInfoRes, err error) {
|
||
// if req.PartnerOrderCode == "" && req.OrderId == "" {
|
||
// return nil, errors.New("内部订单号或者外部订单号比填写一个")
|
||
// }
|
||
//
|
||
// orderHead := a.MakeFnRequestHead()
|
||
// bytes, err := json.Marshal(req)
|
||
// if err != nil {
|
||
// return nil, err
|
||
// }
|
||
// orderHead["business_data"] = string(bytes)
|
||
//
|
||
// data, err := a.AccessAPI(ApiURL, "getKnightInfo", RequestPost, orderHead)
|
||
// if err != nil {
|
||
// return nil, err
|
||
// }
|
||
//
|
||
// fnResult := &GetKnightInfoRes{}
|
||
// if err := json.Unmarshal([]byte(utils.Interface2String(data["business_data"])), &fnResult); err != nil {
|
||
// return nil, err
|
||
// }
|
||
// return fnResult, nil
|
||
//}
|
||
//
|
||
//// 余额查询
|
||
//func (a *API) GetAmount() (outAmount map[string]interface{}, err error) {
|
||
// orderHead := a.MakeFnRequestHead()
|
||
// result, err := a.AccessAPI(ApiURL, "getAmount", RequestPost, orderHead)
|
||
// if err != nil {
|
||
// return nil, err
|
||
// }
|
||
// return result, err
|
||
//}
|
||
//
|
||
////order_cancel_reason_code 订单取消原因代码(1:用户取消,2:商家取消)
|
||
//// order_cancel_code 订单取消编码(
|
||
//// 1:物流原因:订单长时间未分配骑手,
|
||
//// 2:物流原因:分配骑手后,骑手长时间未取件 ,
|
||
//// 3:物流原因:骑手告知不配送,让取消订单,
|
||
//// 4:商品缺货/无法出货/已售完, 5:商户联系不上门店/门店关门了, 6:商户发错单,
|
||
//// 7:商户/顾客自身定位错误, 8:商户改其他第三方配送, 9:顾客下错单/临时不想要了,
|
||
//// 10:顾客自取/不在家/要求另改时间配送)(0类型已下线)
|
||
//func (a *API) ComplaintOrder(req *ComplaintOrderReq) (err error) {
|
||
// if req.PartnerOrderCode == "" && req.OrderId == "" {
|
||
// return errors.New("内部订单号或者外部订单号比填写一个")
|
||
// }
|
||
// orderHead := a.MakeFnRequestHead()
|
||
// bytes, err := json.Marshal(req)
|
||
// if err != nil {
|
||
// return err
|
||
// }
|
||
// orderHead["businessData"] = string(bytes)
|
||
// _, err = a.AccessAPI(ApiURL, "cancelOrder", RequestPost, orderHead)
|
||
// return err
|
||
//}
|
||
//
|
||
//func (a *API) ComplaintRider(partnerOrderCode string, orderComplaintCode int) (err error) {
|
||
// orderHead := a.MakeFnRequestHead()
|
||
//
|
||
// bytes, err := json.Marshal(map[string]interface{}{
|
||
// "partner_order_code": partnerOrderCode,
|
||
// "order_complaint_code": orderComplaintCode,
|
||
// })
|
||
// if err != nil {
|
||
// return err
|
||
// }
|
||
// orderHead["businessData"] = string(bytes)
|
||
// _, err = a.AccessAPI(ApiURL, "cancelOrder", RequestPost, orderHead)
|
||
// return err
|
||
//}
|