Search in sources :

Example 1 with Reply

use of com.aixuexiao.model.Reply in project aixuexiao by zhiyuncloud.

the class WeixinController method listReply.

/**
	 * 回复消息列表页面
	 */
@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;
}
Also used : ModelAndView(org.springframework.web.servlet.ModelAndView) Reply(com.aixuexiao.model.Reply) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 2 with Reply

use of com.aixuexiao.model.Reply in project aixuexiao by zhiyuncloud.

the class WeixinController method replyMessage.

//接收微信公众号接收的消息,处理后再做相应的回复
@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();
        if (type.equals(Message.TEXT)) {
            //仅处理文本回复内容
            //消息内容
            String content = message.getContent();
            //消息内容都以下划线_分隔
            String[] cs = content.split("_");
            if (cs.length == 2) {
                //学生编号
                int studentid;
                //操作
                String process = cs[1];
                try {
                    studentid = Integer.parseInt(cs[0]);
                    if ("考试".equals(process)) {
                        replyContent = weixinService.getSingleExamMarkStringByStudentId(studentid);
                    } else if ("考试历史".equals(process)) {
                        replyContent = weixinService.getExamMarkHistoryStringByStudentId(studentid);
                    } else if ("留言".equals(process)) {
                        replyContent = weixinService.getSingleStudentMessageByStudentId(studentid);
                    } else if ("留言历史".equals(process)) {
                        replyContent = weixinService.getStudentMessageHistoryByStudentId(studentid);
                    } else if ("动态".equals(process)) {
                        replyContent = weixinService.getSingleClassesNewsByStudentId(studentid);
                    } else if ("动态历史".equals(process)) {
                        replyContent = weixinService.getClassesNewsHistoryByStudentId(studentid);
                    }
                } catch (NumberFormatException e) {
                    replyContent = Reply.ERROR_CONTENT;
                }
            }
        }
        //拼装回复消息
        Reply reply = new Reply();
        reply.setToUserName(message.getFromUserName());
        reply.setFromUserName(message.getToUserName());
        reply.setCreateTime(new Date());
        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";
    }
}
Also used : Message(com.aixuexiao.model.Message) Reply(com.aixuexiao.model.Reply) Date(java.util.Date) RequestMapping(org.springframework.web.bind.annotation.RequestMapping) ResponseBody(org.springframework.web.bind.annotation.ResponseBody)

Aggregations

Reply (com.aixuexiao.model.Reply)2 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)2 Message (com.aixuexiao.model.Message)1 Date (java.util.Date)1 ResponseBody (org.springframework.web.bind.annotation.ResponseBody)1 ModelAndView (org.springframework.web.servlet.ModelAndView)1