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(); } }