转载:java微信客服消息接口
</div>
<!--一个博主专栏付费入口-->
<!--一个博主专栏付费入口结束-->
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-4a3473df85.css">
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-4a3473df85.css">
<div class="htmledit_views" id="content_views">
原文链接:http://115.159.110.224/sys/myhref_viewThis.do?f_gid=C87024928E09415BA5AA3D7FA69D91B8&f_type=ly
2015-11-06 / 分类:微信开发
微信客服消息
微信客服消息:
package com.dm.wx.util;
import com.dm.wx.domain.respmessage.Article;
import com.dm.wx.domain.respmessage.Music;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
public class AdvancedUtil {
private static Logger log = LoggerFactory.getLogger(AdvancedUtil.class);
</span><span class="com">/**
* 组装发送文本消息
*
* @return
*/</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> makeTextCustomMessage</span><span class="pun">(</span><span class="typ">String</span><span class="pln"> openId</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> content</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
content </span><span class="pun">=</span><span class="pln"> content</span><span class="pun">.</span><span class="pln">replace</span><span class="pun">(</span><span class="str">"\""</span><span class="pun">,</span><span class="pln"> </span><span class="str">"\\\""</span><span class="pun">);</span><span class="pln">
</span><span class="typ">String</span><span class="pln"> jsonMsg </span><span class="pun">=</span><span class="pln"> </span><span class="str">"{\"touser\":\"%s\",\"msgtype\":\"text\",\"text\":{\"content\":\"%s\"}}"</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">String</span><span class="pun">.</span><span class="pln">format</span><span class="pun">(</span><span class="pln">jsonMsg</span><span class="pun">,</span><span class="pln"> openId</span><span class="pun">,</span><span class="pln"> content</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="com">/**
* 组装发送图片消息
*
* @return
*/</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> makeImageCustomMessage</span><span class="pun">(</span><span class="typ">String</span><span class="pln"> openId</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mediaId</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="typ">String</span><span class="pln"> jsonMsg </span><span class="pun">=</span><span class="pln"> </span><span class="str">"{\"touser\":\"%s\",\"msgtype\":\"image\",\"image\":{\"media_id\":\"%s\"}}"</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">String</span><span class="pun">.</span><span class="pln">format</span><span class="pun">(</span><span class="pln">jsonMsg</span><span class="pun">,</span><span class="pln"> openId</span><span class="pun">,</span><span class="pln"> mediaId</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="com">/**
* 组装发送语音消息
*
* @return
*/</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> makeVoiceCustomMessage</span><span class="pun">(</span><span class="typ">String</span><span class="pln"> openId</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mediaId</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="typ">String</span><span class="pln"> jsonMsg </span><span class="pun">=</span><span class="pln"> </span><span class="str">"{\"touser\":\"%s\",\"msgtype\":\"voice\",\"voice\":{\"media_id\":\"%s\"}}"</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">String</span><span class="pun">.</span><span class="pln">format</span><span class="pun">(</span><span class="pln">jsonMsg</span><span class="pun">,</span><span class="pln"> openId</span><span class="pun">,</span><span class="pln"> mediaId</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> makeVideoCustomMessage</span><span class="pun">(</span><span class="typ">String</span><span class="pln"> openId</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mediaId</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> thumbMediaId</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="typ">String</span><span class="pln"> jsonMsg </span><span class="pun">=</span><span class="pln"> </span><span class="str">"{\"touser\":\"%s\",\"msgtype\":\"video\",\"video\":{\"media_id\":\"%s\",\"thumb_media_id\":\"%s\"}}"</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">String</span><span class="pun">.</span><span class="pln">format</span><span class="pun">(</span><span class="pln">jsonMsg</span><span class="pun">,</span><span class="pln"> openId</span><span class="pun">,</span><span class="pln"> mediaId</span><span class="pun">,</span><span class="pln"> thumbMediaId</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> makeMusicCustomMessage</span><span class="pun">(</span><span class="typ">String</span><span class="pln"> openId</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Music</span><span class="pln"> music</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="typ">String</span><span class="pln"> jsonMsg </span><span class="pun">=</span><span class="pln"> </span><span class="str">"{\"touser\":\"%s\",\"msgtype\":\"music\",\"music\":%s}"</span><span class="pun">;</span><span class="pln">
jsonMsg </span><span class="pun">=</span><span class="pln"> </span><span class="typ">String</span><span class="pun">.</span><span class="pln">format</span><span class="pun">(</span><span class="pln">jsonMsg</span><span class="pun">,</span><span class="pln"> openId</span><span class="pun">,</span><span class="pln"> </span><span class="typ">JSONObject</span><span class="pun">.</span><span class="pln">fromObject</span><span class="pun">(</span><span class="pln">music</span><span class="pun">).</span><span class="pln">toString</span><span class="pun">());</span><span class="pln">
jsonMsg </span><span class="pun">=</span><span class="pln"> jsonMsg</span><span class="pun">.</span><span class="pln">replace</span><span class="pun">(</span><span class="str">"thumbmediaid"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"thumb_media_id"</span><span class="pun">);</span><span class="pln">
</span><span class="kwd">return</span><span class="pln"> jsonMsg</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> makeNewsCustomMessage</span><span class="pun">(</span><span class="typ">String</span><span class="pln"> openId</span><span class="pun">,</span><span class="pln"> </span><span class="typ">List</span><span class="pun"><</span><span class="typ">Article</span><span class="pun">></span><span class="pln"> articleList</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="typ">String</span><span class="pln"> jsonMsg </span><span class="pun">=</span><span class="pln"> </span><span class="str">"{\"touser\":\"%s\",\"msgtype\":\"news\",\"news\":{\"articles\":%s}}"</span><span class="pun">;</span><span class="pln">
jsonMsg </span><span class="pun">=</span><span class="pln"> </span><span class="typ">String</span><span class="pun">.</span><span class="pln">format</span><span class="pun">(</span><span class="pln">jsonMsg</span><span class="pun">,</span><span class="pln"> openId</span><span class="pun">,</span><span class="pln"> </span><span class="typ">JSONArray</span><span class="pun">.</span><span class="pln">fromObject</span><span class="pun">(</span><span class="pln">articleList</span><span class="pun">).</span><span class="pln">toString</span><span class="pun">().</span><span class="pln">replaceAll</span><span class="pun">(</span><span class="str">"\""</span><span class="pun">,</span><span class="str">"\\\""</span><span class="pun">));</span><span class="pln">
jsonMsg </span><span class="pun">=</span><span class="pln"> jsonMsg</span><span class="pun">.</span><span class="pln">replace</span><span class="pun">(</span><span class="str">"picUrl"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"picurl"</span><span class="pun">);</span><span class="pln">
</span><span class="kwd">return</span><span class="pln"> jsonMsg</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
public static void main(String args[]){
System.out.println(makeMusicCustomMessage(“xxxxxxxxxx”,new Music()));
System.out.println(makeVideoCustomMessage(“xxxxxxxxxx”,“m_id”,“t_m_id”));
System.out.println(makeVoiceCustomMessage(“xxxxxxxxxx”,“m_id”));
System.out.println(makeImageCustomMessage(“xxxxxxxxxx”,“m_id”));
}
}
测试客服消息,发送文本和图文到用户。
-
package
com
.
dm
.
wx
.
service
;
-
-
import
com
.
dm
.
wx
.
domain
.
respmessage
.
Article
;
-
import
com
.
dm
.
wx
.
domain
.
token
.
AccessToken
;
-
import
com
.
dm
.
wx
.
util
.
AdvancedUtil
;
-
import
com
.
dm
.
wx
.
util
.
CommonUtil
;
-
import
com
.
dm
.
wx
.
util
.
R
;
-
import
freemarker
.
cache
.
StrongCacheStorage
;
-
-
import
java
.
util
.
ArrayList
;
-
import
java
.
util
.
List
;
-
-
/**
-
* Created by IntelliJ IDEA.
-
* User: Administrator
-
* Date: 15-5-19
-
* Time: 上午12:35
-
* To change this template use File | Settings | File Templates.
-
*/
-
public
class
KefuSendMsg
{
//只有在48小时内给公众号发送过消息的用户才能接收到客服消息
-
-
public
static
void
main
(
String
args
[])
{
-
String
appId
=
R
.
appId
;
-
String
appSecret
=
R
.
appsecret
;
-
AccessToken
at
=
CommonUtil
.
getAccessToken
(
appId
,
appSecret
);
//获取accesstoken
-
String
jsonTextMsg
=
AdvancedUtil
.
makeTextCustomMessage
(
"oO5Cbs6pJ6BK08gsrKH5ZPoD_BHM"
,
"测试客服消息!小子,你厉害"
);
//发送文本信息 到1用户
-
String
jsonTextMsg2
=
AdvancedUtil
.
makeTextCustomMessage
(
"oO5Cbs-KyEXBcLGM4tW_7QS0EJ2Y"
,
"测试客服消息!"
);
//客服消息 组装文本
-
// CommonUtil.sendCustomMessage(at.getAccessToken(),jsonTextMsg);
-
// CommonUtil.sendCustomMessage(at.getAccessToken(),jsonTextMsg2); //客服消息,发送文本
-
-
List
<
Article
>
articleList
=
new
ArrayList
<
Article
>();
-
Article
article
=
new
Article
();
-
article
.
setTitle
(
"信息服务站"
);
-
article
.
setDescription
(
"信息服务站提供及时的各种信息,包括招聘,出租,兼职,美食,美女,帅哥,招租等。为你及时就地的服务。"
);
-
article
.
setPicUrl
(
"http://7xjjge.com1.z0.glb.clouddn.com/xxfw.jpg"
);
-
article
.
setUrl
(
"http://"
+
R
.
dns
+
"/chatman/msg_list.do?fromuser=oO5Cbs-KyEXBcLGM4tW_7QS0EJ2Y"
);
-
articleList
.
add
(
article
);
-
String
newsMessage
=
AdvancedUtil
.
makeNewsCustomMessage
(
"oO5Cbs-KyEXBcLGM4tW_7QS0EJ2Y"
,
articleList
);
//客服消息 组装图文 发送图文消息给用户
-
-
CommonUtil
.
sendCustomMessage
(
at
.
getAccessToken
(),
newsMessage
);
-
-
}
-
}
使用定时器发送定时任务提醒
package com.dm.wx.domain;
import com.dm.core.dao.SqlDao;
import com.dm.core.util.DateUtil;
import com.dm.core.util.StringUtil;
import com.dm.core.util.WebUtil;
import com.dm.ivi.domain.MytextMessage;
import com.dm.pfb.domain.Actoken;
import com.dm.wx.domain.token.AccessToken;
import com.dm.wx.util.AdvancedUtil;
import com.dm.wx.util.CommonUtil;
import com.dm.wx.util.R;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
-
Created by IntelliJ IDEA.
-
User: ZZY
-
Date: 15-6-9
-
Time: 下午4:35
-
To change this template use File | Settings | File Templates.
*/
public class TokenThread implements Runnable {private static Logger log = LoggerFactory.getLogger(TokenThread.class);
public static AccessToken accessToken = null;
Actoken ac = new Actoken();
SqlDao sqlDao = (SqlDao) WebUtil.getWebApplicationContext().getBean(“sqlDao”);@Transactional(isolation = Isolation.READ_COMMITTED, rollbackFor = Throwable.class)
public String update(Actoken actoken) {
System.out.println(“执行更新–”);
String appId = R.appId;
String appSerect = R.appsecret;
String ac = CommonUtil.getAccessToken(appId, appSerect).getAccessToken();
actoken.setAccesstoken(ac);
actoken.setJs_ticket(CommonUtil.getJsTicket(ac));
actoken.setCreate_time(new Date());
sqlDao.update(“pfb_actoken.update”, actoken);
return “1”;
}@Transactional(isolation = Isolation.READ_COMMITTED, rollbackFor = Throwable.class)
public String create(Actoken actoken) {
String appId = R.appId;
String appSerect = R.appsecret;
String ac = CommonUtil.getAccessToken(appId, appSerect).getAccessToken();
actoken.setAppid(appId);
actoken.setAppserect(appSerect);
actoken.setAccesstoken(ac);
actoken.setJs_ticket(CommonUtil.getJsTicket(ac));
actoken.setCreate_time(new Date());
sqlDao.create(“pfb_actoken.create”, actoken);
return “1”;
}/* 定时客服消息提醒
*/
public void Msg(String acToken) {</span><span class="typ">StringBuffer</span><span class="pln"> s </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">StringBuffer</span><span class="pun">();</span><span class="pln"> </span><span class="typ">MytextMessage</span><span class="pln"> mytextMessage </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">MytextMessage</span><span class="pun">();</span><span class="pln"> </span><span class="typ">List</span><span class="pun"><</span><span class="typ">MytextMessage</span><span class="pun">></span><span class="pln"> mytextMessages </span><span class="pun">=</span><span class="pln"> sqlDao</span><span class="pun">.</span><span class="pln">list</span><span class="pun">(</span><span class="str">"ivi_mytext_message.queryFromUsers"</span><span class="pun">,</span><span class="pln"> mytextMessage</span><span class="pun">);</span><span class="com">//查询记事人列表</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="typ">StringUtil</span><span class="pun">.</span><span class="pln">isEmpty</span><span class="pun">(</span><span class="pln">mytextMessages</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="typ">MytextMessage</span><span class="pln"> myNoDone </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">MytextMessage</span><span class="pun">();</span><span class="pln"> </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="typ">MytextMessage</span><span class="pln"> my </span><span class="pun">:</span><span class="pln"> mytextMessages</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> fromuser </span><span class="pun">=</span><span class="pln"> my</span><span class="pun">.</span><span class="pln">getFromuser</span><span class="pun">();</span><span class="pln"> myNoDone</span><span class="pun">.</span><span class="pln">setFromuser</span><span class="pun">(</span><span class="pln">fromuser</span><span class="pun">);</span><span class="pln"> myNoDone</span><span class="pun">.</span><span class="pln">setMode</span><span class="pun">(</span><span class="str">"fromuser"</span><span class="pun">);</span><span class="pln"> myNoDone</span><span class="pun">.</span><span class="pln">setOrder</span><span class="pun">(</span><span class="str">"end_time asc"</span><span class="pun">);</span><span class="pln"> </span><span class="typ">List</span><span class="pun"><</span><span class="typ">MytextMessage</span><span class="pun">></span><span class="pln"> mytextNoDoneMessageList </span><span class="pun">=</span><span class="pln"> sqlDao</span><span class="pun">.</span><span class="pln">list</span><span class="pun">(</span><span class="str">"ivi_mytext_message.queryNoDone"</span><span class="pun">,</span><span class="pln"> myNoDone</span><span class="pun">);</span><span class="pln"> </span><span class="com">//查询未完成的任务 http://182.254.188.241/ivi/mytextMessage_appmsview.do?t_id=F8EC6253E7CB49EA8E866EA3CBC6959F</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="typ">StringUtil</span><span class="pun">.</span><span class="pln">isEmpty</span><span class="pun">(</span><span class="pln">mytextNoDoneMessageList</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> s</span><span class="pun">.</span><span class="pln">append</span><span class="pun">(</span><span class="pln">mytextNoDoneMessageList</span><span class="pun">.</span><span class="kwd">get</span><span class="pun">(</span><span class="lit">0</span><span class="pun">).</span><span class="pln">getCreate_user_name</span><span class="pun">()</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"您有待完成事件:\n"</span><span class="pun">);</span><span class="pln"> </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> j </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> j </span><span class="pun"><</span><span class="pln"> mytextNoDoneMessageList</span><span class="pun">.</span><span class="pln">size</span><span class="pun">();</span><span class="pln"> j</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> s</span><span class="pun">.</span><span class="pln">append</span><span class="pun">((</span><span class="pln">j</span><span class="pun">+</span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">":【"</span><span class="pln"> </span><span class="pun">+</span><span class="str">"<a href=\"http://"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> R</span><span class="pun">.</span><span class="pln">dns </span><span class="pun">+</span><span class="pln"> </span><span class="str">"/ivi/mytextMessage_appmsview.do?t_id="</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> mytextNoDoneMessageList</span><span class="pun">.</span><span class="kwd">get</span><span class="pun">(</span><span class="pln">j</span><span class="pun">).</span><span class="pln">getT_id</span><span class="pun">()</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\">"</span><span class="pun">+</span><span class="pln">mytextNoDoneMessageList</span><span class="pun">.</span><span class="kwd">get</span><span class="pun">(</span><span class="pln">j</span><span class="pun">).</span><span class="pln">getT_title</span><span class="pun">()+</span><span class="str">"</a>"</span><span class="pun">).</span><span class="pln">append</span><span class="pun">(</span><span class="str">"】截止:"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="typ">DateUtil</span><span class="pun">.</span><span class="pln">formatDateYMD</span><span class="pun">(</span><span class="pln">mytextNoDoneMessageList</span><span class="pun">.</span><span class="kwd">get</span><span class="pun">(</span><span class="pln">j</span><span class="pun">).</span><span class="pln">getEnd_time</span><span class="pun">())).</span><span class="pln">append</span><span class="pun">(</span><span class="str">"\n"</span><span class="pun">);</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> jsonTextMsg </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AdvancedUtil</span><span class="pun">.</span><span class="pln">makeTextCustomMessage</span><span class="pun">(</span><span class="pln">fromuser</span><span class="pun">,</span><span class="pln"> s</span><span class="pun">.</span><span class="pln">toString</span><span class="pun">());</span><span class="pln"> </span><span class="typ">CommonUtil</span><span class="pun">.</span><span class="pln">sendCustomMessage</span><span class="pun">(</span><span class="pln">acToken</span><span class="pun">,</span><span class="pln"> jsonTextMsg</span><span class="pun">);</span><span class="pln"> </span><span class="com">//客服消息,发送文本</span><span class="pln"> s</span><span class="pun">.</span><span class="pln">setLength</span><span class="pun">(</span><span class="lit">0</span><span class="pun">);</span><span class="com">//清空内容,再次循环</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> </span><span class="pun">}</span><span class="pln">
}
public void run() {
int i = 1;
ac = sqlDao.query(“pfb_actoken.query”, new Actoken());
if (StringUtil.isEmpty(ac)) {
create(new Actoken());
ac = sqlDao.query(“pfb_actoken.query”, new Actoken());
}
while (true) {
try {</span><span class="typ">String</span><span class="pln"> r </span><span class="pun">=</span><span class="pln"> update</span><span class="pun">(</span><span class="pln">ac</span><span class="pun">);</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="str">"1"</span><span class="pun">.</span><span class="pln">equals</span><span class="pun">(</span><span class="pln">r</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> ac </span><span class="pun">=</span><span class="pln"> sqlDao</span><span class="pun">.</span><span class="pln">query</span><span class="pun">(</span><span class="str">"pfb_actoken.query"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Actoken</span><span class="pun">());</span><span class="pln"> </span><span class="com">//System.out.println("更新时间:" + ac.getCreate_time());</span><span class="pln"> </span><span class="com">// System.out.println("更新成功:" + ac.getAccesstoken());</span><span class="pln"> log</span><span class="pun">.</span><span class="pln">info</span><span class="pun">(</span><span class="str">"更改后了js_ticket:"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> ac</span><span class="pun">.</span><span class="pln">getJs_ticket</span><span class="pun">()</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"..."</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"accessToken:"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> ac</span><span class="pun">.</span><span class="pln">getAccesstoken</span><span class="pun">());</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> </span><span class="com">/* 定时器群发任务 */</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">i </span><span class="pun">%</span><span class="pln"> </span><span class="lit">3</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="typ">Msg</span><span class="pun">(</span><span class="pln">ac</span><span class="pun">.</span><span class="pln">getAccesstoken</span><span class="pun">());</span><span class="com">//字符提示 记事本未完成的消息 主动发送客服文本消息</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> i</span><span class="pun">++;</span><span class="pln"> </span><span class="typ">Thread</span><span class="pun">.</span><span class="pln">sleep</span><span class="pun">((</span><span class="lit">7200</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">200</span><span class="pun">)</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">1000</span><span class="pun">);</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">catch</span><span class="pln"> </span><span class="pun">(</span><span class="typ">InterruptedException</span><span class="pln"> e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> e</span><span class="pun">.</span><span class="pln">printStackTrace</span><span class="pun">();</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">catch</span><span class="pln"> </span><span class="pun">(</span><span class="typ">Exception</span><span class="pln"> e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> e</span><span class="pun">.</span><span class="pln">printStackTrace</span><span class="pun">();</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> </span><span class="pun">}</span><span class="pln">
}
}
使用定时器控制,每日推送消息
我的博客:115.159.110.224
我的微信公众号:my528xx
公众号二维码: