package com.sinovatech.rd.wcsb.cli.demo.web.wcsb;
import java.io.IOException;
import java.io.InputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.sinovatech.rd.wcsb.cli.api.message.req.CommEventMsgReq;
import com.sinovatech.rd.wcsb.cli.api.message.rsp.VideoMsgRsp;
import com.sinovatech.rd.wcsb.cli.api.message.vo.Video;
import com.sinovatech.rd.wcsb.cli.api.service.dict.EventTypeDict;
/**
*
* TODO: 处理微信服务平台请求C
*
* @author ZHENFENG ZHANG
* @since [Jan 27, 2015]
*/
@Controller
@RequestMapping("/wcsbus/*")
public class WcsbusControllerTest {
private final Logger logger = LoggerFactory.getLogger(getClass());
/**
* 开发者微信号ToUserName XPath
*/
@SuppressWarnings("unused")
private static final String TO_USER_NAME_XPATH = "/xml/ToUserName";
public static void main(String[] args) throws Exception {
String text = "<xml>";
text += "<ToUserName><![CDATA[gh_b931f645aae1]]></ToUserName>";
text += "<FromUserName><![CDATA[o-bc2v98_6iKrDS2ELiD04yd8B5k]]></FromUserName>";
text += "<CreateTime>1439809688</CreateTime>";
text += "<MsgType><![CDATA[event]]></MsgType>";
text += "<Event><![CDATA[enter_agent]]></Event>";
text += "<EventKey><![CDATA[http://www.baidu.com]]></EventKey>";
text += "</xml>";
//
CommEventMsgReq req = CommEventMsgReq.toBean(EventTypeDict.ENTER_AGENT, text);
System.out.println("bean=" + req);
//
System.out.println("");
VideoMsgRsp rsp = new VideoMsgRsp();
rsp.setCreateTime(System.currentTimeMillis());
rsp.setFromUserName("fromUserName");
rsp.setFuncFlag(0);
rsp.setToUserName("toUserName");
rsp.setVideo(new Video("title", "描述", "mediaId"));
//
//String xml = VideoMsgRsp.toXml(rsp);
//System.out.println("xml=:" + xml);
System.out.println("");
}
/**
* 接收消息
*
* @param request
* @param response
* @throws Exception
*/
@RequestMapping(value = "receiveMsg", method = RequestMethod.POST)
public void receiveMsg(HttpServletRequest request, HttpServletResponse response) throws Exception {
InputStream ins = null;
try {
ins = request.getInputStream();
// Document doc = new SAXReader().read(ins);
// 消息事件
//EventMsgReq req = MsgTypeDict.event.getMsgReq(doc.asXML());
// 返回值
// String _frUserName = doc.selectSingleNode(TO_USER_NAME_XPATH).getText();
// response.getWriter().write(_frUserName);
} catch (IOException e) {
logger.error("接收消息异常 \n {}", e);
} finally {
if (ins != null) {
ins.close();
}
}
return;
}
}