From 24a8d17e007545f7426c48352109aa1a9c6587ee Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 06 五月 2020 12:02:09 +0800
Subject: [PATCH] IOS上线隐藏我的界面的banner与超级会员升级信息

---
 fanli/src/main/java/com/yeshi/fanli/util/wx/WXLoginUtil.java |   76 ++++++++++++++++++++++---------------
 1 files changed, 45 insertions(+), 31 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/wx/WXLoginUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/wx/WXLoginUtil.java
index 4fb0f0f..cce50f0 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/wx/WXLoginUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/wx/WXLoginUtil.java
@@ -1,32 +1,28 @@
 package com.yeshi.fanli.util.wx;
 
+import java.io.InputStream;
+
 import org.json.JSONException;
 import org.json.JSONObject;
-
-import com.qcloud.cos.model.COSObjectSummary;
-import com.qcloud.cos.model.ObjectListing;
-import com.yeshi.fanli.entity.bus.user.WeiXinUser;
-import com.yeshi.fanli.entity.bus.user.WeiXinUserParam;
-import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.StringUtil;
 import org.yeshi.utils.HttpUtil;
 import org.yeshi.utils.entity.FileUploadResult;
 import org.yeshi.utils.tencentcloud.COSManager;
-import org.yeshi.utils.wx.WXUtil;
+
+import com.yeshi.fanli.entity.bus.user.WeiXinUser;
+import com.yeshi.fanli.entity.bus.user.WeiXinUserParam;
+import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.FilePathEnum;
+import com.yeshi.fanli.util.StringUtil;
 
 public class WXLoginUtil {
 
 	public static String WEXIN_APPID = "wx43617e2ed82c5b28";
 	public static String WEXIN_SECRET = "f8a65908fb4681bdd181de70f6ab9a3b";
 
-	static String APPID = "wx5c0d167c6e3ad726";
-	static String SECRET = "0c79d5869bb0f2d7c13e43f9a18f440d";
-
 	static {
 		WEXIN_APPID = Constant.systemCommonConfig.getWxGZAppId();
 		WEXIN_SECRET = Constant.systemCommonConfig.getWxGZAppSecret();
-		APPID = Constant.systemCommonConfig.getWxOpenAppId();
-		SECRET = Constant.systemCommonConfig.getWxOpenAppSecret();
 	}
 
 	// 閫氳繃code鑾峰彇access_token openId
@@ -34,8 +30,8 @@
 
 	public static String weiXinUrl2 = "https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s&lang=zh_CN";
 
-	public static WeiXinUserParam getWxParam(String code) {
-		String wxUrl = String.format(weiXinUrl1, APPID, SECRET, code);
+	public static WeiXinUserParam getWxParam(String code,String appId,String appSecret) {
+		String wxUrl = String.format(weiXinUrl1, appId, appSecret, code);
 		String result = HttpUtil.get(wxUrl);
 		WeiXinUserParam weiXinUserParam = getWeiXinUserParam(result);
 		return weiXinUserParam;
@@ -76,12 +72,17 @@
 		return weiXinUser;
 	}
 
-	private static WeiXinUser getWeiXinUser(String code) {
-		WeiXinUserParam param = getWxParam(code);
+	public static WeiXinUser getWeiXinUser(String code,String appId,String appSecret) {
+		WeiXinUserParam param = getWxParam(code,appId,appSecret);
 		if (param == null) {
 			return null;
 		}
-		return getWeiXinUser(param);
+		WeiXinUser weiXinUser = getWeiXinUser(param);
+		if (weiXinUser != null && StringUtil.isNullOrEmpty(weiXinUser.getUnionid())
+				&& !StringUtil.isNullOrEmpty(param.getUnionId())) {
+			weiXinUser.setUnionid(param.getUnionId());
+		}
+		return weiXinUser;
 	}
 
 	/**
@@ -90,25 +91,35 @@
 	 * @param code
 	 * @return
 	 */
-	public static WeiXinUser getWeiXinUserWithSavePortrait(String code) {
-		WeiXinUser user = getWeiXinUser(code);
+	public static WeiXinUser getWeiXinUserWithSavePortrait(String code,String appId,String appSecret) {
+		WeiXinUser user = getWeiXinUser(code,appId,appSecret);
 		if (user != null) {
 			if (!StringUtil.isNullOrEmpty(user.getHeadimgurl())) {
 
-				FileUploadResult result = COSManager.getInstance().uploadFile(
-						HttpUtil.getAsInputStream(user.getHeadimgurl()),
-						String.format("/portrait/wx/%s_%s.jpg", user.getUnionid(), System.currentTimeMillis() + ""));
+				InputStream asInputStream = HttpUtil.getAsInputStream(user.getHeadimgurl());
+				if (asInputStream == null) {
+					LogHelper.test("寰俊澶村儚涓嬭浇澶辫触: " +user.getUnionid()+ " " + user.getHeadimgurl());
+					return user;
+				}
+				
+				FileUploadResult result = COSManager.getInstance().uploadFile(asInputStream,
+						String.format(FilePathEnum.userWXPortrait.getPath() + "%s_%s.jpg", user.getUnionid(), System.currentTimeMillis() + ""));
 				if (result != null && !StringUtil.isNullOrEmpty(result.getUrl())) {
 					user.setHeadimgurl(result.getUrl());
 					// COS鍒犻櫎鍏朵綑澶村儚
-//					String prefix = String.format("/portrait/wx/%s_", user.getUnionid());
-//					ObjectListing list = COSManager.getInstance().getObjectList(prefix, null, 30);
-//					if (list != null && list.getObjectSummaries() != null)
-//						for (COSObjectSummary object : list.getObjectSummaries()) {
-//							if (!result.getUrl().contains(object.getKey())) {
-//								COSManager.getInstance().deleteFile(object.getKey());
-//							}
-//						}
+					// String prefix = String.format("/portrait/wx/%s_",
+					// user.getUnionid());
+					// ObjectListing list =
+					// COSManager.getInstance().getObjectList(prefix, null, 30);
+					// if (list != null && list.getObjectSummaries() != null)
+					// for (COSObjectSummary object : list.getObjectSummaries())
+					// {
+					// if (!result.getUrl().contains(object.getKey())) {
+					// COSManager.getInstance().deleteFile(object.getKey());
+					// }
+					// }
+				} else {
+					LogHelper.test("寰俊澶村儚涓婁紶澶辫触: " +user.getUnionid()+ " " + user.getHeadimgurl());
 				}
 			}
 		}
@@ -124,6 +135,7 @@
 	}
 
 	private static WeiXinUserParam getWeiXinUserParam(String result) {
+		LogHelper.test(result);
 		WeiXinUserParam weiXinUserParam = new WeiXinUserParam();
 		JSONObject jsonObject = null;
 		try {
@@ -139,12 +151,14 @@
 		String refreshToken = jsonObject.optString("refresh_token");
 		String scope = jsonObject.optString("scope");
 		int expires = jsonObject.optInt("expires_in");
+		String unionId = jsonObject.optString("unionid");
 
 		weiXinUserParam.setRefreshToken(refreshToken);
 		weiXinUserParam.setOpenId(openId);
 		weiXinUserParam.setExpires(expires);
 		weiXinUserParam.setAccessToken(accessToken);
 		weiXinUserParam.setScope(scope);
+		weiXinUserParam.setUnionId(unionId);
 
 		return weiXinUserParam;
 	}

--
Gitblit v1.8.0