diff --git a/platformapi/tiktok_shop/tiktok_api/order.go b/platformapi/tiktok_shop/tiktok_api/order.go index 445fd1fb..a2c602a0 100644 --- a/platformapi/tiktok_shop/tiktok_api/order.go +++ b/platformapi/tiktok_shop/tiktok_api/order.go @@ -336,148 +336,170 @@ func (a *API) OrderDelivering(param *order_logisticsAdd_request.OrderLogisticsAd } // CreateOrderCallback 订单创建,抖店创建订单后,回调消息通知本服务器 -func (a *API) CreateOrderCallback(orderStatus []byte) (map[string][]interface{}, *CallbackResponse) { +func (a *API) CreateOrderCallback(orderStatus []byte) (map[string][]interface{}, map[int64]bool, *CallbackResponse) { var resp []*OrderCallback if err := json.Unmarshal(orderStatus, &resp); err != nil { - return nil, &CallbackResponse{Code: CallbackFailCode, Msg: CallbackFail} + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, 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, CallbackResponseErr(false) + return nil, nil, CallbackResponseErr(false) } callbackResult[CallbackRefundClosedMsgTagId] = append(callbackResult[CallbackRefundClosedMsgTagId], create) + storeIdMap[int64(create.ShopId)] = true default: - return nil, CallbackResponseErr(false) + return nil, nil, CallbackResponseErr(false) } } - return callbackResult, &CallbackResponse{Code: CallbackSuccessCode, Msg: CallbackSuccess} + return callbackResult, storeIdMap, &CallbackResponse{Code: CallbackSuccessCode, Msg: CallbackSuccess} } // GetCallbackOrderId 获取回调函数订单id