From 31ce6be2d56798d9509e6d90335999064351f7f3 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期二, 10 十二月 2024 16:06:26 +0800
Subject: [PATCH] 12.10

---
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java |   62 ++++++++++++++++++++++++++++++-
 1 files changed, 60 insertions(+), 2 deletions(-)

diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java
index 5432cb4..65056ae 100644
--- a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java
@@ -2,20 +2,26 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.stylefeng.guns.core.util.ToolUtil;
+import com.stylefeng.guns.modular.api.UserInfoController;
 import com.stylefeng.guns.modular.system.util.HttpClientUtil;
 import com.stylefeng.guns.modular.system.util.RedisUtil;
 import com.stylefeng.guns.modular.system.util.UUIDUtil;
 import org.apache.commons.codec.digest.DigestUtils;
+import org.apache.http.entity.ContentType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.*;
+import org.springframework.mock.web.MockMultipartFile;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.io.ByteArrayInputStream;
+import java.io.IOException;
 import java.io.InputStream;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
@@ -124,7 +130,7 @@
      * @return
      */
     public String getAccessToken(){
-        String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxc89ecab90d24edd8&secret=bca863174d22736a4a9758a67484947e";
+        String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxe91f1af7638aa5dd&secret=a787e1a462715604e0c9528b6d8960d1";
         String backData = restTemplate.getForObject(url, String.class);
         String accessToken = JSONObject.parseObject(backData).getString("access_token");
         return accessToken;
@@ -138,7 +144,7 @@
         param.put("expire_interval", 1);
         param.put("path", path);
         param.put("query", query);
-        param.put("env_version", "release");
+        param.put("env_version", "trial");
         HttpHeaders httpHeaders = new HttpHeaders();
         MediaType type=MediaType.parseMediaType("application/json;charset=UTF-8");
         httpHeaders.setContentType(type);
@@ -148,4 +154,56 @@
         return body1;
     }
 
+    public String getPhone(String code) throws Exception{
+        String wxAppletsAccessToken = getAccessToken();
+        String url = "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=" + wxAppletsAccessToken;
+        Map<String, Object> param = new HashMap<>();
+        param.put("code",code);
+        HttpHeaders httpHeaders = new HttpHeaders();
+        MediaType type=MediaType.parseMediaType("application/json;charset=UTF-8");
+        httpHeaders.setContentType(type);
+        HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(param, httpHeaders);
+        ResponseEntity<String> exchange = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);
+        String body1 = exchange.getBody();
+//        String body1 ="{\"errcode\":0,\"errmsg\":\"ok\",\"phone_info\":{\"phoneNumber\":\"15708179461\",\"purePhoneNumber\":\"15708179461\",\"countryCode\":\"86\",\"watermark\":{\"timestamp\":1720420413,\"appid\":\"wxc89ecab90d24edd8\"}}}";
+
+        JSONObject jsonObject = JSON.parseObject(body1);
+        // 从JSON对象中获取phone_info子对象
+        JSONObject phoneInfo = jsonObject.getJSONObject("phone_info");
+        // 从phone_info中获取phoneNumber
+        String phoneNumber = phoneInfo.getString("phoneNumber");
+        System.out.println("Phone Number: " + phoneNumber);
+
+
+        return phoneNumber;
+    }
+
+    
+    @Autowired
+    private UserInfoController userInfoController;
+    public String rid(String path, String query) throws Exception{
+        // 获取access_token
+        String accessToken = getAccessToken();
+        // 替换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");
+            HttpHeaders headers = new HttpHeaders();
+            headers.setContentType(MediaType.APPLICATION_JSON);
+            HttpEntity requestEntity = new HttpEntity(map, headers);
+            ResponseEntity<byte[]> rep = restTemplate.exchange(url, HttpMethod.POST, requestEntity, byte[].class);
+            byte[] bytes = rep.getBody();
+            ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
+            MultipartFile file = new MockMultipartFile(ContentType.APPLICATION_OCTET_STREAM.toString(), byteArrayInputStream);
+            ResultUtil resultUtil = userInfoController.uploadImg(file, null, null);
+            StringBuilder sb = new StringBuilder(stringApiResult);
+            stringApiResult = sb.toString();
+        } catch (Exception e) {
+        }
+        return stringApiResult;
+    }
+
 }

--
Gitblit v1.7.1