package com.lls.core.service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.lls.core.message.resp.Article;
import com.lls.core.message.resp.Music;
import com.lls.core.message.resp.MusicMessage;
import com.lls.core.message.resp.NewsMessage;
import com.lls.core.message.resp.TextMessage;
import com.lls.core.util.MessageUtil;
import com.lls.weixin.pojo.AccessToken;
import com.lls.weixin.util.WeixinUtil;
/**
* 核心服务类
*
*/
public class CoreService {
private static Logger log = LoggerFactory.getLogger(CoreService.class);
/**
* 处理微信发来的请求
*
* @param request
* @return
*/
public static String processRequest(HttpServletRequest request) {
log.info("=====processRequest==========");
String respMessage = null;
try {
// xml请求解析
Map<String, String> requestMap = MessageUtil.parseXml(request);
// 发送方帐号(open_id)
String fromUserName = requestMap.get("FromUserName");
// 公众帐号
String toUserName = requestMap.get("ToUserName");
// 消息类型
String msgType = requestMap.get("MsgType");
// 默认回复此文本消息
TextMessage textMessage = new TextMessage();
// 文本消息
if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_TEXT)) {
// 接收用户发送的文本消息内容
String content = requestMap.get("Content");
// 创建图文消息
NewsMessage newsMessage = new NewsMessage();
newsMessage.setToUserName(fromUserName);
newsMessage.setFromUserName(toUserName);
newsMessage.setCreateTime(new Date().getTime());
newsMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_NEWS);
//newsMessage.setFuncFlag(0);
List<Article> articleList = new ArrayList<Article>();
// 单图文消息
if ("1".equals(content)) {
Article article = new Article();
article.setTitle("长江水路运输公司微信公众帐号");
article.setDescription("长江水路运输公司");
article.setPicUrl("http://llsweixin.duapp.com/images/1.jpg");
article.setUrl("http://llsweixin.duapp.com");
articleList.add(article);
// 设置图文消息个数
newsMessage.setArticleCount(articleList.size());
// 设置图文消息包含的图文集合
newsMessage.setArticles(articleList);
// 将图文消息对象转换成xml字符串
respMessage = MessageUtil.newsMessageToXml(newsMessage);
}
// 单图文消息---不含图片
else if ("2".equals(content)) {
Article article = new Article();
article.setTitle("长江水路运输公司微信公众帐号");
// 图文消息中可以使用QQ表情、符号表情
article.setDescription("长江水路运输公司微信公众帐号," + emoji(0x1F6B9)
+ ",长江水路运输公司微信公众帐号!\n\n目前已推出12服务务。\n\n后期还计划推出一些实用功能,例如:天气预报、周边搜索、聊天功能等。");
// 将图片置为空
article.setPicUrl("http://llsweixin.duapp.com/images/1.jpg");
article.setUrl("http://llsweixin.duapp.com");
articleList.add(article);
newsMessage.setArticleCount(articleList.size());
newsMessage.setArticles(articleList);
respMessage = MessageUtil.newsMessageToXml(newsMessage);
}
// 多图文消息
else if ("3".equals(content)) {
Article article1 = new Article();
article1.setTitle("长江水路运输公司微信公众帐号");
article1.setDescription("");
article1.setPicUrl("http://llsweixin.duapp.com/images/1.jpg");
article1.setUrl("http://llsweixin.duapp.com");
Article article2 = new Article();
article2.setTitle("长江水路运输公司微信公众帐号");
article2.setDescription("");
article2.setPicUrl("http://llsweixin.duapp.com/images/1.jpg");
article2.setUrl("http://llsweixin.duapp.com");
Article article3 = new Article();
article3.setTitle("长江水路运输公司微信公众帐号");
article3.setDescription("");
article3.setPicUrl("http://llsweixin.duapp.com/images/1.jpg");
article3.setUrl("http://llsweixin.duapp.com/");
articleList.add(article1);
articleList.add(article2);
articleList.add(article3);
newsMessage.setArticleCount(articleList.size());
newsMessage.setArticles(articleList);
respMessage = MessageUtil.newsMessageToXml(newsMessage);
}
// 多图文消息---首条消息不含图片
else if ("4".equals(content)) {
Article article1 = new Article();
article1.setTitle("长江水路运输公司");
article1.setDescription("");
// 将图片置为空
article1.setPicUrl("");
article1.setUrl("http://llsweixin.duapp.com/");
Article article2 = new Article();
article2.setTitle("长江水路运输公司");
article2.setDescription("");
article2.setPicUrl("http://llsweixin.duapp.com/images/1.jpg");
article2.setUrl("http://llsweixin.duapp.com");
Article article3 = new Article();
article3.setTitle("长江水路运输公司");
article3.setDescription("");
article3.setPicUrl("http://llsweixin.duapp.com/images/1.jpg");
article3.setUrl("http://llsweixin.duapp.com");
Article article4 = new Article();
article4.setTitle("长江水路运输公司");
article4.setDescription("");
article4.setPicUrl("http://llsweixin.duapp.com/images/1.jpg");
article4.setUrl("http://llsweixin.duapp.com");
articleList.add(article1);
articleList.add(article2);
articleList.add(article3);
articleList.add(article4);
newsMessage.setArticleCount(articleList.size());
newsMessage.setArticles(articleList);
respMessage = MessageUtil.newsMessageToXml(newsMessage);
}
// 多图文消息---最后一条消息不含图片
else if ("5".equals(content)) {
Article article1 = new Article();
article1.setTitle("长江水路运输公司标题1");
article1.setDescription("");
article1.setPicUrl("http://llsweixin.duapp.com/images/1.jpg");
article1.setUrl("http://llsweixin.duapp.com");
Article article2 = new Article();
article2.setTitle("长江水路运输公司标题2");
article2.setDescription("");
article2.setPicUrl("http://llsweixin.duapp.com/images/1.jpg");
article2.setUrl("http://llsweixin.duapp.com");
Article article3 = new Article();
article3.setTitle("长江水路运输公司标题3");
article3.setDescription("");
// 将图片置为空
article3.setPicUrl("");
article3.setUrl("http://llsweixin.duapp.com");
articleList.add(article1);
articleList.add(article2);
articleList.add(article3);
newsMessage.setArticleCount(articleList.size());
newsMessage.setArticles(articleList);
respMessage = MessageUtil.newsMessageToXml(newsMessage);
}
//音乐信息
else {
Music m = new Music();
m.setDescription("中国好声音");
m.setTitle("中国好声音");
m.setMusicUrl("http://llsweixin.duapp.com/mp3/2.mp3");
m.setHQMusicUrl("http://llsweixin.duapp.com/mp3/2.mp3");
MusicMessage mm = new MusicMessage();
mm.setMusic(m);
mm.setFromUserName(toUserName);
mm.setToUserName(fromUserName);
//mm.setFuncFlag(0);
mm.setCreateTime(new Date().getTime());
mm.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_MUSIC);
respMessage = MessageUtil.musicMessageToXml(mm);
}
}
// 图片消息
else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_IMAGE)) {
textMessage.setContent("您给我发送的是图片消息!");
respMessage = MessageUtil.
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
javaWeixin.rar (86个子文件)
javaWeixin
.project 1KB
.settings
.jsdtscope 500B
org.eclipse.core.resources.prefs 88B
org.eclipse.wst.common.component 467B
org.eclipse.jdt.core.prefs 629B
org.eclipse.wst.common.project.facet.core.xml 252B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.name 6B
.mymetadata 274B
WebRoot
WEB-INF
duapp-web.xml 356B
web.xml 850B
lib
commons-lang-2.4.jar 256KB
commons-codec-1.6.jar 227KB
jsoup-1.7.2.jar 287KB
commons-collections-3.2.jar 558KB
slf4j-log4j12-1.5.8.jar 9KB
jackson-databind-2.2.0.jar 845KB
log4j-1.2.17.jar 478KB
commons-beanutils-1.7.0.jar 184KB
fastjson-1.1.1.jar 277KB
servlet-api.jar 86KB
json-lib-2.2.2-jdk15.jar 141KB
dom4j-1.6.1.jar 307KB
log4j-adapter-1.0.0.jar 3KB
slf4j-api-1.5.8.jar 23KB
commons-httpclient-3.0.jar 273KB
commons-logging-1.1.1.jar 59KB
xstream-1.1.2.jar 241KB
ezmorph-1.0.4.jar 84KB
classes
log4j.properties 287B
com
lls
weixin
main
MenuManager.class 4KB
util
WeixinUtil.class 6KB
MyX509TrustManager.class 893B
pojo
CommonButton.class 919B
ComplexButton.class 615B
Menu.class 566B
Button.class 533B
AccessToken.class 765B
core
servlet
CoreServlet.class 2KB
message
resp
TextMessage.class 600B
NewsMessage.class 1KB
LocationMessage.class 1KB
ImageMessage.class 599B
Article.class 1KB
BaseMessage.class 1KB
LinkMessage.class 994B
VoiceMessage.class 800B
MusicMessage.class 640B
Music.class 1KB
service
CoreService.class 7KB
util
MessageUtil.class 4KB
SignUtil.class 2KB
MessageUtil$1.class 724B
MessageUtil$1$1.class 1KB
baidu
test
index.jsp 862B
META-INF
MANIFEST.MF 39B
mp3
2.mp3 401KB
static
hello.html 219B
beaDbTest.jsp 2KB
admin
index.jsp 842B
images
1.jpg 22KB
jsp
hello.jsp 672B
src
log4j.properties 287B
com
lls
weixin
main
MenuManager.java 6KB
util
MyX509TrustManager.java 591B
WeixinUtil.java 6KB
pojo
AccessToken.java 475B
Button.java 279B
Menu.java 289B
CommonButton.java 630B
ComplexButton.java 362B
core
servlet
CoreServlet.java 2KB
message
resp
LocationMessage.java 1KB
TextMessage.java 299B
Article.java 1013B
Music.java 871B
ImageMessage.java 341B
BaseMessage.java 1KB
LinkMessage.java 775B
VoiceMessage.java 558B
MusicMessage.java 268B
NewsMessage.java 613B
service
CoreService.java 12KB
util
MessageUtil.java 5KB
SignUtil.java 2KB
baidu
test
.classpath 529B
lib
共 86 条
- 1
IamLsz
- 粉丝: 47
- 资源: 65
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- LCD1602电子时钟程序
- 西北太平洋热带气旋【灾害风险统计】及【登陆我国次数评估】数据集-1980-2023
- 全球干旱数据集【自校准帕尔默干旱程度指数scPDSI】-190101-202312-0.5x0.5
- 基于Python实现的VAE(变分自编码器)训练算法源代码+使用说明
- 全球干旱数据集【标准化降水蒸发指数SPEI-12】-190101-202312-0.5x0.5
- C语言小游戏-五子棋-详细代码可运行
- 全球干旱数据集【标准化降水蒸发指数SPEI-03】-190101-202312-0.5x0.5
- spring boot aop记录修改前后的值demo
- 全球干旱数据集【标准化降水蒸发指数SPEI-01】-190101-202312-0.5x0.5
- ActiveReports
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页