diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WechatCalllbackController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WechatCalllbackController.java index 5d39d2009..bb2ce1f13 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WechatCalllbackController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WechatCalllbackController.java @@ -5,6 +5,7 @@ import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; +import me.chanjar.weixin.mp.bean.message.WxMpXmlOutTextMessage; import me.chanjar.weixin.open.bean.message.WxOpenXmlMessage; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -75,7 +76,7 @@ public class WechatCalllbackController extends BaseController { return "success"; } - @RequestMapping(value = "/{appId}/callback", method = RequestMethod.POST, produces = MediaType.TEXT_XML_VALUE) + @RequestMapping(value = "/{appId}/callback") public Object callback(@PathVariable("appId") String appId, HttpServletRequest request) throws IOException { logger.info("[" +getIpAddr() + "]接收微信请求 /{appId}/callback"); InputStream inStream = request.getInputStream(); @@ -139,14 +140,21 @@ public class WechatCalllbackController extends BaseController { } else { /**判断消息类型,调用对应的方法*/ switch (inMessage.getMsgType()){ - /* case "event": case "text": WxMpXmlOutMessage outMessage = wxOpenService.getWxOpenMessageRouter().route(inMessage, appId); if (outMessage != null) { out = WxOpenXmlMessage.wxMpOutXmlMessageToEncryptedXml(outMessage, wxOpenService.getWxOpenConfigStorage()); + } else { + WxMpXmlOutMessage outMsg = new WxMpXmlOutTextMessage(); + outMsg.setCreateTime(System.currentTimeMillis()); + outMsg.setToUserName(inMessage.getFromUser()); + outMsg.setFromUserName(inMessage.getToUser()); + outMsg.setMsgType("text"); + ((WxMpXmlOutTextMessage) outMsg).setContent(inMessage.getContent()); + out = WxOpenXmlMessage.wxMpOutXmlMessageToEncryptedXml(outMsg, wxOpenService.getWxOpenConfigStorage()); } - */ + break; default: return "success"; }