From 65aaf1c05bd06cefa82ebc40cc3e01cf4ac233c0 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 27 七月 2024 13:52:08 +0800
Subject: [PATCH] 代理新功能完善

---
 src/main/java/com/taoke/autopay/utils/WxApiUtil.java |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/taoke/autopay/utils/WxApiUtil.java b/src/main/java/com/taoke/autopay/utils/WxApiUtil.java
index ee4d9a9..ea524a5 100644
--- a/src/main/java/com/taoke/autopay/utils/WxApiUtil.java
+++ b/src/main/java/com/taoke/autopay/utils/WxApiUtil.java
@@ -2,9 +2,14 @@
 
 import com.google.gson.Gson;
 import com.taoke.autopay.dto.WXAppInfoDto;
+import lombok.Data;
 import net.sf.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.yeshi.utils.HttpUtil;
 import org.yeshi.utils.entity.wx.WXAPPInfo;
+
+import java.net.URLEncoder;
 
 /**
  * @author hxh
@@ -13,6 +18,8 @@
  * @date 2024/6/28 17:27
  */
 public class WxApiUtil {
+
+   private static Logger wxLogger = LoggerFactory.getLogger("wxLogger");
 
     public class WXAccessTokenInfo {
         private String access_token;
@@ -80,11 +87,25 @@
         }
     }
 
+    @Data
+  public static  class WXUserInfo{
+        private String  openid;//	鐢ㄦ埛鐨勫敮涓�鏍囪瘑
+        private String    nickname	;//	鐢ㄦ埛鏄电О
+        private Integer  sex;//		鐢ㄦ埛鐨勬�у埆锛屽�间负1鏃舵槸鐢锋�э紝鍊间负2鏃舵槸濂虫�э紝鍊间负0鏃舵槸鏈煡
+        private String    province;//		鐢ㄦ埛涓汉璧勬枡濉啓鐨勭渷浠�
+        private String    city	;//	鏅�氱敤鎴蜂釜浜鸿祫鏂欏~鍐欑殑鍩庡競
+        private String    country;//		鍥藉锛屽涓浗涓篊N
+        private String      headimgurl;//		鐢ㄦ埛澶村儚锛屾渶鍚庝竴涓暟鍊间唬琛ㄦ鏂瑰舰澶村儚澶у皬锛堟湁0銆�46銆�64銆�96銆�132鏁板�煎彲閫夛紝0浠h〃640*640姝f柟褰㈠ご鍍忥級锛岀敤鎴锋病鏈夊ご鍍忔椂璇ラ」涓虹┖銆傝嫢鐢ㄦ埛鏇存崲澶村儚锛屽師鏈夊ご鍍廢RL灏嗗け鏁堛��
+        private String     unionid;//		鍙湁鍦ㄧ敤鎴峰皢鍏紬鍙风粦瀹氬埌寰俊寮�鏀惧钩鍙拌处鍙峰悗锛屾墠浼氬嚭鐜拌瀛楁銆�
+
+    }
+
 
     public static WXAccessTokenInfo getAcessTokenInfo(String code, WXAppInfoDto app) throws Exception {
         String tokenUrl = String.format("https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code", app.getAppId(), app.getAppSecret(), code);
         String result = HttpUtil.get(tokenUrl);
         System.out.println(result);
+        wxLogger.info(result);
         JSONObject root = JSONObject.fromObject(result);
         if (root.optInt("errcode", 0) != 0) {
             throw new Exception(root.optString("errmsg"));
@@ -92,6 +113,19 @@
         return JsonUtil.getSimpleGson().fromJson(result, WXAccessTokenInfo.class);
     }
 
+    public static WXUserInfo getUserInfo(String accessToken,String openid) throws Exception {
+        String tokenUrl = String.format("https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s&lang=zh_CN", URLEncoder.encode(accessToken,"UTF-8"),openid);
+        String result = HttpUtil.get(tokenUrl);
+        result = new String(result.getBytes("ISO-8859-1"),"UTF-8");
+        System.out.println(result);
+        wxLogger.info(result);
+        JSONObject root = JSONObject.fromObject(result);
+        if (root.optInt("errcode", 0) != 0) {
+            throw new Exception(root.optString("errmsg"));
+        }
+        return JsonUtil.getSimpleGson().fromJson(result, WXUserInfo.class);
+    }
+
     public static void main(String[] args) throws Exception {
 
         getAcessTokenInfo("061KT5ll2vgWHd4VyIll2UVQZV0KT5lP", new WXAppInfoDto("wx6217429129959b05", "14ae1808a271111954c509d8cb06df92"));

--
Gitblit v1.8.0