From d8359ddb48dab5cc797a9d552e11fde571f4920c Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期二, 27 八月 2019 12:32:46 +0800 Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div --- 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