From d1dccd08a249b830a95eeeb04af25f87d5c056be Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期二, 03 九月 2019 11:13:04 +0800
Subject: [PATCH] 金币明细bug

---
 fanli/src/main/java/com/yeshi/fanli/util/wx/WXLoginUtil.java |   58 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 38 insertions(+), 20 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..46b01b2 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,18 +1,18 @@
 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.StringUtil;
 
 public class WXLoginUtil {
 
@@ -76,12 +76,17 @@
 		return weiXinUser;
 	}
 
-	private static WeiXinUser getWeiXinUser(String code) {
+	public static WeiXinUser getWeiXinUser(String code) {
 		WeiXinUserParam param = getWxParam(code);
 		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;
 	}
 
 	/**
@@ -95,20 +100,30 @@
 		if (user != null) {
 			if (!StringUtil.isNullOrEmpty(user.getHeadimgurl())) {
 
-				FileUploadResult result = COSManager.getInstance().uploadFile(
-						HttpUtil.getAsInputStream(user.getHeadimgurl()),
+				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("/portrait/wx/%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 +139,7 @@
 	}
 
 	private static WeiXinUserParam getWeiXinUserParam(String result) {
+		LogHelper.test(result);
 		WeiXinUserParam weiXinUserParam = new WeiXinUserParam();
 		JSONObject jsonObject = null;
 		try {
@@ -139,12 +155,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