public String xmlToTextClass(String xml) { TextMessage textMsg = null; try { JAXBContext context = JAXBContext.newInstance(TextMessage.class); Unmarshaller um = context.createUnmarshaller(); ByteArrayInputStream is = new ByteArrayInputStream(xml.getBytes()); textMsg = (TextMessage) um.unmarshal(is); } catch (JAXBException e) { e.printStackTrace(); } String rspMsg = ""; try { if (textMsg == null) { return null; } else { /*TradingTips tips = null; tradingTipsMessage.pushMsg1(tips); System.out.println("xmlToTextClass-OK-------------------->>"); */ WeixinMessageF weixinMessage = new WeixinMessageF(textMsg); weixinMessage.setContent(textMsg.getContent().trim()); weiXinMessageFService.save(weixinMessage); if (WeiXinUtils.isNumeric(weixinMessage.getContent())) { // 判断用户输入信息是否是数字 // 首先判断session是否过期 weiXinSessionService.isSessionOver( weixinMessage.getFromUser(), StringUtils.parseDate2SecondStr(weixinMessage.getCreateDate())); ; WeiXinSessionPara wxsp = weiXinSessionParaService.findByMenuNo( weixinMessage.getFromUser(), weixinMessage.getContent()); if (wxsp != null) { // session_para中查询到相应的code SubscribeEvent subEvent = new SubscribeEvent(); subEvent.setEventKey(wxsp.getKey()); subEvent.setValue(wxsp.getValue()); subEvent.setCreateTime(StringUtils.parseDate2SecondStr(weixinMessage.getCreateDate())); subEvent.setFromUserName(weixinMessage.getFromUser()); subEvent.setToUserName(weixinMessage.getToUser()); return webmsg0101.pushClickMessage(subEvent); // 推送信息给用户 } } // 用户输入信息不是数字 匹配消息 显示给用户 List<ArticleF> article = articleFService.findByDescription(weixinMessage.getContent()); if (article == null || article.size() == 0) { // 未匹配到相关信息 // error rspMsg = CF.error_val; return Reply.rspTextMsg(weixinMessage.getFromUser(), weixinMessage.getToUser(), rspMsg); } else if (article.size() > 0) { // 匹配到相关信息 rspMsg += CF.common_val1; // "您要查找的全部消息如下:" rspMsg = queryKeywords(rspMsg, article, weixinMessage); // 生成带编号消息 return Reply.rspTextMsg(weixinMessage.getFromUser(), weixinMessage.getToUser(), rspMsg); } } } catch (Exception e) { e.printStackTrace(); } return null; }