package net.tooan.ynpay.wechat.webapp.controller; import net.tooan.ynpay.commons.YnpayJndiConstants; import net.tooan.ynpay.third.jfinal.core.Controller; import net.tooan.ynpay.third.jfinal.ext.interceptor.ejb.RemoteEJB; import net.tooan.ynpay.wechat.agent.WechatConstants; import net.tooan.ynpay.wechat.agent.facade.WechatFacade; import net.tooan.ynpay.wechat.agent.helper.MsgTools; import net.tooan.ynpay.wechat.agent.model.Server; /** * Created with IntelliJ IDEA. * User: Jing * Date: 13-10-22 * Time: 上午10:06 */ public class EntranceController extends Controller { @RemoteEJB(mappedName = YnpayJndiConstants.Mongo_Wechat_Facade_Remote) private WechatFacade facade; public void index() { // 获取微信服务的名称 String name = getPara(0, WechatConstants.SERVICE_DEFAULT); // 如果是 GET 请求,那么对请求的参数进行校验 if ("GET".equals(getRequest().getMethod())) { try { Server server = facade.getServer(name); if (MsgTools.check(getPara("signature"), getPara("timestamp"), getPara("nonce"), server.getToken())) { if (server.getStatus() == -1) { renderNull(); } else { renderText(getPara("echostr")); } } else { renderNull(); } } catch (Exception e) { renderNull(); } } if ("POST".equals(getRequest().getMethod())) { forwardAction("/server/" + name); } } }