From 0571bf579557ec97682a8940e29ed19699f6d95e Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 30 六月 2025 10:16:32 +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