This commit is contained in:
邹宗楠
2022-09-01 17:11:20 +08:00
parent 167de3cae6
commit fece483438
4 changed files with 100 additions and 11 deletions

View File

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

View File

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

View File

@@ -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 创建订单消息通知

View File

@@ -30,7 +30,6 @@ import (
// msg.Tag = params.Get("tag")
// msg.MsgId = params.Get("msgId")
//
//
// var tmpObj interface{}
// switch msg.Tag {
// case CmdOrderPartRefund: