/** 回复消息列表页面 */ @RequestMapping(value = "/manager/replys", method = RequestMethod.GET) public ModelAndView listReply(String pagenum) { ModelAndView mv = new ModelAndView(); mv.addObject("sidebar", "replys"); mv.setViewName("replys"); int num = 1; if (null != pagenum) { num = Integer.parseInt(pagenum); } List<Reply> list = weixinService.listReply((num - 1) * pagesize, pagesize); mv.addObject("replyList", list); mv.addObject("pagenum", num); mv.addObject("length", list.size()); return mv; }
// 接收微信公众号接收的消息,处理后再做相应的回复 @RequestMapping( value = "/weixin", method = RequestMethod.POST, produces = "text/html;charset=UTF-8") @ResponseBody public String replyMessage(HttpServletRequest request) { // 仅处理微信服务端发的请求 if (checkWeixinReques(request)) { Map<String, String> requestMap = WeixinUtil.parseXml(request); Message message = WeixinUtil.mapToMessage(requestMap); weixinService.addMessage(message); // 保存接受消息到数据库 String replyContent = Reply.WELCOME_CONTENT; String type = message.getMsgType(); // 发送方帐号(open_id) String fromUserName = requestMap.get("FromUserName"); if (type.equals(Message.TEXT)) { // 仅处理文本回复内容 String content = message.getContent(); // 消息内容 String[] cs = content.split("_"); // 消息内容都以下划线_分隔 if (cs.length == 2) { int employeeid; // 员工编号 String process = cs[1]; // 操作 try { employeeid = Integer.parseInt(cs[0]); if ("出勤".equals(process)) { replyContent = weixinService.getSingleAttendStringByemployeeId(employeeid); } else if ("出勤历史".equals(process)) { replyContent = weixinService.getAttendHistoryStringByemployeeId(employeeid); } else if ("留言".equals(process)) { replyContent = weixinService.getSingleEmployeeMessageByemployeeId(employeeid); } else if ("留言历史".equals(process)) { replyContent = weixinService.getEmployeeMessageHistoryByEmployeeId(employeeid); } else if ("动态".equals(process)) { replyContent = weixinService.getSingleDeptNewsByemployeeId(employeeid); } else if ("动态历史".equals(process)) { replyContent = weixinService.getDeptNewsHistoryByemployeeId(employeeid); } } catch (NumberFormatException e) { replyContent = Reply.ERROR_CONTENT; } } } else if (type.equals(Message.SCAN)) { String eventKey = requestMap.get("EventKey"); if (eventKey.equals("1")) { replyContent = "扫码签到被点击"; } } // 拼装回复消息 Reply reply = new Reply(); reply.setToUserName(message.getFromUserName()); reply.setFromUserName(message.getToUserName()); DateUtils dateUtils = new DateUtils(); Timestamp timestamp = dateUtils.converIntoNormal(new Date()); reply.setCreateTime(timestamp); reply.setMsgType(Reply.TEXT); reply.setContent(replyContent); weixinService.addReply(reply); // 保存回复消息到数据库 // 将回复消息序列化为xml形式 String back = WeixinUtil.replyToXml(reply); System.out.println(back); return back; } else { return "error"; } }
@RequestMapping(value = "/test", method = RequestMethod.GET, produces = "text/html;charset=UTF-8") @ResponseBody public String test(HttpServletRequest request) { return weixinService.getEmployeeMessageHistoryByEmployeeId(30202); }