Files
jx-callback/business/partner/purchase/mtwm/callback.go
邹宗楠 3ddccaba1d 1'
2023-02-03 17:07:48 +08:00

87 lines
3.2 KiB
Go

package mtwm
import (
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
"git.rosy.net.cn/jx-callback/business/jxutils/netprinter"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
)
// 美团回调接口
func OnCallbackMsg(msg *mtwmapi.CallbackMsg) (response *mtwmapi.CallbackResponse) {
// 获取平台门店id
//store, err := dao.GetStoreDetailByVendorStoreID(dao.GetDB(), GetVendorStoreIDFromMsg(msg), model.VendorIDMTWM, GetVendorAppIdFromMsg(msg))
//if err != nil && strings.Contains(err.Error(), "no row found") {
//
//}
if CurPurchaseHandler != nil {
if msg.Cmd == mtwmapi.MsgTypeStoreStatusChanged || msg.Cmd == mtwmapi.MsgTypeStoreAuditStatusChanged {
response = CurPurchaseHandler.onStoreStatusChanged(msg)
} else if msg.Cmd == mtwmapi.MsgTypePrivateNumberDowngrade {
response = CurPurchaseHandler.onNumberDowngrade(msg)
} else if msg.Cmd == mtwmapi.MsgTypeStoreBind {
// 门店授权发生变化 17,失去授权
vendorStoreID := msg.FormData.Get("app_poi_code")
storeDetail, _ := dao.GetStoreDetailByVendorStoreID(dao.GetDB(), vendorStoreID, model.VendorIDMTWM, "")
_, err := netprinter.PrintStoreStatus(jxcontext.AdminCtx, storeDetail, model.VendorIDMTWM, -9)
response = mtwmapi.Err2CallbackResponse(err, "")
} else {
if orderID := GetOrderIDFromMsg(msg); orderID != "" {
jxutils.CallMsgHandler(func() {
switch msg.Cmd {
case mtwmapi.MsgTypeWaybillStatus:
response = CurPurchaseHandler.onWaybillMsg(msg)
default:
response = CurPurchaseHandler.onOrderMsg(msg)
}
}, jxutils.ComposeUniversalOrderID(orderID, model.VendorIDMTWM))
}
/*if msg.Cmd == mtwmapi.MsgTypeOrderRefund || msg.Cmd == mtwmapi.MsgTypeOrderPartialRefund {
utils.CallFuncAsync(func() {
OnFinancialMsg(msg)
})
} */
}
}
return response
}
func GetOrderIDFromMsg(msg *mtwmapi.CallbackMsg) string {
return msg.FormData.Get(mtwmapi.KeyOrderID)
}
func GetVendorStoreIDFromMsg(msg *mtwmapi.CallbackMsg) string {
return msg.FormData.Get(mtwmapi.KeyAppPoiCode)
}
func GetVendorAppIdFromMsg(msg *mtwmapi.CallbackMsg) string {
return msg.FormData.Get(mtwmapi.KeyAppID)
}
//
//func forwardOrderToGy(msg *mtwmapi.CallbackMsg) {
// cl := http.Client{}
// params := make(map[string]interface{})
// params["mt_peisong_id"] = msg.MtPeisongID
// params["courier_name"] = msg.CourierName
// params["delivery_id"] = msg.DeliveryID
// params["appkey"] = msg.AppKey
// params["order_id"] = msg.OrderID
// params["courier_phone"] = msg.CourierPhone
// params["status"] = msg.Status
// params["timestamp"] = msg.Timestamp
// params["cancel_reason_id"] = msg.CancelReasonId
// params["cancel_reason"] = msg.CancelReason
// urls := utils.Map2URLValues(params)
// sign := signParams(urls)
// params["sign"] = sign
// request, err := http.NewRequest(http.MethodPost, "http://callback-jxgy.jxc4.com/mtps/status", strings.NewReader(utils.Map2URLValues(params).Encode()))
// if err != nil {
// return
// }
// request.Header.Set("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8")
// cl.Do(request)
//}