Merge branch 'jdshop' of https://e.coding.net/rosydev/jx-callback into jdshop

This commit is contained in:
richboo111
2022-10-11 15:22:07 +08:00
3 changed files with 29 additions and 18 deletions

View File

@@ -104,7 +104,7 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID s
InvoiceTitle: "", InvoiceTitle: "",
InvoiceTaxerID: "", InvoiceTaxerID: "",
InvoiceEmail: "", InvoiceEmail: "",
VendorOrgCode: "", VendorOrgCode: vendorOrgCode,
} }
// 本地获取订单记录 // 本地获取订单记录
orderSeq, _ := dao.GetVendorOrderNumber(dao.GetDB(), model.VendorIDDD, order.VendorStoreID) orderSeq, _ := dao.GetVendorOrderNumber(dao.GetDB(), model.VendorIDDD, order.VendorStoreID)
@@ -241,7 +241,7 @@ func (c *PurchaseHandler) onOrderMsg(msgId, orderId string, msg interface{}) (re
} }
// 组装订单状态变化 // 组装订单状态变化
status := c.callbackMsg2Status(msgId, orderId, msg) status, appOrgCode := c.callbackMsg2Status(msgId, orderId, msg)
// 校验重复消息 // 校验重复消息
if partner.CurOrderManager.GetStatusDuplicatedCount(status) > 0 { if partner.CurOrderManager.GetStatusDuplicatedCount(status) > 0 {
return tiktokShop.Err2CallbackResponse(nil, "") return tiktokShop.Err2CallbackResponse(nil, "")
@@ -249,12 +249,13 @@ func (c *PurchaseHandler) onOrderMsg(msgId, orderId string, msg interface{}) (re
// 已经支付的订单,当做新订单创建在平台内部 // 已经支付的订单,当做新订单创建在平台内部
if msgId == tiktokShop.CallbackPayOrderMsgTagId { if msgId == tiktokShop.CallbackPayOrderMsgTagId {
order, err := c.GetOrder("", orderId, "") // 获取平台订单详情,制作本地订单 order, err := c.GetOrder(utils.Int64ToStr(appOrgCode), orderId, "") // 获取平台订单详情,制作本地订单
if err != nil { if err != nil {
return tiktokShop.Err2CallbackResponse(err, "") return tiktokShop.Err2CallbackResponse(err, "")
} }
if err := partner.CurOrderManager.OnOrderNew(order, c.callbackMsg2Status(msgId, orderId, msg)); err != nil { status2, _ := c.callbackMsg2Status(msgId, orderId, msg)
if err := partner.CurOrderManager.OnOrderNew(order, status2); err != nil {
return tiktokShop.Err2CallbackResponse(err, "") return tiktokShop.Err2CallbackResponse(err, "")
} }
@@ -299,7 +300,7 @@ func (c *PurchaseHandler) onOrderMsg(msgId, orderId string, msg interface{}) (re
c.OnOrderDetail(orderMap, partner.UpdatedPeration) c.OnOrderDetail(orderMap, partner.UpdatedPeration)
}) })
} }
if err := partner.CurOrderManager.OnOrderStatusChanged(globals.TiktokShopCode, status); err != nil { if err := partner.CurOrderManager.OnOrderStatusChanged(order.VendorOrgCode, status); err != nil {
return tiktokShop.Err2CallbackResponse(err, "") return tiktokShop.Err2CallbackResponse(err, "")
} }
@@ -308,11 +309,12 @@ func (c *PurchaseHandler) onOrderMsg(msgId, orderId string, msg interface{}) (re
return tiktokShop.Err2CallbackResponse(err, "") return tiktokShop.Err2CallbackResponse(err, "")
} }
func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interface{}) *model.OrderStatus { func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interface{}) (*model.OrderStatus, int64) {
orderStatus := &model.OrderStatus{} orderStatus := &model.OrderStatus{}
var shopId int64 = 0
switch msgId { switch msgId {
case tiktokShop.CallbackCreatedOrderMsgTagId: case tiktokShop.CallbackCreatedOrderMsgTagId:
return nil // 抖音新创建订单,未支付时本地不做创建,可能取消 return nil, 0 // 抖音新创建订单,未支付时本地不做创建,可能取消
//orderMsg := msg.(*tiktokShop.CreateOrderData) //orderMsg := msg.(*tiktokShop.CreateOrderData)
//orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId) //orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
//orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus) //orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
@@ -326,8 +328,9 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.PayTime) orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.PayTime)
orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus) orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
orderStatus.Remark = "101-支付回调" orderStatus.Remark = "101-支付回调"
shopId = orderMsg.ShopId
case tiktokShop.CallbackWaitOrderMsgTagId: case tiktokShop.CallbackWaitOrderMsgTagId:
return nil // 支付订单风控消息不处理 return nil, 0 // 支付订单风控消息不处理
//orderMsg := msg.(*tiktokShop.WaitOrderData) //orderMsg := msg.(*tiktokShop.WaitOrderData)
//orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId) //orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
//orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus) //orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
@@ -341,6 +344,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime) orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime)
orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus) orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
orderStatus.Remark = "108-卖家部分发货" orderStatus.Remark = "108-卖家部分发货"
shopId = orderMsg.ShopId
case tiktokShop.CallbackPartAllGoodsMsgTagId: case tiktokShop.CallbackPartAllGoodsMsgTagId:
orderMsg := msg.(*tiktokShop.BusinessDeliveryData) orderMsg := msg.(*tiktokShop.BusinessDeliveryData)
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId) orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
@@ -348,6 +352,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime) orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime)
orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus) orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
orderStatus.Remark = "102-卖家发货完成" orderStatus.Remark = "102-卖家发货完成"
shopId = orderMsg.ShopId
case tiktokShop.CallbackCancelOrderMsgTagId: case tiktokShop.CallbackCancelOrderMsgTagId:
orderMsg := msg.(*tiktokShop.CancelOrderData) orderMsg := msg.(*tiktokShop.CancelOrderData)
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId) orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
@@ -355,6 +360,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.CancelTime) orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.CancelTime)
orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus) orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
orderStatus.Remark = "106-取消订单" orderStatus.Remark = "106-取消订单"
shopId = orderMsg.ShopId
case tiktokShop.CallbackSuccessOrderMsgTagId: case tiktokShop.CallbackSuccessOrderMsgTagId:
orderMsg := msg.(*tiktokShop.SuccessOrderData) orderMsg := msg.(*tiktokShop.SuccessOrderData)
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId) orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
@@ -362,6 +368,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.CompleteTime) orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.CompleteTime)
orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus) orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
orderStatus.Remark = "103-确认收货" orderStatus.Remark = "103-确认收货"
shopId = orderMsg.ShopId
case tiktokShop.CallbackWayBillChangeOrderMsgTagId: case tiktokShop.CallbackWayBillChangeOrderMsgTagId:
orderMsg := msg.(*tiktokShop.WayBillChangeData) orderMsg := msg.(*tiktokShop.WayBillChangeData)
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId) orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
@@ -369,6 +376,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime) orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime)
orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus) orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
orderStatus.Remark = "104-物流消息变更" orderStatus.Remark = "104-物流消息变更"
shopId = orderMsg.ShopId
case tiktokShop.CallbackReceivingChangeOrderMsgTagId: case tiktokShop.CallbackReceivingChangeOrderMsgTagId:
orderMsg := msg.(*tiktokShop.ReceivingAddressChangeData) orderMsg := msg.(*tiktokShop.ReceivingAddressChangeData)
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId) orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
@@ -376,6 +384,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime) orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime)
orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus) orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
orderStatus.Remark = "105-收货地址变更" orderStatus.Remark = "105-收货地址变更"
shopId = orderMsg.ShopId
case tiktokShop.CallbackChangeMoneyMsgTagId: case tiktokShop.CallbackChangeMoneyMsgTagId:
orderMsg := msg.(*tiktokShop.UpdateAmountChangeData) orderMsg := msg.(*tiktokShop.UpdateAmountChangeData)
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId) orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
@@ -383,6 +392,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.ModifyTime) orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.ModifyTime)
orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus) orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
orderStatus.Remark = "109-卖家修改订单/运单金额" orderStatus.Remark = "109-卖家修改订单/运单金额"
shopId = orderMsg.ShopId
case tiktokShop.CallbackApplyUpdateAddressMsgTagId: case tiktokShop.CallbackApplyUpdateAddressMsgTagId:
orderMsg := msg.(*tiktokShop.BuyerUpdateWayBillData) orderMsg := msg.(*tiktokShop.BuyerUpdateWayBillData)
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId) orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
@@ -390,6 +400,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
orderStatus.StatusTime = time.Now() orderStatus.StatusTime = time.Now()
orderStatus.Status = model.OrderStatusUnknown orderStatus.Status = model.OrderStatusUnknown
orderStatus.Remark = "111-买家收货消息变更" orderStatus.Remark = "111-买家收货消息变更"
shopId = orderMsg.ShopId
case tiktokShop.CallbackBusinessRemarkMsgTagId: case tiktokShop.CallbackBusinessRemarkMsgTagId:
orderMsg := msg.(*tiktokShop.BusinessUpdateRemakeData) orderMsg := msg.(*tiktokShop.BusinessUpdateRemakeData)
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId) orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
@@ -397,6 +408,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime) orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime)
orderStatus.Status = model.OrderStatusUnknown orderStatus.Status = model.OrderStatusUnknown
orderStatus.Remark = "113-添加备注:" + orderMsg.Remark orderStatus.Remark = "113-添加备注:" + orderMsg.Remark
shopId = orderMsg.ShopId
case tiktokShop.CallbackSendOrderTimeChangeMsgTagId: case tiktokShop.CallbackSendOrderTimeChangeMsgTagId:
orderMsg := msg.(*tiktokShop.AppointmentChangeData) orderMsg := msg.(*tiktokShop.AppointmentChangeData)
orderStatus.VendorOrderID = orderMsg.PId orderStatus.VendorOrderID = orderMsg.PId
@@ -404,6 +416,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
orderStatus.StatusTime = time.Now() orderStatus.StatusTime = time.Now()
orderStatus.Status = model.OrderStatusUnknown orderStatus.Status = model.OrderStatusUnknown
orderStatus.Remark = "126-预约发货:" orderStatus.Remark = "126-预约发货:"
shopId = orderMsg.ShopId
case fakeFinishedPickup: // 应为需要同步京东,美团拣货功能制作的假拣货,抖音不存在拣货 case fakeFinishedPickup: // 应为需要同步京东,美团拣货功能制作的假拣货,抖音不存在拣货
orderMsg := msg.(*tiktokShop.FakePickUpGoodsData) orderMsg := msg.(*tiktokShop.FakePickUpGoodsData)
orderStatus.VendorOrderID = orderMsg.PId orderStatus.VendorOrderID = orderMsg.PId
@@ -411,14 +424,15 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
orderStatus.StatusTime = time.Now() orderStatus.StatusTime = time.Now()
orderStatus.Status = model.OrderStatusFinishedPickup orderStatus.Status = model.OrderStatusFinishedPickup
orderStatus.Remark = "15-抖音假拣货:" orderStatus.Remark = "15-抖音假拣货:"
shopId = 0
default: default:
return nil return nil, 0
} }
orderStatus.OrderType = model.OrderTypeOrder orderStatus.OrderType = model.OrderTypeOrder
orderStatus.RefVendorOrderID = orderStatus.VendorOrderID orderStatus.RefVendorOrderID = orderStatus.VendorOrderID
orderStatus.VendorID = model.VendorIDDD orderStatus.VendorID = model.VendorIDDD
orderStatus.RefVendorID = model.VendorIDDD orderStatus.RefVendorID = model.VendorIDDD
return orderStatus return orderStatus, shopId
} }
// 将抖音平台订单状态修改为本地通用状态(不好用) // 将抖音平台订单状态修改为本地通用状态(不好用)

View File

@@ -6,7 +6,6 @@ import (
"git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api" "git.rosy.net.cn/jx-callback/globals/api"
"github.com/astaxie/beego/server/web" "github.com/astaxie/beego/server/web"
beego "github.com/astaxie/beego/server/web"
) )
type TiktokController struct { type TiktokController struct {
@@ -15,11 +14,11 @@ type TiktokController struct {
// CallbackTiktokOrderMsg 抖店用户下单订单推送 (tiktokStore) // CallbackTiktokOrderMsg 抖店用户下单订单推送 (tiktokStore)
func (t *TiktokController) CallbackTiktokOrderMsg() { func (t *TiktokController) CallbackTiktokOrderMsg() {
if beego.BConfig.RunMode == "beta" { //if beego.BConfig.RunMode == "beta" {
t.Data["json"] = tiktok_api.CallbackResponse{Code: tiktok_api.CallbackSuccessCode, Msg: tiktok_api.CallbackSuccess} // t.Data["json"] = tiktok_api.CallbackResponse{Code: tiktok_api.CallbackSuccessCode, Msg: tiktok_api.CallbackSuccess}
t.ServeJSON() // t.ServeJSON()
return // return
} //}
// 1.防伪校验 // 1.防伪校验
resp := api.TiktokStore.EventSignChange(t.Ctx.Request) resp := api.TiktokStore.EventSignChange(t.Ctx.Request)
if resp.Code != 0 { if resp.Code != 0 {

View File

@@ -82,7 +82,6 @@ var (
IsAddEvent bool IsAddEvent bool
OutputDebugMsgLevel int OutputDebugMsgLevel int
TiktokShopCode string
) )
func init() { func init() {
@@ -170,7 +169,6 @@ func Init() {
MtwmCode = web.AppConfig.DefaultString("mtwmAppID", "") MtwmCode = web.AppConfig.DefaultString("mtwmAppID", "")
Mtwm2Code = web.AppConfig.DefaultString("mtwmAppID2", "") Mtwm2Code = web.AppConfig.DefaultString("mtwmAppID2", "")
TiktokShopCode = web.AppConfig.DefaultString("tiktokShopAppId", "7136048270014416392")
} }
func IsCallbackAlwaysReturnSuccess() bool { func IsCallbackAlwaysReturnSuccess() bool {