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