package doumeemes.core.utils.edpg; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.iflytek.antelope.other.client.dto.resp.UserDTO; import doumeemes.core.utils.HttpsUtil; import doumeemes.core.utils.edpg.bean.AccessTokenModel; import doumeemes.core.utils.edpg.bean.AppDepartListModel; import doumeemes.core.utils.edpg.bean.AppUserInfoModel; import lombok.Data; import lombok.extern.slf4j.Slf4j; import java.util.ArrayList; import java.util.List; @Slf4j @Data public class EdgpServerUtil { public static void main(String[] args) { } private String appKey; private String appSecret; private String aesToken; private String url; public static final String GET_ACCESSTOKEN_URL = "/apps/web/accessToken"; public static final String GET_USERINFO_URL = "/apps/web/user/infoById"; public static final String GET_USERINFO_TOKEN_URL = "/apps/web//user/infoByToken"; public static final String GET_ALL_DEPARTMENT_TREE_URL = "/apps/web/department/tree"; public EdgpServerUtil(String url,String appKey,String appSecret){ this.appKey = appKey; this.url=url; this.appSecret=appSecret; } public String getAccessToken() { try { String acturl = url+GET_ACCESSTOKEN_URL+"?accessKey="+appKey+"&secret="+appSecret; String result = HttpsUtil.sendGetByHttps(acturl,null); log.error("EDGP:===============获取accessToken:"+acturl+"\n返回:"+result); JSONObject jsonObject = JSONObject.parseObject(result); if(jsonObject !=null && jsonObject.getBoolean("success")){ AccessTokenModel model = JSONObject.toJavaObject(jsonObject.getJSONObject("data"), AccessTokenModel.class); if(model != null){ return model.getAccessToken(); } } }catch (Exception e){ log.error("EDGP:===============获取accessToken失败!"+e.getMessage()); } return null; } public AppUserInfoModel getUserInfoById(String acccessToken, String userid ) { try { String acturl =url+GET_ALL_DEPARTMENT_TREE_URL+"?accessToken="+acccessToken+"&userId="+userid; String result = HttpsUtil.sendGetByHttps(acturl,null); log.error("EDGP:===============获取用户编码获取用户信息:"+acturl+"\n返回:"+result); JSONObject jsonObject = JSONObject.parseObject(result); if(jsonObject !=null && jsonObject.getBoolean("success")){ AppUserInfoModel model = JSONObject.toJavaObject(jsonObject.getJSONObject("data"), AppUserInfoModel.class); if(model != null){ return model; } } }catch (Exception e){ log.error("EDGP:===============获取用户编码获取用户信息失败!"+e.getMessage()); } return null; } public List getAllDepartList(String acccessToken ,String companyId) { List list = null; try { String acturl =url+GET_USERINFO_URL+"?accessToken="+acccessToken+"&companyId="+companyId; String result = HttpsUtil.sendGetByHttps(acturl,null); log.error("EDGP:===============获取企业部门树形信息失败:"+acturl+"\n返回:"+result); JSONObject jsonObject = JSONObject.parseObject(result); if(jsonObject !=null && jsonObject.getBoolean("success")){ JSONArray model = jsonObject.getJSONArray("data") ; if(model != null && model.size()>0){ list = new ArrayList<>(); for (int i = 0; i < model.size(); i++) { list.add(JSONObject.toJavaObject(model.getJSONObject(i),AppDepartListModel.class)); } } } }catch (Exception e){ log.error("EDGP:===============获取企业部门树形信息失败!"+e.getMessage()); } return list; } public AppUserInfoModel getUserInfoByToken(String token ) { try { String acturl = url+GET_USERINFO_TOKEN_URL+"?token="+token; String result = HttpsUtil.sendGetByHttps(acturl,null); log.error("EDGP:===============根据授权登录码获取用户信息:"+acturl+"\n返回:"+result); JSONObject jsonObject = JSONObject.parseObject(result); if(jsonObject !=null && jsonObject.getBoolean("success")){ AppUserInfoModel model = JSONObject.toJavaObject(jsonObject.getJSONObject("data"), AppUserInfoModel.class); if(model != null){ return model; } } }catch (Exception e){ log.error("EDGP:===============根据授权登录码获取用户信息失败!"+e.getMessage()); } return null; } }