admin
2020-05-06 24a8d17e007545f7426c48352109aa1a9c6587ee
fanli/src/main/java/com/yeshi/fanli/util/wx/WXLoginUtil.java
@@ -1,5 +1,7 @@
package com.yeshi.fanli.util.wx;
import java.io.InputStream;
import org.json.JSONException;
import org.json.JSONObject;
import org.yeshi.utils.HttpUtil;
@@ -10,6 +12,7 @@
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 {
@@ -17,14 +20,9 @@
   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
@@ -32,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;
@@ -74,8 +72,8 @@
      return weiXinUser;
   }
   public 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;
      }
@@ -93,14 +91,19 @@
    * @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删除其余头像
@@ -115,6 +118,8 @@
               // COSManager.getInstance().deleteFile(object.getKey());
               // }
               // }
            } else {
               LogHelper.test("微信头像上传失败: " +user.getUnionid()+ " " + user.getHeadimgurl());
            }
         }
      }