diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/utils/WxMiniUtils.java b/eladmin-system/src/main/java/cn/ysk/cashier/utils/WxMiniUtils.java index 1b7b8421..aae056fc 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/utils/WxMiniUtils.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/utils/WxMiniUtils.java @@ -1,113 +1,113 @@ -package cn.ysk.cashier.utils; - -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.http.HttpRequest; -import cn.hutool.http.HttpUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; - -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.Map; - -@Component -@Slf4j -public class WxMiniUtils { - - @Value("${wx.mini.user.appId}") - private String appId; - - @Value("${wx.mini.user.secrete}") - private String secrete; - - @Value("${wx.mini.user.msgId.currentCall}") - private String currentCallTempId; - - - static LinkedHashMap linkedHashMap=new LinkedHashMap<>(); - - static { - - linkedHashMap.put("40001","获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口"); - linkedHashMap.put("40003","不合法的 OpenID ,请开发者确认 OpenID (该用户)是否已关注公众号,或是否是其他公众号的 OpenID"); - linkedHashMap.put("40014","不合法的 access_token ,请开发者认真比对 access_token 的有效性(如是否过期),或查看是否正在为恰当的公众号调用接口"); - linkedHashMap.put("40037","不合法的 template_id"); - linkedHashMap.put("43101","用户未订阅消息"); - linkedHashMap.put("43107","订阅消息能力封禁"); - linkedHashMap.put("43108","并发下发消息给同一个粉丝"); - linkedHashMap.put("45168","命中敏感词"); - linkedHashMap.put("47003","参数错误"); - - } - - public JSONObject getAccessToken(){ - String requestUrl = "https://api.weixin.qq.com/cgi-bin/token"; - Map requestUrlParam = new HashMap<>(); - //小程序appId - requestUrlParam.put("appid", appId); - //小程序secret - requestUrlParam.put("secret", secrete); - //默认参数 - requestUrlParam.put("grant_type", "client_credential"); - return JSON.parseObject(HttpUtil.get(requestUrl,requestUrlParam)); - } - - public static void main(String[] args) { - String id ="kSxJL9TR4s_UmOmNLE"; -// sendStockWarnMsg("123", "1231", "1231", "23321", id); - } - - - public JSONObject sendTempMsg(String tempId, String toUserOpenId, Map data) { - log.info("开始发送微信模板消息, 接收用户openId: {}, 消息数据: {}", toUserOpenId, data); - JSONObject object= getAccessToken(); - String accessToken=object.get("access_token")+""; - - JSONObject object1=new JSONObject(); - - object1.put("template_id", tempId); - object1.put("touser", toUserOpenId); - object1.put("data",data); - - object1.put("miniprogram_state","trial"); - object1.put("lang","zh_CN"); - - String response= HttpRequest.post("https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=".concat(accessToken)).body(object1.toString()).execute().body(); - log.info("微信模板消息发送成功,相应内容:{}",response); - JSONObject resObj=JSONObject.parseObject(response); - if(ObjectUtil.isNotEmpty(resObj)&&ObjectUtil.isNotNull(resObj)&&"0".equals(resObj.get("errcode")+"")){ - return resObj; - } - - throw new RuntimeException(linkedHashMap.getOrDefault(resObj.get("errcode") + "", "未知错误")); - } - - public void sendNearCallMsg(String shopName, String state, String callNum, String currentNum, String note, String openId) { - Map data = new HashMap() {{ - put("thing1", new HashMap() {{ - put("value", shopName); - }}); - put("phrase2", new HashMap() {{ - put("value", state); - }}); - put("character_string3", new HashMap() {{ - put("value", callNum); - }}); - put("character_string4", new HashMap() {{ - put("value", currentNum); - }}); - put("thing5", new HashMap() {{ - put("value", note); - }}); - }}; - log.info("开始发送排号到号消息, 接收用户openId: {}, 消息数据: {}", openId, data); - try { - sendTempMsg(currentCallTempId, openId, data); - } catch (Exception e) { - log.error("发送失败, openId:{}, msg: {}", openId, e.getMessage()); - } - } -} +//package cn.ysk.cashier.utils; +// +//import cn.hutool.core.util.ObjectUtil; +//import cn.hutool.http.HttpRequest; +//import cn.hutool.http.HttpUtil; +//import com.alibaba.fastjson.JSON; +//import com.alibaba.fastjson.JSONObject; +//import lombok.extern.slf4j.Slf4j; +//import org.springframework.beans.factory.annotation.Value; +//import org.springframework.stereotype.Component; +// +//import java.util.HashMap; +//import java.util.LinkedHashMap; +//import java.util.Map; +// +//@Component +//@Slf4j +//public class WxMiniUtils { +// +// @Value("${wx.mini.user.appId}") +// private String appId; +// +// @Value("${wx.mini.user.secrete}") +// private String secrete; +// +// @Value("${wx.mini.user.msgId.currentCall}") +// private String currentCallTempId; +// +// +// static LinkedHashMap linkedHashMap=new LinkedHashMap<>(); +// +// static { +// +// linkedHashMap.put("40001","获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口"); +// linkedHashMap.put("40003","不合法的 OpenID ,请开发者确认 OpenID (该用户)是否已关注公众号,或是否是其他公众号的 OpenID"); +// linkedHashMap.put("40014","不合法的 access_token ,请开发者认真比对 access_token 的有效性(如是否过期),或查看是否正在为恰当的公众号调用接口"); +// linkedHashMap.put("40037","不合法的 template_id"); +// linkedHashMap.put("43101","用户未订阅消息"); +// linkedHashMap.put("43107","订阅消息能力封禁"); +// linkedHashMap.put("43108","并发下发消息给同一个粉丝"); +// linkedHashMap.put("45168","命中敏感词"); +// linkedHashMap.put("47003","参数错误"); +// +// } +// +// public JSONObject getAccessToken(){ +// String requestUrl = "https://api.weixin.qq.com/cgi-bin/token"; +// Map requestUrlParam = new HashMap<>(); +// //小程序appId +// requestUrlParam.put("appid", appId); +// //小程序secret +// requestUrlParam.put("secret", secrete); +// //默认参数 +// requestUrlParam.put("grant_type", "client_credential"); +// return JSON.parseObject(HttpUtil.get(requestUrl,requestUrlParam)); +// } +// +// public static void main(String[] args) { +// String id ="kSxJL9TR4s_UmOmNLE"; +//// sendStockWarnMsg("123", "1231", "1231", "23321", id); +// } +// +// +// public JSONObject sendTempMsg(String tempId, String toUserOpenId, Map data) { +// log.info("开始发送微信模板消息, 接收用户openId: {}, 消息数据: {}", toUserOpenId, data); +// JSONObject object= getAccessToken(); +// String accessToken=object.get("access_token")+""; +// +// JSONObject object1=new JSONObject(); +// +// object1.put("template_id", tempId); +// object1.put("touser", toUserOpenId); +// object1.put("data",data); +// +// object1.put("miniprogram_state","trial"); +// object1.put("lang","zh_CN"); +// +// String response= HttpRequest.post("https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=".concat(accessToken)).body(object1.toString()).execute().body(); +// log.info("微信模板消息发送成功,相应内容:{}",response); +// JSONObject resObj=JSONObject.parseObject(response); +// if(ObjectUtil.isNotEmpty(resObj)&&ObjectUtil.isNotNull(resObj)&&"0".equals(resObj.get("errcode")+"")){ +// return resObj; +// } +// +// throw new RuntimeException(linkedHashMap.getOrDefault(resObj.get("errcode") + "", "未知错误")); +// } +// +// public void sendNearCallMsg(String shopName, String state, String callNum, String currentNum, String note, String openId) { +// Map data = new HashMap() {{ +// put("thing1", new HashMap() {{ +// put("value", shopName); +// }}); +// put("phrase2", new HashMap() {{ +// put("value", state); +// }}); +// put("character_string3", new HashMap() {{ +// put("value", callNum); +// }}); +// put("character_string4", new HashMap() {{ +// put("value", currentNum); +// }}); +// put("thing5", new HashMap() {{ +// put("value", note); +// }}); +// }}; +// log.info("开始发送排号到号消息, 接收用户openId: {}, 消息数据: {}", openId, data); +// try { +// sendTempMsg(currentCallTempId, openId, data); +// } catch (Exception e) { +// log.error("发送失败, openId:{}, msg: {}", openId, e.getMessage()); +// } +// } +//}