1
This commit is contained in:
@@ -58,7 +58,7 @@ func (c *PurchaseHandler) isAfsMsg(msg *mtwmapi.CallbackMsg) bool {
|
||||
func (c *PurchaseHandler) OnAfsOrderMsg(msg *mtwmapi.CallbackMsg) (retVal *mtwmapi.CallbackResponse) {
|
||||
jxutils.CallMsgHandlerAsync(func() {
|
||||
retVal = c.onAfsOrderMsg(msg)
|
||||
}, jxutils.ComposeUniversalOrderID(GetOrderIDFromMsg(msg), model.VendorIDEBAI))
|
||||
}, jxutils.ComposeUniversalOrderID(GetOrderIDFromMsg(msg), model.VendorIDMTWM))
|
||||
return retVal
|
||||
}
|
||||
|
||||
|
||||
@@ -166,7 +166,7 @@ func (p *PurchaseHandler) OrderDetail2Financial(result *order_orderDetail_respon
|
||||
VendorStoreID: x.StoreInfo.StoreId,
|
||||
StoreID: 0,
|
||||
JxStoreID: jxStoreID,
|
||||
VendorSkuID: utils.Interface2String(x.SkuId),
|
||||
VendorSkuID: utils.Int64ToStr(utils.MustInterface2Int64(x.SkuId)),
|
||||
SkuID: int(utils.Str2Int64WithDefault(x.OutSkuId, 0)),
|
||||
Name: utils.Interface2String(x.ProductName),
|
||||
SalePrice: x.OrderAmount / x.ItemNum,
|
||||
|
||||
@@ -40,8 +40,8 @@ var (
|
||||
var (
|
||||
VendorStatus2StatusMap = map[string]int{
|
||||
utils.Int2Str(tiktokShop.CreateOrderStatusWaitPay): model.OrderStatusWait4Pay, // 1待支付
|
||||
utils.Int2Str(tiktokShop.CreateOrderStatusStockUp): model.OrderStatusAccepted, // 2备货中
|
||||
utils.Int2Str(tiktokShop.CreateOrderStatusDelivery): model.OrderStatusDelivering, // 3发货
|
||||
utils.Int2Str(tiktokShop.CreateOrderStatusStockUp): model.OrderStatusDelivering, // 2备货中(部分发货)
|
||||
utils.Int2Str(tiktokShop.CreateOrderStatusDelivery): model.OrderStatusDelivering, // 3发货(发货完成)
|
||||
utils.Int2Str(tiktokShop.CreateOrderStatusCancel): model.OrderStatusCanceled, // 4取消
|
||||
utils.Int2Str(tiktokShop.CreateOrderStatusOver): model.OrderStatusFinished, // 5完成
|
||||
utils.Int2Str(tiktokShop.CreateOrderStatusBeginRefund): model.OrderStatusApplyCancel, // 21发货前退款完成
|
||||
@@ -79,6 +79,7 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID s
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
globals.SugarLogger.Debugf("======orderDetail:%s", utils.Format4Output(result, false))
|
||||
orderMap = result
|
||||
order = &model.GoodsOrder{
|
||||
VendorOrderID: result.OrderId,
|
||||
@@ -99,7 +100,7 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID s
|
||||
StatusTime: getTimeFromTimestamp(result.CreateTime),
|
||||
OrderCreatedAt: getTimeFromTimestamp(result.CreateTime),
|
||||
OriginalData: string(utils.MustMarshal(result)),
|
||||
ActualPayPrice: jxutils.StandardPrice2Int(utils.MustInterface2Float64(result.PayAmount)),
|
||||
ActualPayPrice: result.PayAmount,
|
||||
BaseFreightMoney: result.PostAmount,
|
||||
InvoiceTitle: "",
|
||||
InvoiceTaxerID: "",
|
||||
@@ -123,7 +124,9 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID s
|
||||
order.BusinessType = model.BusinessTypeDingshida
|
||||
}
|
||||
|
||||
order.VendorUserID = result.UserIdInfo.IdCardNo
|
||||
if result.UserIdInfo != nil {
|
||||
order.VendorUserID = result.UserIdInfo.IdCardNo
|
||||
}
|
||||
originalLng := utils.MustInterface2Float64(result.UserCoordinate.UserCoordinateLongitude)
|
||||
originalLat := utils.MustInterface2Float64(result.UserCoordinate.UserCoordinateLatitude)
|
||||
order.ConsigneeLng = jxutils.StandardCoordinate2Int(originalLng)
|
||||
@@ -222,7 +225,8 @@ func (c *PurchaseHandler) onOrderMsg(msgId, orderId string, msg interface{}) (re
|
||||
var err error
|
||||
// 处理售后单
|
||||
if c.isAfsMsg(msgId) {
|
||||
return c.OnAfsOrderMsg(msgId, orderId, msg)
|
||||
response = c.OnAfsOrderMsg(msgId, orderId, msg)
|
||||
return response
|
||||
}
|
||||
|
||||
// 待支付订单将不做处理/支付订单待处理(抖音风控)
|
||||
@@ -247,15 +251,15 @@ func (c *PurchaseHandler) onOrderMsg(msgId, orderId string, msg interface{}) (re
|
||||
return tiktokShop.Err2CallbackResponse(nil, "")
|
||||
}
|
||||
|
||||
// 已经支付的订单,当做新订单创建在平台内部
|
||||
// 已经支付的订单,当做新订单创建在平台内部 -----------------
|
||||
if msgId == tiktokShop.CallbackPayOrderMsgTagId {
|
||||
order, err := c.GetOrder(utils.Int64ToStr(appOrgCode), orderId, "") // 获取平台订单详情,制作本地订单
|
||||
if err != nil {
|
||||
return tiktokShop.Err2CallbackResponse(err, "")
|
||||
}
|
||||
|
||||
status2, _ := c.callbackMsg2Status(msgId, orderId, msg)
|
||||
if err := partner.CurOrderManager.OnOrderNew(order, status2); err != nil {
|
||||
//status2, _ := c.callbackMsg2Status(msgId, orderId, msg)
|
||||
if err := partner.CurOrderManager.OnOrderNew(order, status); err != nil {
|
||||
return tiktokShop.Err2CallbackResponse(err, "")
|
||||
}
|
||||
|
||||
@@ -332,23 +336,23 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
||||
orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
|
||||
orderStatus.Remark = "101-支付回调"
|
||||
shopId = orderMsg.ShopId
|
||||
case tiktokShop.CallbackWaitOrderMsgTagId:
|
||||
return nil, 0 // 支付订单风控消息不处理
|
||||
//orderMsg := msg.(*tiktokShop.WaitOrderData)
|
||||
//orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
||||
//orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
||||
//orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.PayTime)
|
||||
//orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
|
||||
//orderStatus.Remark = "110-订单支付待处理:风控"
|
||||
//case tiktokShop.CallbackWaitOrderMsgTagId:
|
||||
// return nil, 0 // 支付订单风控消息不处理
|
||||
//orderMsg := msg.(*tiktokShop.WaitOrderData)
|
||||
//orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
||||
//orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
||||
//orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.PayTime)
|
||||
//orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
|
||||
//orderStatus.Remark = "110-订单支付待处理:风控"
|
||||
case tiktokShop.CallbackPartGoodsMsgTagId:
|
||||
orderMsg := tiktokShop.SomeSendOrderData{}
|
||||
if err := utils.Map2StructByJson(msg, &orderMsg, false); err != nil {
|
||||
return nil, 0
|
||||
}
|
||||
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
||||
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
||||
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus) // 2
|
||||
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime)
|
||||
orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
|
||||
orderStatus.Status = model.OrderStatusAdjust // vendorStatusToLocalStatus(orderMsg.OrderStatus)
|
||||
orderStatus.Remark = "108-卖家部分发货"
|
||||
shopId = orderMsg.ShopId
|
||||
case tiktokShop.CallbackPartAllGoodsMsgTagId:
|
||||
@@ -357,9 +361,9 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
||||
return nil, 0
|
||||
}
|
||||
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
||||
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
||||
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus) // 3
|
||||
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime)
|
||||
orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
|
||||
orderStatus.Status = model.OrderStatusAdjust // vendorStatusToLocalStatus(orderMsg.OrderStatus)
|
||||
orderStatus.Remark = "102-卖家发货完成"
|
||||
shopId = orderMsg.ShopId
|
||||
case tiktokShop.CallbackCancelOrderMsgTagId:
|
||||
@@ -373,7 +377,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
||||
orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
|
||||
orderStatus.Remark = "106-取消订单"
|
||||
shopId = orderMsg.ShopId
|
||||
case tiktokShop.CallbackSuccessOrderMsgTagId:
|
||||
case tiktokShop.CallbackSuccessOrderMsgTagId: // 交易完成
|
||||
orderMsg := tiktokShop.SuccessOrderData{}
|
||||
if err := utils.Map2StructByJson(msg, &orderMsg, false); err != nil {
|
||||
return nil, 0
|
||||
@@ -382,7 +386,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
||||
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
||||
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.CompleteTime)
|
||||
orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
|
||||
orderStatus.Remark = "103-确认收货"
|
||||
orderStatus.Remark = "103-确认收货/交易完成"
|
||||
shopId = orderMsg.ShopId
|
||||
case tiktokShop.CallbackWayBillChangeOrderMsgTagId:
|
||||
orderMsg := tiktokShop.WayBillChangeData{}
|
||||
@@ -450,7 +454,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
||||
orderStatus.Status = model.OrderStatusUnknown
|
||||
orderStatus.Remark = "126-预约发货:"
|
||||
shopId = orderMsg.ShopId
|
||||
case fakeFinishedPickup: // 应为需要同步京东,美团拣货功能制作的假拣货,抖音不存在拣货
|
||||
case tiktokShop.CallbackWaitOrderMsgTagId: // 应为需要同步京东,美团拣货功能制作的假拣货,抖音不存在拣货
|
||||
orderMsg := tiktokShop.FakePickUpGoodsData{}
|
||||
if err := utils.Map2StructByJson(msg, &orderMsg, false); err != nil {
|
||||
return nil, 0
|
||||
|
||||
@@ -4,12 +4,10 @@ import (
|
||||
"fmt"
|
||||
tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@@ -41,9 +39,10 @@ func (c *PurchaseHandler) isAfsMsg(msg string) bool {
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) OnAfsOrderMsg(msgId, orderId string, msg interface{}) (retVal *tiktokShop.CallbackResponse) {
|
||||
jxutils.CallMsgHandlerAsync(func() {
|
||||
retVal = c.onAfsOrderMsg(msgId, msg)
|
||||
}, jxutils.ComposeUniversalOrderID(orderId, model.VendorIDDD))
|
||||
//jxutils.CallMsgHandlerAsync(func() {
|
||||
retVal = c.onAfsOrderMsg(msgId, msg)
|
||||
globals.SugarLogger.Debugf("============%s===", utils.Format4Output(retVal, false))
|
||||
//}, jxutils.ComposeUniversalOrderID(orderId, model.VendorIDDD))
|
||||
return retVal
|
||||
}
|
||||
|
||||
@@ -79,7 +78,7 @@ func (c *PurchaseHandler) onAfsOrderMsg(msgId string, msg interface{}) (retVal *
|
||||
VendorID: model.VendorIDDD,
|
||||
AfsOrderID: orderStatus.VendorOrderID,
|
||||
VendorOrderID: orderStatus.RefVendorOrderID,
|
||||
VendorStoreID: "",
|
||||
VendorStoreID: tiktokAfsOrderDetail.Data.ProcessInfo.AfterSaleInfo.StoreId,
|
||||
StoreID: 0,
|
||||
AfsCreatedAt: orderStatus.StatusTime,
|
||||
|
||||
@@ -90,7 +89,7 @@ func (c *PurchaseHandler) onAfsOrderMsg(msgId string, msg interface{}) (retVal *
|
||||
ReasonDesc: tiktokAfsOrderDetail.Data.ProcessInfo.AfterSaleInfo.ReasonRemark,
|
||||
ReasonImgList: utils.LimitUTF8StringLen(strings.Join(tiktokAfsOrderDetail.Data.ProcessInfo.AfterSaleInfo.Evidence, ","), 1024),
|
||||
RefundType: model.AfsTypeUnknown,
|
||||
VendorOrgCode: api.TiktokStore.GetAppId(),
|
||||
VendorOrgCode: utils.Int2Str(venderOrgCode),
|
||||
}
|
||||
afsOrder.FreightUserMoney = tiktokAfsOrderDetail.Data.ProcessInfo.AfterSaleInfo.RefundPostAmount
|
||||
afsOrder.AfsFreightMoney = 0 // 暂时未发现退货取件费用
|
||||
@@ -152,6 +151,7 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
||||
orderMsg.VendorOrderID = orderMsg.RefVendorOrderID
|
||||
}
|
||||
vendorOrgCode = refundOrder.ShopId
|
||||
orderStatus = orderMsg
|
||||
case tiktokShop.CallbackUpdateRefundOrderMsgTagId: // 买家修改售后申请消息
|
||||
refundOrder := msg.(*tiktokShop.BuyerRefundModifiedData)
|
||||
orderMsg := &model.OrderStatus{
|
||||
@@ -175,7 +175,7 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
||||
orderMsg.VendorOrderID = orderMsg.RefVendorOrderID
|
||||
}
|
||||
vendorOrgCode = refundOrder.ShopId
|
||||
|
||||
orderStatus = orderMsg
|
||||
case tiktokShop.CallbackRefundOrderSuccessMsgTagId: // 退款成功消息
|
||||
refundOrder := msg.(*tiktokShop.BusinessRefundSuccessData)
|
||||
orderMsg := &model.OrderStatus{
|
||||
@@ -198,9 +198,9 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
||||
orderMsg.VendorOrderID = orderMsg.RefVendorOrderID
|
||||
}
|
||||
vendorOrgCode = refundOrder.ShopId
|
||||
|
||||
orderStatus = orderMsg
|
||||
case tiktokShop.CallbackRefundOrderRefuseMsgTagId: // 拒绝退款消息
|
||||
refundOrder := msg.(*tiktokShop.BusinessRefundSuccessData)
|
||||
refundOrder := msg.(*tiktokShop.BusinessNotRefundRefusedData)
|
||||
orderMsg := &model.OrderStatus{
|
||||
VendorID: model.VendorIDDD,
|
||||
OrderType: model.OrderTypeAfsOrder,
|
||||
@@ -208,7 +208,7 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
||||
RefVendorID: model.VendorIDDD,
|
||||
VendorStatus: fmt.Sprintf("%s:%s", "order", "refund_money_fail"),
|
||||
Status: c.GetAfsStatusFromVendorStatus(refundOrder.AftersaleType, tiktokShop.CallbackUpdateRefundOrderMsgTagId),
|
||||
StatusTime: utils.Timestamp2Time(int64(refundOrder.SuccessTime)),
|
||||
StatusTime: utils.Timestamp2Time(int64(refundOrder.RefuseTime)),
|
||||
}
|
||||
if k, ok := ReasonCodeMap[refundOrder.ReasonCode]; ok {
|
||||
orderMsg.Remark = k
|
||||
@@ -221,7 +221,7 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
||||
orderMsg.VendorOrderID = orderMsg.RefVendorOrderID
|
||||
}
|
||||
vendorOrgCode = refundOrder.ShopId
|
||||
|
||||
orderStatus = orderMsg
|
||||
case tiktokShop.CallbackRefundShopMsgTagId: // 拒绝退货申请消息
|
||||
refundOrder := msg.(*tiktokShop.BusinessNotReturnApplyRefusedData)
|
||||
orderMsg := &model.OrderStatus{
|
||||
@@ -244,9 +244,9 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
||||
orderMsg.VendorOrderID = orderMsg.RefVendorOrderID
|
||||
}
|
||||
vendorOrgCode = refundOrder.ShopId
|
||||
|
||||
orderStatus = orderMsg
|
||||
case tiktokShop.CallbackReturnApplyAgreedMsgTagId: // 同意退货申请消息
|
||||
refundOrder := msg.(*tiktokShop.BusinessRefundSuccessData)
|
||||
refundOrder := msg.(*tiktokShop.BusinessReturnApplyAgreedData)
|
||||
orderMsg := &model.OrderStatus{
|
||||
VendorID: model.VendorIDDD,
|
||||
OrderType: model.OrderTypeAfsOrder,
|
||||
@@ -254,7 +254,7 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
||||
RefVendorID: model.VendorIDDD,
|
||||
VendorStatus: fmt.Sprintf("%s:%s", "order", "refund_shop_success"),
|
||||
Status: c.GetAfsStatusFromVendorStatus(refundOrder.AftersaleType, tiktokShop.CallbackReturnApplyAgreedMsgTagId),
|
||||
StatusTime: utils.Timestamp2Time(int64(refundOrder.SuccessTime)),
|
||||
StatusTime: utils.Timestamp2Time(int64(refundOrder.AgreeTime)),
|
||||
}
|
||||
if k, ok := ReasonCodeMap[refundOrder.ReasonCode]; ok {
|
||||
orderMsg.Remark = k
|
||||
@@ -267,9 +267,9 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
||||
orderMsg.VendorOrderID = orderMsg.RefVendorOrderID
|
||||
}
|
||||
vendorOrgCode = refundOrder.ShopId
|
||||
|
||||
orderStatus = orderMsg
|
||||
case tiktokShop.CallbackReturnRefundAgreedMsgTagId: // 同意退款消息
|
||||
refundOrder := msg.(*tiktokShop.BusinessRefundSuccessData)
|
||||
refundOrder := msg.(*tiktokShop.BusinessRefundAgreedData)
|
||||
orderMsg := &model.OrderStatus{
|
||||
VendorID: model.VendorIDDD,
|
||||
OrderType: model.OrderTypeAfsOrder,
|
||||
@@ -277,7 +277,7 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
||||
RefVendorID: model.VendorIDDD,
|
||||
VendorStatus: fmt.Sprintf("%s:%s", "order", "refund_money_success"),
|
||||
Status: c.GetAfsStatusFromVendorStatus(refundOrder.AftersaleType, tiktokShop.CallbackReturnRefundAgreedMsgTagId),
|
||||
StatusTime: utils.Timestamp2Time(int64(refundOrder.SuccessTime)),
|
||||
StatusTime: utils.Timestamp2Time(int64(refundOrder.AgreeTime)),
|
||||
}
|
||||
if k, ok := ReasonCodeMap[refundOrder.ReasonCode]; ok {
|
||||
orderMsg.Remark = k
|
||||
@@ -290,7 +290,7 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
||||
orderMsg.VendorOrderID = orderMsg.RefVendorOrderID
|
||||
}
|
||||
vendorOrgCode = refundOrder.ShopId
|
||||
|
||||
orderStatus = orderMsg
|
||||
default:
|
||||
return nil, 0
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ func (t *TiktokController) CallbackTiktokOrderMsg() {
|
||||
}
|
||||
|
||||
// 2.参数解析
|
||||
globals.SugarLogger.Debug("抖音订单回调数据参数打印===========", string(byteList))
|
||||
orderStatus, resp := api.TiktokStore.CreateOrderCallback(byteList)
|
||||
globals.SugarLogger.Debug("抖音订单回调数据打印测试===========", orderStatus)
|
||||
if resp.Code != 0 {
|
||||
|
||||
Reference in New Issue
Block a user