微信消息推送

相关内容开发参考微信公众平台——》开发者中心——》接口文档。

一般为调用公众平台接口api,返回json对象


一、开启回调模式

1.下载微信java加密解密库,并放在工程路径中,本工程为weixin.common.util目录,加载jar;

2.配置企业号常量类,本工程为WeiXinParam,其中TOKEN、EncodingAESKey对应回调模式设置值,CORP_ID为企业号对应的id;

3.调用微信java 加密库里的wXBizMsgCrypt.VerifyURL方法验证回调模式url有效性;

至此添加的jar包:

commons-codec-1.9.jar
log4j-1.2.17.jar

二、推送消息

详见PushMessage的pushMessage方法。

package weixin.busi.service;


import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;


import net.sf.json.JSONObject;


import org.apache.log4j.Logger;


import weixin.access.token.AccessToken;
import weixin.access.token.MisApp;
import weixin.addressbook.util.AddressBookUtil;
import weixin.addressbook.util.QyUser;
import weixin.addressbook.util.WeixinDepartment;
import weixin.common.util.AesException;
import weixin.common.util.SingletonObject;
import weixin.common.util.WXBizMsgCrypt;
import weixin.common.util.WeiXinParam;
import weixin.message.Util.MessageUtil;
import weixin.response.message.SendTextMessage;
import weixin.response.message.TextContent;
public class PushMessage {
private Logger log=Logger.getLogger(PushMessage.class);
public void pushMessage() throws AesException{
String respContent="未知消息,请忽略!";

//获取accessToken
MisApp misApp=new MisApp();
AccessToken accessToken=MessageUtil.getAccessToken(misApp);


//获取已关注成员列表
List<QyUser> qyUserList=AddressBookUtil.findAllQyUser(accessToken.getAccess_token());
log.info("============成功获取已关注成员列表"+qyUserList.size()+"============");
if(qyUserList!=null){
for(QyUser qyUser:qyUserList){
log.info("============已关注成员列表循环查询"+"============");
String comnum="";
if(qyUser.getExtattr()!=null&&qyUser.getExtattr().getAttrs()!=null){
comnum=qyUser.getExtattr().getAttrs()[0].getValue();
}
String userName=qyUser.getName();

//拼接消息
StringBuffer stringBuffer=new StringBuffer();
stringBuffer.append(userName+",您好!\n系统中您工号XXXX"+"有如下待办事项:\n");
 
stringBuffer.append("任务名称"+"*"+"任务数量\n");
//发送待办事项消息提醒
if(!stringBuffer.toString().equals("")){
respContent=stringBuffer.toString();
}
TextContent textContent=new TextContent();
textContent.setContent(respContent);
//以文本消息回复
SendTextMessage sendMessage=new SendTextMessage();
sendMessage.setTouser(qyUser.getUserid());
sendMessage.setToparty("@all");
sendMessage.setTotag("@all");
sendMessage.setText(textContent);
sendMessage.setMsgtype(MessageUtil.RESP_MESSAGE_TYPE_TEXT);
sendMessage.setAgentid(WeiXinParam.AGENT_ID);
sendMessage.setSafe("0");
String respXml=JSONObject.fromObject(sendMessage).toString();

log.info("============推送消息封装的内容:"+respXml+"============");
SendMessage send=new SendMessage();
send.send(accessToken.getAccess_token(), respXml);
}
}


}
}



添加jar包:

json-lib-2.4-jdk13.jar


添加MyX509TrustManager.java类,继承X509TrustManager





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值