From fece483438cf508bf8d08f74c76b2e0bdb118d25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 1 Sep 2022 17:11:20 +0800 Subject: [PATCH] 1 --- platformapi/mtpsapi/mtpsapi.go | 6 +- platformapi/tiktok_shop/tiktok_api/order.go | 96 ++++++++++++++++++- .../tiktok_shop/tiktok_api/order_type.go | 8 +- .../tiktok_shop/tiktok_api/order_utils.go | 1 - 4 files changed, 100 insertions(+), 11 deletions(-) diff --git a/platformapi/mtpsapi/mtpsapi.go b/platformapi/mtpsapi/mtpsapi.go index 76a8c92f..153cb56c 100644 --- a/platformapi/mtpsapi/mtpsapi.go +++ b/platformapi/mtpsapi/mtpsapi.go @@ -57,9 +57,13 @@ var ( const ( DeliveryServiceCodeSuperRapid = 4002 // 飞速达 - DeliveryServiceCodeRapid = 4011 // 快速达 + DeliveryServiceCodeRapid = 100004 // 快速达 DeliveryServiceCodeIntime = 100006 // 及时达 DeliveryServiceCodeTogether = 4013 // 集中送 + //DeliveryServiceCodeSuperRapid = 4002 // 飞速达 + //DeliveryServiceCodeRapid = 4011 // 快速达 + //DeliveryServiceCodeIntime = 100006 // 及时达 + //DeliveryServiceCodeTogether = 4013 // 集中送 ) const ( diff --git a/platformapi/tiktok_shop/tiktok_api/order.go b/platformapi/tiktok_shop/tiktok_api/order.go index fd43c055..c05c3c56 100644 --- a/platformapi/tiktok_shop/tiktok_api/order.go +++ b/platformapi/tiktok_shop/tiktok_api/order.go @@ -29,16 +29,102 @@ func (a *API) GetTiktokOrderDetail(orderId string) (*order_orderDetail_response. } // CreateOrderCallback 订单创建,抖店创建订单后,回调消息通知本服务器 -func (a *API) CreateOrderCallback(request *http.Request) (resp []*OrderCallback, callbackResponse *CallbackResponse) { - data, err := ioutil.ReadAll(request.Body) +func (a *API) CreateOrderCallback(request *http.Request) ([]*OrderCallback, *CallbackResponse) { + orderStatus, err := ioutil.ReadAll(request.Body) if err != nil { return nil, &CallbackResponse{Code: CallbackFailCode, Msg: CallbackFail} } - orderNotify := []*OrderCallback{} - if err := json.Unmarshal(data, &orderNotify); err != nil { + var resp []*OrderCallback + if err := json.Unmarshal(orderStatus, &resp); err != nil { baseapi.SugarLogger.Debugf("Tiktok Notify failed with err:%v", err) return nil, &CallbackResponse{Code: CallbackFailCode, Msg: CallbackFail} } - return orderNotify, &CallbackResponse{Code: CallbackSuccessCode, Msg: CallbackSuccess} + + for _, data := range resp { + switch data.Tag { + case CallbackCreatedOrderMsgTagId: // 创建订单 + create := CreateOrderData{} + if err := json.Unmarshal([]byte(data.Data), create); err != nil { + return nil, CallbackResponseErr(false) + } + data.Body[CallbackCreatedOrderMsgTagId] = append(data.Body[CallbackCreatedOrderMsgTagId], create) + case CallbackPayOrderMsgTagId: // 支付订单 + create := PayOrderData{} + if err = json.Unmarshal([]byte(data.Data), create); err != nil { + return nil, CallbackResponseErr(false) + } + data.Body[CallbackPayOrderMsgTagId] = append(data.Body[CallbackPayOrderMsgTagId], create) + case CallbackWaitOrderMsgTagId: // 支付订单待处理(风控审核) + create := WaitOrderData{} + if err = json.Unmarshal([]byte(data.Data), create); err != nil { + return nil, CallbackResponseErr(false) + } + data.Body[CallbackWaitOrderMsgTagId] = append(data.Body[CallbackWaitOrderMsgTagId], create) + case CallbackPartGoodsMsgTagId: // 卖家部分发货 + create := SomeSendOrderData{} + if err = json.Unmarshal([]byte(data.Data), create); err != nil { + return nil, CallbackResponseErr(false) + } + data.Body[CallbackPartGoodsMsgTagId] = append(data.Body[CallbackPartGoodsMsgTagId], create) + case CallbackPartAllGoodsMsgTagId: // 卖家发货 + create := BusinessDeliveryData{} + if err = json.Unmarshal([]byte(data.Data), create); err != nil { + return nil, CallbackResponseErr(false) + } + data.Body[CallbackPartAllGoodsMsgTagId] = append(data.Body[CallbackPartAllGoodsMsgTagId], create) + case CallbackCancelOrderMsgTagId: // 取消订单 + create := CancelOrderData{} + if err = json.Unmarshal([]byte(data.Data), create); err != nil { + return nil, CallbackResponseErr(false) + } + data.Body[CallbackCancelOrderMsgTagId] = append(data.Body[CallbackCancelOrderMsgTagId], create) + case CallbackSuccessOrderMsgTagId: // 卖家确认收货时,会自动完成 + create := SuccessOrderData{} + if err = json.Unmarshal([]byte(data.Data), create); err != nil { + return nil, CallbackResponseErr(false) + } + data.Body[CallbackSuccessOrderMsgTagId] = append(data.Body[CallbackSuccessOrderMsgTagId], create) + case CallbackWayBillChangeOrderMsgTagId: // 发货物流消息便跟 + create := WayBillChangeData{} + if err = json.Unmarshal([]byte(data.Data), create); err != nil { + return nil, CallbackResponseErr(false) + } + data.Body[CallbackWayBillChangeOrderMsgTagId] = append(data.Body[CallbackWayBillChangeOrderMsgTagId], create) + case CallbackReceivingChangeOrderMsgTagId: // 收货地址消息变更(商家审核通过触发) + create := ReceivingAddressChangeData{} + if err = json.Unmarshal([]byte(data.Data), create); err != nil { + return nil, CallbackResponseErr(false) + } + data.Body[CallbackReceivingChangeOrderMsgTagId] = append(data.Body[CallbackReceivingChangeOrderMsgTagId], create) + case CallbackChangeMoneyMsgTagId: // 卖家修改订单/运单金额回调 + create := UpdateAmountChangeData{} + if err = json.Unmarshal([]byte(data.Data), create); err != nil { + return nil, CallbackResponseErr(false) + } + data.Body[CallbackChangeMoneyMsgTagId] = append(data.Body[CallbackChangeMoneyMsgTagId], create) + case CallbackBusinessRemarkMsgTagId: // 买家收货消息变更(手机,地址,姓名),用户C端修改触发(需要上面审核接口) + create := BuyerUpdateWayBillData{} + if err = json.Unmarshal([]byte(data.Data), create); err != nil { + return nil, CallbackResponseErr(false) + } + data.Body[CallbackBusinessRemarkMsgTagId] = append(data.Body[CallbackBusinessRemarkMsgTagId], create) + case CallbackApplyUpdateAddressMsgTagId: // 商家修改交易备注回调 + create := BusinessUpdateRemakeData{} + if err = json.Unmarshal([]byte(data.Data), create); err != nil { + return nil, CallbackResponseErr(false) + } + data.Body[CallbackApplyUpdateAddressMsgTagId] = append(data.Body[CallbackApplyUpdateAddressMsgTagId], create) + case CallbackSendOrderTimeChangeMsgTagId: // 订单发货时消息变更回调 + create := AppointmentChangeData{} + if err = json.Unmarshal([]byte(data.Data), create); err != nil { + return nil, CallbackResponseErr(false) + } + data.Body[CallbackSendOrderTimeChangeMsgTagId] = append(data.Body[CallbackSendOrderTimeChangeMsgTagId], create) + default: + return nil, CallbackResponseErr(false) + } + } + + return resp, &CallbackResponse{Code: CallbackSuccessCode, Msg: CallbackSuccess} } diff --git a/platformapi/tiktok_shop/tiktok_api/order_type.go b/platformapi/tiktok_shop/tiktok_api/order_type.go index 996bc12e..068707f9 100644 --- a/platformapi/tiktok_shop/tiktok_api/order_type.go +++ b/platformapi/tiktok_shop/tiktok_api/order_type.go @@ -12,10 +12,10 @@ type PublicOrderCallback struct { } type OrderCallback struct { - Tag string `json:"tag"` // 消息种类,订单创建消息的tag值为"100" - MsgId string `json:"msgId"` //消息记录id - Data string `json:"data"` // 消息正文 - Body map[string]interface{} `json:"body"` + Tag string `json:"tag"` // 消息种类,订单创建消息的tag值为"100" + MsgId string `json:"msgId"` //消息记录id + Data string `json:"data"` // 消息正文 + Body map[string][]interface{} `json:"body"` } //#region 创建订单消息通知 diff --git a/platformapi/tiktok_shop/tiktok_api/order_utils.go b/platformapi/tiktok_shop/tiktok_api/order_utils.go index 24ed31b9..d5e15c50 100644 --- a/platformapi/tiktok_shop/tiktok_api/order_utils.go +++ b/platformapi/tiktok_shop/tiktok_api/order_utils.go @@ -30,7 +30,6 @@ import ( // msg.Tag = params.Get("tag") // msg.MsgId = params.Get("msgId") // -// // var tmpObj interface{} // switch msg.Tag { // case CmdOrderPartRefund: