From 1980a470b8fbad103cef1c1d8f57de547e51773c Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 17 十二月 2024 18:04:01 +0800 Subject: [PATCH] 提交基础版本 --- UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java | 46 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 40 insertions(+), 6 deletions(-) diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java index 65056ae..60d8a1c 100644 --- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java @@ -1,5 +1,8 @@ package com.stylefeng.guns.modular.system.util; +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; +import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.databind.ObjectMapper; @@ -44,6 +47,9 @@ @Autowired private RestTemplate restTemplate; + + @Autowired + private RedisUtil redisUtil; @@ -122,7 +128,35 @@ String ticket = JSONObject.parseObject(backData).getString("ticket"); return ticket; } - + + + + public String getWxAppletsAccessToken(){ + String wxAppletsAccessToken = redisUtil.getValue("wxAppletsAccessToken"); + if(ToolUtil.isNotEmpty(wxAppletsAccessToken)){ + return wxAppletsAccessToken; + } + String appletsAccessToken = getAppletsAccessToken(); + redisUtil.setStrValue("wxAppletsAccessToken", appletsAccessToken, 7200); + return appletsAccessToken; + } + + /** + * 获取微信小程序token + * @return + */ + public String getAppletsAccessToken() { + String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + wxAppletsAppid + "&secret=" + wxAppletsAppSecret; + HttpRequest get = HttpUtil.createGet(url); + HttpResponse response = get.execute(); + if(response.getStatus() != 200){ + return ""; + } + JSONObject jsonObject = JSON.parseObject(response.body()); + return jsonObject.getString("access_token"); + } + + /*** * 获取acess_token (公众号) @@ -137,7 +171,7 @@ } public String getUrlLink(String path, String query) throws Exception{ - String wxAppletsAccessToken = getAccessToken(); + String wxAppletsAccessToken = getWxAppletsAccessToken(); String url = "https://api.weixin.qq.com/wxa/generate_urllink?access_token=" + wxAppletsAccessToken; Map<String, Object> param = new HashMap<>(); param.put("expire_type", 1); @@ -155,7 +189,7 @@ } public String getPhone(String code) throws Exception{ - String wxAppletsAccessToken = getAccessToken(); + String wxAppletsAccessToken = getWxAppletsAccessToken(); String url = "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=" + wxAppletsAccessToken; Map<String, Object> param = new HashMap<>(); param.put("code",code); @@ -181,16 +215,16 @@ @Autowired private UserInfoController userInfoController; - public String rid(String path, String query) throws Exception{ + public String rid(String path, Integer driverId) throws Exception{ // 获取access_token - String accessToken = getAccessToken(); + String accessToken = getWxAppletsAccessToken(); // 替换CREATE_CODE_URL String url = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token="+accessToken; // 发送请求 String stringApiResult = null; try { HashMap<String, String> map = new HashMap<>(); - map.put("path", path+"?driverId=979"); + map.put("path", path+"?driverId=" + driverId); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); HttpEntity requestEntity = new HttpEntity(map, headers); -- Gitblit v1.7.1