You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.6 KiB
Java
67 lines
2.6 KiB
Java
package com.weaver.seconddev.util;
|
|
|
|
import cn.hutool.http.HttpRequest;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import okhttp3.*;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
import java.io.IOException;
|
|
|
|
/**
|
|
* @Author: calyrex
|
|
* @CreateTime: 2025-04-25
|
|
* @Description: 接口信息获取工具
|
|
*/
|
|
|
|
|
|
@Component
|
|
@Slf4j
|
|
public class InterInfoAchieveUtil {
|
|
|
|
@Autowired
|
|
private DataOperateUtil dataOperateUtil;
|
|
|
|
public String getCode(String tenantKey){
|
|
try {
|
|
String corpid = dataOperateUtil.null2String(dataOperateUtil.getConfig("corpid",tenantKey));
|
|
String response_type = "code";
|
|
String state = "xxx";
|
|
String url = dataOperateUtil.null2String(dataOperateUtil.getConfig("oa_address",tenantKey)) + "/papi/openapi/oauth2/authorize?corpid=" +
|
|
corpid + "&response_type=" + response_type + "&state=" + state;
|
|
String body = HttpRequest.get(url).execute().body();
|
|
// log.info("getCode body-->" + body);
|
|
return body;
|
|
}catch (Exception e){
|
|
log.error("getCode error--> " + e);
|
|
return "";
|
|
}
|
|
}
|
|
|
|
public String getToken(String code,String tenantKey) throws IOException {
|
|
String app_key = dataOperateUtil.null2String(dataOperateUtil.getConfig("app_key",tenantKey));
|
|
String app_secret = dataOperateUtil.null2String(dataOperateUtil.getConfig("app_secret",tenantKey));
|
|
String grant_type = "authorization_code";
|
|
// JSONObject params = new JSONObject();
|
|
// params.put("app_key",app_key);
|
|
// params.put("app_secret",app_secret);
|
|
// params.put("grant_type",grant_type);
|
|
// params.put("code",code);
|
|
OkHttpClient client = new OkHttpClient().newBuilder()
|
|
.build();
|
|
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
|
|
String params = "app_key="+app_key+"&app_secret="+app_secret+"&grant_type="+grant_type+"&code="+code;
|
|
String url = dataOperateUtil.null2String(dataOperateUtil.getConfig("oa_address",tenantKey)) + "/papi/openapi/oauth2/access_token";
|
|
// log.info("getToken params-->" + params);
|
|
RequestBody body = RequestBody.create(mediaType, params);
|
|
Request request = new Request.Builder()
|
|
.url(url)
|
|
.method("POST", body)
|
|
.addHeader("Content-Type", "application/x-www-form-urlencoded")
|
|
.build();
|
|
Response response = client.newCall(request).execute();
|
|
return response.body().string();
|
|
}
|
|
|
|
}
|