From 4f6b2f35a35da4a974eec0a389cf5dbaf21396f8 Mon Sep 17 00:00:00 2001 From: shiyang <316555390@qq.com> Date: Fri, 22 Apr 2022 08:52:39 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3access=5Ftoken=E6=9B=BF?= =?UTF-8?q?=E6=8D=A2=E6=97=B6=E9=97=B4=E5=B7=AE=E4=BF=9D=E8=AF=81access=5F?= =?UTF-8?q?token=E9=95=BF=E6=9C=9F=E6=9C=89=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/lyms/talkonlineweb/util/WeiXinUtil.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/util/WeiXinUtil.java b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/util/WeiXinUtil.java index 12dadb9..d96a26f 100644 --- a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/util/WeiXinUtil.java +++ b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/util/WeiXinUtil.java @@ -82,7 +82,7 @@ public class WeiXinUtil { * @param template_id 公众号消息模板id * @param dataMap 推送内容消息主题显示相关map */ - public static Integer SendWeChatMsg(String openid, String template_id, Map dataMap, Map mapInfo) { + public static Integer SendWeChatMsg(String openid, String template_id, Map dataMap, Map mapInfo)throws Exception { //整体参数map Map paramMap = new HashMap(); paramMap.put("touser", openid); @@ -101,19 +101,22 @@ public class WeiXinUtil { paramMap.put("miniprogram", miniprogram); paramMap.put("data", dataMap); // 接口地址 -// boolean TokenValid=true; - while (true) { + //处理access_token失效报40001 + Integer code=null; + for(int i=0;i<3;i++) { String sendMsgApi = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + AccessTokenServlet.accessToken; String result = repeatDoGetPost(sendMsgApi, "POST", paramMap); if (StringUtil.isEmpty(result)) { - return null; + break; } Map resultMap = JSON.parseObject(result, HashMap.class); - Integer code=Integer.parseInt(resultMap.get("errcode").toString()); + code=Integer.parseInt(resultMap.get("errcode").toString()); if(!code.equals(40001)){ - return code; + break; } + Thread.sleep(1000 * 1);//解决access_token替换时间差保证access_token长期有效 } + return code; } /** -- 1.8.3.1