From 5af10f175689549ca44b74e9fc1c7ee0ec92c2d7 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 21 四月 2020 14:26:38 +0800
Subject: [PATCH] 后台改造
---
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