package admin.util; import admin.listener.DeepSeekAiListener; import admin.model.MaxKbChatReq; import admin.modules.chatgpt.service.ChatgptRoleRecordsService; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import okhttp3.*; import okhttp3.sse.EventSource; import okhttp3.sse.EventSources; import org.springframework.context.ApplicationContext; import javax.websocket.Session; import java.io.IOException; import java.time.Duration; /** * @author lj * @date 2025/2/24 13:18 */ public class HttpUtil { public static String get(String url,String apiKey){ OkHttpClient okHttpClient = new OkHttpClient().newBuilder().build(); Request request = new Request.Builder() .url(url) .method("GET",null) .addHeader("Content-Type", "application/json") .addHeader("Accept", "application/json") .addHeader("Authorization", apiKey) .build(); try { Response execute = okHttpClient.newCall(request).execute(); return execute.body().string(); } catch (IOException e) { throw new RuntimeException(e); } } public static String post(String url,Object data){ OkHttpClient okHttpClient = new OkHttpClient().newBuilder().connectTimeout(Duration.ofSeconds(30)).build(); Request request = null; try { request = new Request.Builder() .url(url) .addHeader("Content-Type", "application/json") .addHeader("Accept", "application/json") .post(RequestBody.create(MediaType.parse("application/json"), new ObjectMapper().writeValueAsString(data))) .build(); Response execute = okHttpClient.newCall(request).execute(); return execute.body().string(); } catch (IOException e) { throw new RuntimeException(e); } } public static void postCallBackStream(String url, Object data, String apiKey, MaxKbChatReq maxKbChatReq, ChatgptRoleRecordsService chatgptRoleRecordsService){ OkHttpClient okHttpClient = new OkHttpClient().newBuilder().build(); // RequestBody body = RequestBody.create(MediaType.parse("application/json"), data); Request request = null; try { request = new Request.Builder() .url(url) .addHeader("Content-Type", "application/json") .addHeader("Accept", "application/json") .addHeader("Authorization", apiKey) .post(RequestBody.create(MediaType.parse("application/json"), new ObjectMapper().writeValueAsString(data))) .build(); } catch (JsonProcessingException e) { throw new RuntimeException(e); } EventSource.Factory factory = EventSources.createFactory(okHttpClient); factory.newEventSource(request,new DeepSeekAiListener(maxKbChatReq,chatgptRoleRecordsService)); } }