添加美团超市账号信息通知果园

This commit is contained in:
邹宗楠
2023-02-06 11:30:23 +08:00
parent 21d80bf232
commit 97997f0e79
3 changed files with 63 additions and 33 deletions

View File

@@ -7,14 +7,18 @@ import (
"git.rosy.net.cn/jx-callback/business/jxutils/netprinter" "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"
"git.rosy.net.cn/jx-callback/business/model/dao" "git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/globals"
"net/http"
"strings"
) )
// 美团回调接口 // 美团回调接口
func OnCallbackMsg(msg *mtwmapi.CallbackMsg) (response *mtwmapi.CallbackResponse) { func OnCallbackMsg(msg *mtwmapi.CallbackMsg, msgType string) (response *mtwmapi.CallbackResponse) {
// 获取平台门店id // 获取平台门店id
//store, err := dao.GetStoreDetailByVendorStoreID(dao.GetDB(), GetVendorStoreIDFromMsg(msg), model.VendorIDMTWM, GetVendorAppIdFromMsg(msg)) //_, err := dao.GetStoreDetailByVendorStoreID(dao.GetDB(), GetVendorStoreIDFromMsg(msg), model.VendorIDMTWM, GetVendorAppIdFromMsg(msg))
//if err != nil && strings.Contains(err.Error(), "no row found") { //if err != nil && strings.Contains(err.Error(), "no row found") {
// // forwardOrderToGy(msg, msgType)
// return mtwmapi.SuccessResponse
//} //}
if CurPurchaseHandler != nil { if CurPurchaseHandler != nil {
if msg.Cmd == mtwmapi.MsgTypeStoreStatusChanged || msg.Cmd == mtwmapi.MsgTypeStoreAuditStatusChanged { if msg.Cmd == mtwmapi.MsgTypeStoreStatusChanged || msg.Cmd == mtwmapi.MsgTypeStoreAuditStatusChanged {
@@ -60,27 +64,54 @@ func GetVendorAppIdFromMsg(msg *mtwmapi.CallbackMsg) string {
return msg.FormData.Get(mtwmapi.KeyAppID) return msg.FormData.Get(mtwmapi.KeyAppID)
} }
// func forwardOrderToGy(msg *mtwmapi.CallbackMsg, msgType string) {
//func forwardOrderToGy(msg *mtwmapi.CallbackMsg) { cl := http.Client{}
// cl := http.Client{} callbackUrl := GetMsgCallBackUrl(msgType, msg.AppID)
// params := make(map[string]interface{}) request, err := http.NewRequest(http.MethodPost, "http://callback-jxgy.jxc4.com/mtwm/"+callbackUrl, strings.NewReader(msg.FormData.Encode()))
// params["mt_peisong_id"] = msg.MtPeisongID if err != nil {
// params["courier_name"] = msg.CourierName return
// params["delivery_id"] = msg.DeliveryID }
// params["appkey"] = msg.AppKey request.Header.Set("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8")
// params["order_id"] = msg.OrderID cl.Do(request)
// params["courier_phone"] = msg.CourierPhone }
// params["status"] = msg.Status
// params["timestamp"] = msg.Timestamp func GetMsgCallBackUrl(msgType, appId string) string {
// params["cancel_reason_id"] = msg.CancelReasonId interfaceUrl := ""
// params["cancel_reason"] = msg.CancelReason switch msgType {
// urls := utils.Map2URLValues(params) case mtwmapi.MsgTypeWaybillStatus:
// sign := signParams(urls) interfaceUrl = "/waybillStatus"
// params["sign"] = sign case mtwmapi.MsgTypeNewOrder:
// request, err := http.NewRequest(http.MethodPost, "http://callback-jxgy.jxc4.com/mtps/status", strings.NewReader(utils.Map2URLValues(params).Encode())) interfaceUrl = "/newOrder"
// if err != nil { case mtwmapi.MsgTypeOrderAccepted:
// return interfaceUrl = "/orderAccepted"
// } case mtwmapi.MsgTypeOrderFinished:
// request.Header.Set("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8") interfaceUrl = "/orderFinished"
// cl.Do(request) case mtwmapi.MsgTypeOrderFinancial:
//} interfaceUrl = "/orderFinancial"
case mtwmapi.MsgTypeOrderCanceled:
interfaceUrl = "/orderCanceled"
case mtwmapi.MsgTypeUserUrgeOrder:
interfaceUrl = "/userUrgeOrder"
case mtwmapi.MsgTypePrivateNumberDowngrade:
interfaceUrl = "/numberDowngrade"
case mtwmapi.MsgTypeOrderModified:
interfaceUrl = "/orderModified"
case mtwmapi.MsgTypeOrderRefund:
interfaceUrl = "/orderRefund"
case mtwmapi.MsgTypeOrderPartialRefund:
interfaceUrl = "/orderPartialRefund"
case mtwmapi.MsgTypeOrderFinishedPickup:
interfaceUrl = "/orderFinishedPickup"
case mtwmapi.MsgTypeStoreStatusChanged:
interfaceUrl = "/storeStatusChanged"
case mtwmapi.MsgTypeStoreAuditStatusChanged:
interfaceUrl = "/storeAuditStatusChanged"
case mtwmapi.MsgTypeSkuDelete:
interfaceUrl = "/skuDelete"
case mtwmapi.MsgTypeStoreBind:
interfaceUrl = "/storeBind"
default:
globals.SugarLogger.Errorf("美团超市[app_id :=%s ,callbackUrl := %s ]回调推送到果园错误,回调地址不正确", appId, msgType)
}
return interfaceUrl
}

View File

@@ -225,14 +225,14 @@ func (c *Auth2Controller) WeixinMPOAuth2() {
} }
} }
if params.Block != "" { if params.Block != "" {
if moblie := params.Block[strings.LastIndex(params.Block, "=")+1:]; moblie != "" { if mobile := params.Block[strings.LastIndex(params.Block, "=")+1:]; mobile != "" {
if user, err := dao.GetUserByID(dao.GetDB(), "mobile", moblie); err == nil { if user, err := dao.GetUserByID(dao.GetDB(), "mobile", mobile); err == nil {
if user != nil { if user != nil {
authInfo.AuthBindInfo.UserID = user.UserID authInfo.AuthBindInfo.UserID = user.UserID
authInfo.AuthBindInfo.AuthBind.UserID = user.UserID authInfo.AuthBindInfo.AuthBind.UserID = user.UserID
auth2.AddAuthBind(user, authInfo) auth2.AddAuthBind(user, authInfo)
} else { } else {
return retVal, errCode, fmt.Errorf("未查询到用户mobile :%v", moblie) return retVal, errCode, fmt.Errorf("未查询到用户mobile :%v", mobile)
} }
} }
} }
@@ -241,10 +241,9 @@ func (c *Auth2Controller) WeixinMPOAuth2() {
params.Block = params.Block[:strings.LastIndex(params.Block, "?")] params.Block = params.Block[:strings.LastIndex(params.Block, "?")]
} }
redirectURL = fmt.Sprintf("%s?info=%s", params.Block, base64.StdEncoding.EncodeToString(utils.MustMarshal(callResult))) redirectURL = fmt.Sprintf("%s?info=%s", params.Block, base64.StdEncoding.EncodeToString(utils.MustMarshal(callResult)))
globals.SugarLogger.Debugf("===redirectURL=== %s", redirectURL)
globals.SugarLogger.Debugf("===retVal=== %s", utils.Format4Output(retVal, false))
return retVal, model.ErrorCodeIgnore, err return retVal, model.ErrorCodeIgnore, err
}) })
globals.SugarLogger.Debugf("redirectURL=====: %s", redirectURL)
c.Redirect(redirectURL, http.StatusTemporaryRedirect) c.Redirect(redirectURL, http.StatusTemporaryRedirect)
} }

View File

@@ -15,7 +15,7 @@ func (c *MtwmController) onCallbackMsg(msgType string) {
c.Data["json"] = mtwmapi.Err2CallbackResponse(nil, "") c.Data["json"] = mtwmapi.Err2CallbackResponse(nil, "")
msg, callbackResponse := api.MtwmAPI.GetCallbackMsg(c.Ctx.Request) msg, callbackResponse := api.MtwmAPI.GetCallbackMsg(c.Ctx.Request)
if callbackResponse == nil { if callbackResponse == nil {
callbackResponse = mtwm.OnCallbackMsg(msg) callbackResponse = mtwm.OnCallbackMsg(msg, msgType)
if callbackResponse == nil { if callbackResponse == nil {
callbackResponse = mtwmapi.Err2CallbackResponse(nil, "") callbackResponse = mtwmapi.Err2CallbackResponse(nil, "")
} }