Package org.hamster.weixinmp.controller

Source Code of org.hamster.weixinmp.controller.WxController

/**
*
*/
package org.hamster.weixinmp.controller;

import org.apache.log4j.Logger;
import org.dom4j.DocumentException;
import org.hamster.weixinmp.dao.entity.base.WxBaseMsgEntity;
import org.hamster.weixinmp.dao.entity.base.WxBaseRespEntity;
import org.hamster.weixinmp.exception.WxException;
import org.hamster.weixinmp.service.WxAuthService;
import org.hamster.weixinmp.service.WxMessageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;


/**
* @author grossopaforever@gmail.com
* @version Jul 28, 2013
*
*/
@Controller
@RequestMapping("/rest/weixinmp")
public class WxController {
  private static final Logger log = Logger.getLogger(WxController.class);
 
  @Autowired
  private WxAuthService authService;
  @Autowired
  private WxMessageService messageService;
 
  @RequestMapping(method = {RequestMethod.GET,})
  public @ResponseBody
  String authGet(@RequestParam("signature") String signature,
      @RequestParam("timestamp") String timestamp,
      @RequestParam("nonce") String nonce,
      @RequestParam("echostr") String echostr) throws WxException {
    if (authService.validateAuth(signature, timestamp, nonce, echostr)) {
      log.info("received authentication message from Weixin Server.");
      return echostr;
    }
    return null;
  }

  @RequestMapping(method = RequestMethod.POST)
  public @ResponseBody
  String post(@RequestBody String requestBody) throws DocumentException, WxException {
    WxBaseMsgEntity msg = messageService.parseXML(requestBody);
    log.info("received " + msg.getMsgType() + " message.");
   
    WxBaseRespEntity resp = messageService.handleMessage(msg);
   
    return messageService.parseRespXML(resp).asXML();
  }

}
TOP

Related Classes of org.hamster.weixinmp.controller.WxController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.