Пример #1
0
 /** 回复消息列表页面 */
 @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;
 }
Пример #2
0
  // 接收微信公众号接收的消息,处理后再做相应的回复
  @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";
    }
  }
Пример #3
0
 @RequestMapping(value = "/test", method = RequestMethod.GET, produces = "text/html;charset=UTF-8")
 @ResponseBody
 public String test(HttpServletRequest request) {
   return weixinService.getEmployeeMessageHistoryByEmployeeId(30202);
 }