Files
baseapi/platformapi/sfps/order.go
2022-04-14 17:02:41 +08:00

275 lines
9.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 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
//}