This commit is contained in:
邹宗楠
2022-11-17 10:33:25 +08:00
parent 31d81e0f9a
commit 46ab7d9486

View File

@@ -336,170 +336,148 @@ func (a *API) OrderDelivering(param *order_logisticsAdd_request.OrderLogisticsAd
}
// CreateOrderCallback 订单创建,抖店创建订单后,回调消息通知本服务器
func (a *API) CreateOrderCallback(orderStatus []byte) (map[string][]interface{}, map[int64]bool, *CallbackResponse) {
func (a *API) CreateOrderCallback(orderStatus []byte) (map[string][]interface{}, *CallbackResponse) {
var resp []*OrderCallback
if err := json.Unmarshal(orderStatus, &resp); err != nil {
return nil, nil, &CallbackResponse{Code: CallbackFailCode, Msg: CallbackFail}
return nil, &CallbackResponse{Code: CallbackFailCode, Msg: CallbackFail}
}
callbackResult := make(map[string][]interface{}, 0)
storeIdMap := make(map[int64]bool, 0)
for _, data := range resp {
switch data.Tag {
case CallbackCreatedOrderMsgTagId: // 创建订单
create := CreateOrderData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackCreatedOrderMsgTagId] = append(callbackResult[CallbackCreatedOrderMsgTagId], create)
storeIdMap[create.ShopId] = true
case CallbackPayOrderMsgTagId: // 支付订单
create := PayOrderData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackPayOrderMsgTagId] = append(callbackResult[CallbackPayOrderMsgTagId], create)
storeIdMap[create.ShopId] = true
case CallbackWaitOrderMsgTagId: // 支付订单待处理(风控审核)
create := WaitOrderData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackWaitOrderMsgTagId] = append(callbackResult[CallbackWaitOrderMsgTagId], create)
storeIdMap[create.ShopId] = true
case CallbackPartGoodsMsgTagId: // 卖家部分发货
create := SomeSendOrderData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackPartGoodsMsgTagId] = append(callbackResult[CallbackPartGoodsMsgTagId], create)
storeIdMap[create.ShopId] = true
case CallbackPartAllGoodsMsgTagId: // 卖家发货
create := BusinessDeliveryData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackPartAllGoodsMsgTagId] = append(callbackResult[CallbackPartAllGoodsMsgTagId], create)
storeIdMap[create.ShopId] = true
case CallbackCancelOrderMsgTagId: // 取消订单
create := CreateOrderData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackCancelOrderMsgTagId] = append(callbackResult[CallbackCancelOrderMsgTagId], create)
storeIdMap[create.ShopId] = true
case CallbackSuccessOrderMsgTagId: // 卖家确认收货时,会自动完成
create := SuccessOrderData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackSuccessOrderMsgTagId] = append(callbackResult[CallbackSuccessOrderMsgTagId], create)
storeIdMap[create.ShopId] = true
case CallbackWayBillChangeOrderMsgTagId: // 发货物流消息便跟
create := WayBillChangeData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackWayBillChangeOrderMsgTagId] = append(callbackResult[CallbackWayBillChangeOrderMsgTagId], create)
storeIdMap[create.ShopId] = true
case CallbackReceivingChangeOrderMsgTagId: // 收货地址消息变更(商家审核通过触发)
create := ReceivingAddressChangeData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackReceivingChangeOrderMsgTagId] = append(callbackResult[CallbackReceivingChangeOrderMsgTagId], create)
storeIdMap[create.ShopId] = true
case CallbackChangeMoneyMsgTagId: // 卖家修改订单/运单金额回调
create := UpdateAmountChangeData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackChangeMoneyMsgTagId] = append(callbackResult[CallbackChangeMoneyMsgTagId], create)
storeIdMap[create.ShopId] = true
case CallbackBusinessRemarkMsgTagId: // 买家收货消息变更(手机,地址,姓名),用户C端修改触发(需要上面审核接口)
create := BuyerUpdateWayBillData{}
if err := json.Unmarshal([]byte(data.Data), create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackBusinessRemarkMsgTagId] = append(callbackResult[CallbackBusinessRemarkMsgTagId], create)
storeIdMap[create.ShopId] = true
case CallbackApplyUpdateAddressMsgTagId: // 商家修改交易备注回调
create := BusinessUpdateRemakeData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackApplyUpdateAddressMsgTagId] = append(callbackResult[CallbackApplyUpdateAddressMsgTagId], create)
storeIdMap[create.ShopId] = true
case CallbackSendOrderTimeChangeMsgTagId: // 订单发货时消息变更回调
create := AppointmentChangeData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackSendOrderTimeChangeMsgTagId] = append(callbackResult[CallbackSendOrderTimeChangeMsgTagId], create)
storeIdMap[create.ShopId] = true
/*********下面属于订单退货消息************/
case CallbackRefundOrderMsgTagId: // 买家发起售后申请消息
create := BuyerRefundCreatedData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackRefundOrderMsgTagId] = append(callbackResult[CallbackRefundOrderMsgTagId], create)
storeIdMap[int64(create.ShopId)] = true
case CallbackUpdateRefundOrderMsgTagId: // 买家修改售后申请消息
create := BuyerRefundModifiedData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackUpdateRefundOrderMsgTagId] = append(callbackResult[CallbackUpdateRefundOrderMsgTagId], create)
storeIdMap[int64(create.ShopId)] = true
case CallbackRefundOrderSuccessMsgTagId: // 退款成功消息
create := BusinessRefundSuccessData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackRefundOrderSuccessMsgTagId] = append(callbackResult[CallbackRefundOrderSuccessMsgTagId], create)
storeIdMap[int64(create.ShopId)] = true
case CallbackRefundOrderRefuseMsgTagId: // 拒绝退款消息
create := BusinessNotRefundRefusedData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackRefundOrderRefuseMsgTagId] = append(callbackResult[CallbackRefundOrderRefuseMsgTagId], create)
storeIdMap[int64(create.ShopId)] = true
case CallbackRefundShopMsgTagId: // 拒绝退货申请消息
create := BusinessNotReturnApplyRefusedData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackRefundShopMsgTagId] = append(callbackResult[CallbackRefundShopMsgTagId], create)
storeIdMap[int64(create.ShopId)] = true
case CallbackReturnApplyAgreedMsgTagId: // 卖家同意时,推送此消息
create := BusinessReturnApplyAgreedData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackReturnApplyAgreedMsgTagId] = append(callbackResult[CallbackReturnApplyAgreedMsgTagId], create)
storeIdMap[int64(create.ShopId)] = true
case CallbackReturnRefundAgreedMsgTagId: // 同意退款消息
create := BusinessRefundAgreedData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackReturnRefundAgreedMsgTagId] = append(callbackResult[CallbackReturnRefundAgreedMsgTagId], create)
storeIdMap[int64(create.ShopId)] = true
case CallbackRefundClosedMsgTagId:
create := UserCancelRefundOrderData{}
if err := json.Unmarshal([]byte(data.Data), &create); err != nil {
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
callbackResult[CallbackRefundClosedMsgTagId] = append(callbackResult[CallbackRefundClosedMsgTagId], create)
storeIdMap[int64(create.ShopId)] = true
default:
return nil, nil, CallbackResponseErr(false)
return nil, CallbackResponseErr(false)
}
}
return callbackResult, storeIdMap, &CallbackResponse{Code: CallbackSuccessCode, Msg: CallbackSuccess}
return callbackResult, &CallbackResponse{Code: CallbackSuccessCode, Msg: CallbackSuccess}
}
// GetCallbackOrderId 获取回调函数订单id