perf:优化部分代码
This commit is contained in:
@@ -5,6 +5,7 @@ import cn.hutool.core.lang.TypeReference;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.http.HttpResponse;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
@@ -125,9 +126,11 @@ public class PlatformDingConfig {
|
||||
* @see <a href="https://open.dingtalk.com/document/isvapp-server/obtain-the-userid-of-a-user-by-using-the-log-free"></a>
|
||||
*/
|
||||
public String getUserIdByCode(String service, String code) {
|
||||
String response = HttpRequest.post("https://oapi.dingtalk.com/topapi/v2/user/getuserinfo?access_token=" + getAccessToken(service))
|
||||
.body(JSONUtil.createObj().putOpt("code", code).toString()).execute().body();
|
||||
return JSONUtil.parseObj(response).getJSONObject("result").getStr("userid");
|
||||
HttpRequest request = HttpRequest.post("https://oapi.dingtalk.com/topapi/v2/user/getuserinfo?access_token=" + getAccessToken(service))
|
||||
.body(JSONUtil.createObj().putOpt("code", code).toString());
|
||||
try (HttpResponse response = request.execute()) {
|
||||
return JSONUtil.parseObj(response.body()).getJSONObject("result").getStr("userid");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -141,15 +144,16 @@ public class PlatformDingConfig {
|
||||
*/
|
||||
public DingUserInfo topapiV2UserGet(String service, String ddUserId) {
|
||||
DingConfigBean dingConfigBean = getConfigBean(service);
|
||||
String response = HttpRequest.post("https://oapi.dingtalk.com/topapi/v2/user/get?access_token=" + getAccessToken(service))
|
||||
.body(JSONUtil.createObj().putOpt("userid", ddUserId).toString()).execute().body();
|
||||
JSONObject resultJson = JSONUtil.parseObj(response).getJSONObject("result");
|
||||
DingUserInfo userInfo = JSONUtil.toBean(resultJson, DingUserInfo.class);
|
||||
|
||||
// 设置一下job_number
|
||||
userInfo.setJobNumber(resultJson.getStr("job_number"));
|
||||
userInfo.setAppId(dingConfigBean.getAppKey());
|
||||
return userInfo;
|
||||
try (HttpResponse response = HttpRequest.post("https://oapi.dingtalk.com/topapi/v2/user/get?access_token="
|
||||
+ getAccessToken(service))
|
||||
.body(JSONUtil.createObj().putOpt("userid", ddUserId).toString()).execute()) {
|
||||
JSONObject resultJson = JSONUtil.parseObj(response.body()).getJSONObject("result");
|
||||
DingUserInfo userInfo = JSONUtil.toBean(resultJson, DingUserInfo.class);
|
||||
// 设置一下job_number
|
||||
userInfo.setJobNumber(resultJson.getStr("job_number"));
|
||||
userInfo.setAppId(dingConfigBean.getAppKey());
|
||||
return userInfo;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -164,15 +168,16 @@ public class PlatformDingConfig {
|
||||
if (StrUtil.isEmpty(token)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
String response = HttpRequest.post("https://oapi.dingtalk.com/topapi/v2/department/listsub?access_token=" + token)
|
||||
.body(JSONUtil.createObj().putOpt("dept_id", deptId).toString()).execute().body();
|
||||
DingResponse<List<DingDeptVo>> result = JSONUtil.toBean(response, new TypeReference<DingResponse<List<DingDeptVo>>>() {
|
||||
}.getType(), true);
|
||||
try (HttpResponse response = HttpRequest.post("https://oapi.dingtalk.com/topapi/v2/department/listsub?access_token=" + token)
|
||||
.body(JSONUtil.createObj().putOpt("dept_id", deptId).toString()).execute()) {
|
||||
DingResponse<List<DingDeptVo>> result = JSONUtil.toBean(response.body(), new TypeReference<DingResponse<List<DingDeptVo>>>() {
|
||||
}.getType(), true);
|
||||
|
||||
if (!result.isOk()) {
|
||||
result.setResult(new ArrayList<>());
|
||||
if (!result.isOk()) {
|
||||
result.setResult(new ArrayList<>());
|
||||
}
|
||||
return result.getResult();
|
||||
}
|
||||
return result.getResult();
|
||||
}
|
||||
|
||||
|
||||
@@ -187,16 +192,16 @@ public class PlatformDingConfig {
|
||||
if (StrUtil.isEmpty(token)) {
|
||||
return DingUserListVo.fail();
|
||||
}
|
||||
|
||||
String response = HttpRequest.post("https://oapi.dingtalk.com/topapi/v2/user/list?access_token=" + token)
|
||||
try (HttpResponse response = HttpRequest.post("https://oapi.dingtalk.com/topapi/v2/user/list?access_token=" + token)
|
||||
.body(JSONUtil.createObj().putOpt("dept_id", deptId).putOpt("cursor", cursor).putOpt("size", 100).toString())
|
||||
.execute().body();
|
||||
DingResponse<DingUserListVo> result = JSONUtil.toBean(response, new TypeReference<DingResponse<DingUserListVo>>() {
|
||||
}.getType(), true);
|
||||
if (!result.isOk()) {
|
||||
result.setResult(DingUserListVo.fail());
|
||||
.execute()) {
|
||||
DingResponse<DingUserListVo> result = JSONUtil.toBean(response.body(), new TypeReference<DingResponse<DingUserListVo>>() {
|
||||
}.getType(), true);
|
||||
if (!result.isOk()) {
|
||||
result.setResult(DingUserListVo.fail());
|
||||
}
|
||||
return result.getResult();
|
||||
}
|
||||
return result.getResult();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.tiesheng.platform.config.wxmini;
|
||||
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.http.HttpResponse;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.tiesheng.platform.config.wxmp.bean.WxConfigBean;
|
||||
@@ -50,12 +51,13 @@ public class PlatformWxminiConfig {
|
||||
*/
|
||||
public String jscode2session(String service, String code) {
|
||||
WxConfigBean configBean = getConfigBean(service);
|
||||
String body = HttpRequest.get("https://api.weixin.qq.com/sns/jscode2session"
|
||||
try (HttpResponse response = HttpRequest.get("https://api.weixin.qq.com/sns/jscode2session"
|
||||
+ "?appid=" + configBean.getAppId()
|
||||
+ "&secret=" + configBean.getAppSecret()
|
||||
+ "&js_code=" + code + "&grant_type=authorization_code").execute().body();
|
||||
JSONObject object = JSONUtil.parseObj(body);
|
||||
return object.getStr("openid");
|
||||
+ "&js_code=" + code + "&grant_type=authorization_code").execute()) {
|
||||
JSONObject object = JSONUtil.parseObj(response.body());
|
||||
return object.getStr("openid");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -65,11 +67,12 @@ public class PlatformWxminiConfig {
|
||||
*/
|
||||
public String getAccessToken(String service) {
|
||||
WxConfigBean configBean = getConfigBean(service);
|
||||
String body = HttpRequest.get("https://api.weixin.qq.com/cgi-bin/token"
|
||||
try (HttpResponse response = HttpRequest.get("https://api.weixin.qq.com/cgi-bin/token"
|
||||
+ "?grant_type=client_credential&appid=" + configBean.getAppId()
|
||||
+ "&secret=" + configBean.getAppSecret()).execute().body();
|
||||
JSONObject object = JSONUtil.parseObj(body);
|
||||
return object.getStr("access_token");
|
||||
+ "&secret=" + configBean.getAppSecret()).execute()) {
|
||||
JSONObject object = JSONUtil.parseObj(response.body());
|
||||
return object.getStr("access_token");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user