From afa0dbb4f54e7244835dd67ec33c3e545f122f71 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 17 一月 2025 16:40:43 +0800 Subject: [PATCH] bug修改 --- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/utils/WeChatSubscribeMessageSender.java | 21 ++++++++++++++------- 1 files changed, 14 insertions(+), 7 deletions(-) diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/utils/WeChatSubscribeMessageSender.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/utils/WeChatSubscribeMessageSender.java index d1d858b..66986e1 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/utils/WeChatSubscribeMessageSender.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/utils/WeChatSubscribeMessageSender.java @@ -16,6 +16,7 @@ @Slf4j public class WeChatSubscribeMessageSender { private static final String ACCESS_TOKEN_HOST = "https://api.weixin.qq.com/cgi-bin/token"; + private static final String STABLE_ACCESS_TOKEN_HOST = "https://api.weixin.qq.com/cgi-bin/stable_token"; private static final String API_URL = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send"; private static final String WX_APPID = "wxb7f0ea286fc4e535"; @@ -41,13 +42,14 @@ params.put("touser", touser); // 构建订阅消息内容的JSON对象 JSONObject messageData = new JSONObject(); - messageData.put("thing1", createDataItem("直播主题", title)); - messageData.put("thing4", createDataItem("直播间名称", shopName)); messageData.put("time5", createDataItem("直播时间", DateUtil.format(aliveStartAt, "MM-dd HH:mm:ss"))); - params.put("data", messageData.toJSONString()); + messageData.put("thing4", createDataItem("直播间名称", shopName)); + messageData.put("thing1", createDataItem("直播主题", title)); + params.put("data", messageData); params.put("miniprogram_state", "trial"); params.put("lang", "zh_CN"); try { + log.info("发送消息参数:{}", JSONObject.toJSONString(params)); String post = HttpUtil.post(url, JSONObject.toJSONString(params)); log.info("发送消息返回结果:{}", post); } catch (Exception e) { @@ -59,10 +61,15 @@ * 获取access_token * @return */ - public static String getAccessTokenByWX() { - String host = ACCESS_TOKEN_HOST + "?appid=" + WX_APPID + "&secret=" + WX_SECRET + "&grant_type=client_credential"; - log.info("host:{}", host); - return HttpUtil.get(host); + private static String getAccessTokenByWX() { + Map<String, Object> params = new HashMap<>(); + params.put("appid", WX_APPID); + params.put("secret", WX_SECRET); + params.put("grant_type", "client_credential"); + String token = HttpUtil.post(STABLE_ACCESS_TOKEN_HOST,JSONObject.toJSONString(params)); + log.info("token:{}", token); + JSONObject jsonObject = JSONObject.parseObject(token); + return jsonObject.getString("access_token"); } private static Map<String, Object> createDataItem(String name, String value) { Map<String, Object> item = new HashMap<>(); -- Gitblit v1.7.1