package com.hx.util.corp; import com.alibaba.fastjson.JSONObject; import com.hx.util.HttpMethodUtil; import com.hx.util.StringUtils; import com.hx.util.corp.entity.AppLetInfo; import com.hx.util.corp.entity.OpenIdAUserId; import com.hx.util.corp.entity.WeiXinInfo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.HashMap; import java.util.Map; /** 企业微信工具类 * @author wangrenhuang * @Date 2021-10-19 */ public class CorpMpUtil { //log4j日志 private static Logger logger = LoggerFactory.getLogger(CorpMpUtil.class.getName()); /**链接-获取应用accessToken*/ public static final String URL_GET_USER_INFO = "https://qyapi.weixin.qq.com/cgi-bin/user/get"; /**openid转userid*/ public static final String URL_OPENID_TO_USERID = "https://qyapi.weixin.qq.com/cgi-bin/user/convert_to_userid"; /**userid转openid*/ public static final String URL_USERID_TO_OPENID = "https://qyapi.weixin.qq.com/cgi-bin/user/convert_to_openid"; /**获取小程序链接*/ public static final String URL_LINK = "https://api.weixin.qq.com/wxa/generate_urllink"; /** * openId获取userId * @param openId 用户openId * @return 返回 */ public static OpenIdAUserId openIdToUserId(String openId, String token) { Map map=new HashMap<>(); map.put("access_token",token); JSONObject data = new JSONObject(); data.put("openid",openId); String datas = HttpMethodUtil.HttpURLUtilJson(URL_OPENID_TO_USERID, data.toString(), map, null, "GET"); OpenIdAUserId openIdAUserId = JSONObject.parseObject(datas, OpenIdAUserId.class); return openIdAUserId; } /** * userId获取openId * @param userid 企业员工id * @return 返回 */ public static OpenIdAUserId userIdToOpenId(String userid, String token) { Map map=new HashMap<>(); map.put("access_token",token); JSONObject data = new JSONObject(); data.put("userid",userid); String datas = HttpMethodUtil.HttpURLUtilJson(URL_USERID_TO_OPENID, data.toString(), map, null, "GET"); OpenIdAUserId openIdAUserId = JSONObject.parseObject(datas, OpenIdAUserId.class); return openIdAUserId; } /** * 获取企业微信员工信息 * @param userId 用户id * @return 返回 */ public static WeiXinInfo userInfo(String userId, String token) { Map map=new HashMap<>(); map.put("access_token",token); map.put("userid",userId); String datas = HttpMethodUtil.HttpURLUtilJson(URL_GET_USER_INFO, null, map, null, "GET"); WeiXinInfo weiXinInfo = JSONObject.parseObject(datas, WeiXinInfo.class); return weiXinInfo; } public static AppLetInfo getAppLetUrl(String path, String token, String env_version, String query) { Map map = new HashMap(); map.put("access_token", token); com.alibaba.fastjson.JSONObject data = new com.alibaba.fastjson.JSONObject(); data.put("path", path); data.put("env_version", env_version); if (!StringUtils.isEmpty(query)){ data.put("query", query); } String datas = HttpMethodUtil.HttpURLUtilJson(URL_LINK, data.toString(), map, (Map)null, "POST"); AppLetInfo appLetInfo = com.alibaba.fastjson.JSONObject.parseObject(datas, AppLetInfo.class); return appLetInfo; } }