- mtwmapi.CallbackMsg.Data to FormData

This commit is contained in:
gazebo
2019-05-12 10:07:50 +08:00
parent 0f02437823
commit 3f914afbb6
6 changed files with 34 additions and 34 deletions

View File

@@ -30,5 +30,5 @@ func OnOrderCallbackMsg(msg *mtwmapi.CallbackMsg) (response *mtwmapi.CallbackRes
} }
func GetOrderIDFromMsg(msg *mtwmapi.CallbackMsg) string { func GetOrderIDFromMsg(msg *mtwmapi.CallbackMsg) string {
return msg.Data.Get(mtwmapi.KeyOrderID) return msg.FormData.Get(mtwmapi.KeyOrderID)
} }

View File

@@ -18,13 +18,13 @@ const (
// 存储美团退款订单结账信息 // 存储美团退款订单结账信息
func OnFinancialMsg(msg *mtwmapi.CallbackMsg) (err error) { func OnFinancialMsg(msg *mtwmapi.CallbackMsg) (err error) {
if msg.Cmd == mtwmapi.MsgTypeOrderPartialRefund { // 部分退款处理 if msg.Cmd == mtwmapi.MsgTypeOrderPartialRefund { // 部分退款处理
orderData := msg.Data orderData := msg.FormData
if orderData.Get("notify_type") == mtwmapi.NotifyTypeSuccess { if orderData.Get("notify_type") == mtwmapi.NotifyTypeSuccess {
err = partner.CurOrderManager.SaveAfsOrderFinancialInfo(curPurchaseHandler.AfsOrderDetail2Financial(orderData)) err = partner.CurOrderManager.SaveAfsOrderFinancialInfo(curPurchaseHandler.AfsOrderDetail2Financial(orderData))
} }
} }
if msg.Cmd == mtwmapi.MsgTypeOrderRefund { // todo 全额退款处理 if msg.Cmd == mtwmapi.MsgTypeOrderRefund { // todo 全额退款处理
orderData := msg.Data orderData := msg.FormData
if orderData.Get("notify_type") == mtwmapi.NotifyTypeSuccess { if orderData.Get("notify_type") == mtwmapi.NotifyTypeSuccess {
globals.SugarLogger.Debug(orderData.Get("order_id")) // 获得退款订单ID去本地数据库拿饿百消息推送只给了订单号也没有通过订单号查询退款信息的接口 globals.SugarLogger.Debug(orderData.Get("order_id")) // 获得退款订单ID去本地数据库拿饿百消息推送只给了订单号也没有通过订单号查询退款信息的接口
afsOrderID := orderData.Get("order_id") afsOrderID := orderData.Get("order_id")

View File

@@ -14,12 +14,12 @@ import (
func TestOnFinancialMsg(t *testing.T) { func TestOnFinancialMsg(t *testing.T) {
msg := &mtwmapi.CallbackMsg{ msg := &mtwmapi.CallbackMsg{
Cmd: "orderRefund", Cmd: "orderRefund",
Data: url.Values{}, FormData: url.Values{},
} }
msg.Data.Set("timestamp", utils.Int64ToStr(time.Now().Unix())) msg.FormData.Set("timestamp", utils.Int64ToStr(time.Now().Unix()))
msg.Data.Set("order_id", "33762863167364867") msg.FormData.Set("order_id", "33762863167364867")
msg.Data.Set("notify_type", "agree") msg.FormData.Set("notify_type", "agree")
msg.Data.Set("money", "23.56") msg.FormData.Set("money", "23.56")
food := []map[string]interface{}{ food := []map[string]interface{}{
map[string]interface{}{ map[string]interface{}{
"app_food_code": "123", "app_food_code": "123",
@@ -40,7 +40,7 @@ func TestOnFinancialMsg(t *testing.T) {
"box_price": 1, "box_price": 1,
}, },
} }
msg.Data.Set("food", string(utils.MustMarshal(food))) msg.FormData.Set("food", string(utils.MustMarshal(food)))
res := curPurchaseHandler.onAfsOrderMsg(msg) res := curPurchaseHandler.onAfsOrderMsg(msg)
fmt.Println(res) fmt.Println(res)
} }

View File

@@ -207,21 +207,21 @@ func (c *PurchaseHandler) callbackMsg2Status(msg *mtwmapi.CallbackMsg) (orderSta
orderID := GetOrderIDFromMsg(msg) orderID := GetOrderIDFromMsg(msg)
vendorStatus := msg.Cmd vendorStatus := msg.Cmd
remark := "" remark := ""
statusTime := utils.Str2Int64(msg.Data.Get("timestamp")) statusTime := utils.Str2Int64(msg.FormData.Get("timestamp"))
switch msg.Cmd { switch msg.Cmd {
case mtwmapi.MsgTypeUserUrgeOrder, mtwmapi.MsgTypeOrderModified, mtwmapi.MsgTypeOrderFinancial: case mtwmapi.MsgTypeUserUrgeOrder, mtwmapi.MsgTypeOrderModified, mtwmapi.MsgTypeOrderFinancial:
vendorStatus = msg.Cmd vendorStatus = msg.Cmd
case mtwmapi.MsgTypeOrderCanceled: case mtwmapi.MsgTypeOrderCanceled:
vendorStatus = mtwmapi.OrderStatusCanceled vendorStatus = mtwmapi.OrderStatusCanceled
remark = msg.Data.Get("reason") remark = msg.FormData.Get("reason")
case mtwmapi.MsgTypeNewOrder, FakeMsgTypeOrderReceived, mtwmapi.MsgTypeOrderAccepted, FakeMsgTypeOrderDelivering, mtwmapi.MsgTypeOrderFinished: case mtwmapi.MsgTypeNewOrder, FakeMsgTypeOrderReceived, mtwmapi.MsgTypeOrderAccepted, FakeMsgTypeOrderDelivering, mtwmapi.MsgTypeOrderFinished:
vendorStatus = msg.Data.Get("status") vendorStatus = msg.FormData.Get("status")
statusTime = utils.Str2Int64(msg.Data.Get("utime")) statusTime = utils.Str2Int64(msg.FormData.Get("utime"))
case mtwmapi.MsgTypeOrderRefund, mtwmapi.MsgTypeOrderPartialRefund: case mtwmapi.MsgTypeOrderRefund, mtwmapi.MsgTypeOrderPartialRefund:
notifyType := msg.Data.Get("notify_type") notifyType := msg.FormData.Get("notify_type")
vendorStatus = msg.Cmd + "-" + notifyType vendorStatus = msg.Cmd + "-" + notifyType
if true /*!c.isOrderFinished(utils.Str2Int64(orderID))*/ { // 已经提前判断了,到这里的都是售中 if true /*!c.isOrderFinished(utils.Str2Int64(orderID))*/ { // 已经提前判断了,到这里的都是售中
remark = msg.Data.Get("reason") remark = msg.FormData.Get("reason")
if msg.Cmd == mtwmapi.MsgTypeOrderPartialRefund { if msg.Cmd == mtwmapi.MsgTypeOrderPartialRefund {
if notifyType == mtwmapi.NotifyTypePartyApply { if notifyType == mtwmapi.NotifyTypePartyApply {
api.MtwmAPI.OrderRefundReject(utils.Str2Int64(orderID), "bu") // todo 京东与饿百都没有售前用户提出订单调整的,自动拒绝调整单 api.MtwmAPI.OrderRefundReject(utils.Str2Int64(orderID), "bu") // todo 京东与饿百都没有售前用户提出订单调整的,自动拒绝调整单
@@ -258,13 +258,13 @@ func (c *PurchaseHandler) callbackMsg2Status(msg *mtwmapi.CallbackMsg) (orderSta
func (c *PurchaseHandler) postFakeMsg(vendorOrderID, cmd, vendorStatus string) { func (c *PurchaseHandler) postFakeMsg(vendorOrderID, cmd, vendorStatus string) {
msg := &mtwmapi.CallbackMsg{ msg := &mtwmapi.CallbackMsg{
Cmd: cmd, Cmd: cmd,
Data: make(url.Values), FormData: make(url.Values),
} }
timeStr := utils.Int64ToStr(time.Now().Unix()) timeStr := utils.Int64ToStr(time.Now().Unix())
msg.Data.Set(mtwmapi.KeyOrderID, vendorOrderID) msg.FormData.Set(mtwmapi.KeyOrderID, vendorOrderID)
msg.Data.Set("status", vendorStatus) msg.FormData.Set("status", vendorStatus)
msg.Data.Set("timestamp", timeStr) msg.FormData.Set("timestamp", timeStr)
msg.Data.Set("utime", timeStr) msg.FormData.Set("utime", timeStr)
utils.CallFuncAsync(func() { utils.CallFuncAsync(func() {
OnOrderCallbackMsg(msg) OnOrderCallbackMsg(msg)
}) })

View File

@@ -164,8 +164,8 @@ func (p *PurchaseHandler) RefreshAllStoresID(ctx *jxcontext.Context, parentTask
func (p *PurchaseHandler) onStoreStatusChanged(msg *mtwmapi.CallbackMsg) (response *mtwmapi.CallbackResponse) { func (p *PurchaseHandler) onStoreStatusChanged(msg *mtwmapi.CallbackMsg) (response *mtwmapi.CallbackResponse) {
var err error var err error
poiStatus := int(utils.Str2Int64(msg.Data.Get("poi_status"))) poiStatus := int(utils.Str2Int64(msg.FormData.Get("poi_status")))
vendorStoreID := msg.Data.Get("app_poi_code") vendorStoreID := msg.FormData.Get("app_poi_code")
storeStatus := 0 storeStatus := 0
if poiStatus == mtwmapi.MsgPoiStatusOpened { if poiStatus == mtwmapi.MsgPoiStatusOpened {
storeStatus = model.StoreStatusOpened storeStatus = model.StoreStatusOpened

View File

@@ -35,12 +35,12 @@ func (c *PurchaseHandler) onWaybillMsg(msg *mtwmapi.CallbackMsg) (response *mtwm
if err == nil && waybill.Status == model.WaybillStatusDelivering { if err == nil && waybill.Status == model.WaybillStatusDelivering {
msg := &mtwmapi.CallbackMsg{ msg := &mtwmapi.CallbackMsg{
Cmd: FakeMsgTypeOrderDelivering, Cmd: FakeMsgTypeOrderDelivering,
Data: url.Values{}, FormData: url.Values{},
} }
msg.Data.Set("timestamp", utils.Int64ToStr(time.Now().Unix())) msg.FormData.Set("timestamp", utils.Int64ToStr(time.Now().Unix()))
msg.Data.Set("utime", msg.Data.Get("timestamp")) msg.FormData.Set("utime", msg.FormData.Get("timestamp"))
msg.Data.Set(mtwmapi.KeyOrderID, waybill.VendorOrderID) msg.FormData.Set(mtwmapi.KeyOrderID, waybill.VendorOrderID)
msg.Data.Set("status", mtwmapi.OrderStatusDelivering) msg.FormData.Set("status", mtwmapi.OrderStatusDelivering)
utils.CallFuncAsync(func() { utils.CallFuncAsync(func() {
OnOrderCallbackMsg(msg) OnOrderCallbackMsg(msg)
}) })
@@ -50,17 +50,17 @@ func (c *PurchaseHandler) onWaybillMsg(msg *mtwmapi.CallbackMsg) (response *mtwm
func (c *PurchaseHandler) callbackMsg2Waybill(msg *mtwmapi.CallbackMsg) (retVal *model.Waybill) { func (c *PurchaseHandler) callbackMsg2Waybill(msg *mtwmapi.CallbackMsg) (retVal *model.Waybill) {
orderID := GetOrderIDFromMsg(msg) orderID := GetOrderIDFromMsg(msg)
vendorStatus := msg.Data.Get("logistics_status") vendorStatus := msg.FormData.Get("logistics_status")
retVal = &model.Waybill{ retVal = &model.Waybill{
VendorOrderID: orderID, VendorOrderID: orderID,
OrderVendorID: model.VendorIDMTWM, OrderVendorID: model.VendorIDMTWM,
VendorWaybillID: orderID, VendorWaybillID: orderID,
WaybillVendorID: model.VendorIDMTWM, WaybillVendorID: model.VendorIDMTWM,
CourierName: msg.Data.Get("dispatcher_name"), CourierName: msg.FormData.Get("dispatcher_name"),
CourierMobile: msg.Data.Get("dispatcher_mobile"), CourierMobile: msg.FormData.Get("dispatcher_mobile"),
VendorStatus: vendorStatus, VendorStatus: vendorStatus,
Status: c.GetWaybillStatusFromVendorStatus(vendorStatus), Status: c.GetWaybillStatusFromVendorStatus(vendorStatus),
StatusTime: getTimeFromTimestamp(utils.Str2Int64(msg.Data.Get("time"))), StatusTime: getTimeFromTimestamp(utils.Str2Int64(msg.FormData.Get("time"))),
Remark: "", Remark: "",
} }
return retVal return retVal