This commit is contained in:
邹宗楠
2024-10-16 09:17:05 +08:00
parent a6e6222075
commit 32cde499da
28 changed files with 271 additions and 167 deletions

View File

@@ -66,14 +66,18 @@ func GetVendorAppIdFromMsg(msg *mtwmapi.CallbackMsg) string {
// OnImMsg im消息回调
func OnImMsg(msg *mtwmapi.ImCallbackMsg) (response *mtwmapi.CallbackResponse) {
if str, err := json.Marshal(msg.PushContent); err == nil {
if beego.BConfig.RunMode != "jxgy" {
var PushContentReq = mtwmapi.PushContentReq{}
if err = json.Unmarshal(str, &PushContentReq); err != nil {
return mtwmapi.SignatureIsNotOk
}
storeDetail, err2 := dao.GetStoreDetailByVendorStoreID(dao.GetDB(), PushContentReq.AppPoiCode, model.VendorIDMTWM, utils.Int2Str(PushContentReq.AppID))
if err2 != nil || storeDetail == nil {
pushIMToGy(msg)
var PushContentReq = mtwmapi.PushContentReq{}
if err = json.Unmarshal(str, &PushContentReq); err != nil {
return mtwmapi.SignatureIsNotOk
}
storeDetail, err2 := dao.GetStoreDetailByVendorStoreID(dao.GetDB(), PushContentReq.AppPoiCode, model.VendorIDMTWM, utils.Int2Str(PushContentReq.AppID))
if err2 != nil || storeDetail == nil {
switch beego.BConfig.RunMode {
case model.ServerTypeFruits:
pushIMToGyOrPet(msg, model.ServerTypePet)
return mtwmapi.SuccessResponse
case model.ServerTypeVegetable:
pushIMToGyOrPet(msg, model.ServerTypeFruits)
return mtwmapi.SuccessResponse
}
}
@@ -87,18 +91,32 @@ func OnImMsg(msg *mtwmapi.ImCallbackMsg) (response *mtwmapi.CallbackResponse) {
return mtwmapi.SuccessResponse
}
func pushIMToGy(msg *mtwmapi.ImCallbackMsg) {
cl := http.Client{}
func pushIMToGyOrPet(msg *mtwmapi.ImCallbackMsg, serverType string) {
var (
cl = http.Client{}
request = &http.Request{}
err error
)
params := make(map[string]interface{})
params["timestamp"] = msg.Timestamp
params["sign"] = msg.Sig
params["app_id"] = msg.AppID
params["biz_type"] = msg.BizType
params["push_content"] = msg.PushContent
request, err := http.NewRequest(http.MethodPost, "http://callback-jxgy.jxc4.com/mtwm/iMCallback", strings.NewReader(utils.Map2URLValues(params).Encode()))
if err != nil {
return
switch serverType {
case model.ServerTypeFruits:
request, err = http.NewRequest(http.MethodPost, "http://callback-jxgy.jxc4.com/mtwm/iMCallback", strings.NewReader(utils.Map2URLValues(params).Encode()))
if err != nil {
return
}
case model.ServerTypePet:
request, err = http.NewRequest(http.MethodPost, "http://callback-jxpet.jxc4.com/mtwm/iMCallback", 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)
}

View File

@@ -343,8 +343,11 @@ func (p *PurchaseHandler) onStoreStatusChanged(msg *mtwmapi.CallbackMsg) (respon
}
if err == nil && storeStatus == model.StoreStatusDisabled {
if beego.BConfig.RunMode == "jxgy" {
if beego.BConfig.RunMode == model.ServerTypeFruits {
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, model.DefaultUserIdGuoYuan, "美团果园门店下线通知", fmt.Sprintf("果园美团门店被下线了:门店id[%s],平台门店id[%s]", "暂未获取", vendorStoreID))
} else if beego.BConfig.RunMode == model.ServerTypePet {
// todo 暂无服务部署,后面补
//ddmsg.SendUserMessage(dingdingapi.MsgTyeText, model.DefaultUserIdGuoYuan, "美团果园门店下线通知", fmt.Sprintf("果园美团门店被下线了:门店id[%s],平台门店id[%s]", "暂未获取", vendorStoreID))
} else {
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, model.DefaultUserIdCaiShi, "美团果菜市店下线通知", fmt.Sprintf("菜市美团门店被下线了:门店id[%s],平台门店id[%s]", "暂未获取", vendorStoreID))
}
@@ -511,8 +514,11 @@ func (c *PurchaseHandler) UpdateStoreLineStatus(ctx *jxcontext.Context, vendorOr
err = mtwmApi.PoiOffline(vendorStoreID)
// 通知给石锋
switch beego.BConfig.RunMode {
case "jxgy":
case model.ServerTypeFruits:
err = ddmsg.SendUserMessage(dingdingapi.MsgTyeText, model.DefaultUserIdGuoYuan, fmt.Sprintf("(果园)美团门店被关闭了:门店id[%d],平台门店id[%s]", storeID, vendorStoreID), "!")
case model.ServerTypePet:
// todo 暂无服务器部署
//err = ddmsg.SendUserMessage(dingdingapi.MsgTyeText, model.DefaultUserIdGuoYuan, fmt.Sprintf("(果园)美团门店被关闭了:门店id[%d],平台门店id[%s]", storeID, vendorStoreID), "!")
default:
err = ddmsg.SendUserMessage(dingdingapi.MsgTyeText, model.DefaultUserIdCaiShi, fmt.Sprintf("(菜市)美团门店被关闭了:门店id[%d],平台门店id[%s]", storeID, vendorStoreID), "!")
}