diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WechatCalllbackController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WechatCalllbackController.java index d9852e9d1..5d39d2009 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WechatCalllbackController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WechatCalllbackController.java @@ -10,6 +10,7 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -74,7 +75,7 @@ public class WechatCalllbackController extends BaseController { return "success"; } - @RequestMapping("/{appId}/callback") + @RequestMapping(value = "/{appId}/callback", method = RequestMethod.POST, produces = MediaType.TEXT_XML_VALUE) public Object callback(@PathVariable("appId") String appId, HttpServletRequest request) throws IOException { logger.info("[" +getIpAddr() + "]接收微信请求 /{appId}/callback"); InputStream inStream = request.getInputStream(); @@ -110,7 +111,7 @@ public class WechatCalllbackController extends BaseController { // aes加密的消息 WxMpXmlMessage inMessage = WxOpenXmlMessage.fromEncryptedMpXml(resultxml, wxOpenService.getWxOpenConfigStorage(), timestamp, nonce, msgSignature); - this.logger.debug("\n消息解密后内容为:\n{} ", inMessage.toString()); + logger.debug("\n消息解密后内容为:\n{} ", inMessage.toString()); // 全网发布测试用例 if (StringUtils.equalsAnyIgnoreCase(appId, "wxd101a85aa106f53e", "wx570bc396a51b8ff8")) { try { @@ -136,11 +137,22 @@ public class WechatCalllbackController extends BaseController { logger.error("callback", e); } } else { - WxMpXmlOutMessage outMessage = wxOpenService.getWxOpenMessageRouter().route(inMessage, appId); - if (outMessage != null) { - out = WxOpenXmlMessage.wxMpOutXmlMessageToEncryptedXml(outMessage, wxOpenService.getWxOpenConfigStorage()); + /**判断消息类型,调用对应的方法*/ + switch (inMessage.getMsgType()){ + /* + case "event": + case "text": + WxMpXmlOutMessage outMessage = wxOpenService.getWxOpenMessageRouter().route(inMessage, appId); + if (outMessage != null) { + out = WxOpenXmlMessage.wxMpOutXmlMessageToEncryptedXml(outMessage, wxOpenService.getWxOpenConfigStorage()); + } + */ + default: + return "success"; } } + + logger.info(out); return out; } }