From 3544c44293e88e987c390acc2c50296c60cf23e0 Mon Sep 17 00:00:00 2001 From: vivid <2390310671@qq.com> Date: Wed, 16 Jul 2025 15:07:01 +0800 Subject: [PATCH] =?UTF-8?q?feat(controller):=20=E6=B7=BB=E5=8A=A0=20Spider?= =?UTF-8?q?3=20=E6=8E=A7=E5=88=B6=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dify/controller/Spider3Controller.java | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 src/main/java/com/zsc/edu/dify/modules/dify/controller/Spider3Controller.java diff --git a/src/main/java/com/zsc/edu/dify/modules/dify/controller/Spider3Controller.java b/src/main/java/com/zsc/edu/dify/modules/dify/controller/Spider3Controller.java new file mode 100644 index 0000000..91fbedc --- /dev/null +++ b/src/main/java/com/zsc/edu/dify/modules/dify/controller/Spider3Controller.java @@ -0,0 +1,65 @@ +package com.zsc.edu.dify.modules.dify.controller; + + +import com.alibaba.fastjson.JSONObject; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.zsc.edu.dify.modules.dify.dto.SpiderDto; +import jakarta.annotation.Resource; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.reactive.function.client.WebClient; + + +@RestController +@RequestMapping("/api/spider3") +public class Spider3Controller { + @Resource + private ObjectMapper objectMapper; + + @Value("${quanguo.url}") + private String SPIDER_URL; + + @Value("${quanguo.api-key}") + private String API_KEY; + + @PostMapping("/run") + public JSONObject run(@RequestBody SpiderDto dto) throws JsonProcessingException { + dto.setLlm_api_key(API_KEY); + String body = objectMapper.writeValueAsString(dto); + return WebClient.create(SPIDER_URL).post().uri("/start_crawl") + .contentType(MediaType.APPLICATION_JSON) + .bodyValue(body) + .retrieve() + .bodyToMono(JSONObject.class) + .block(); + } + + @PostMapping("/status") + public JSONObject status() { + return WebClient.create(SPIDER_URL).post().uri("/crawl_status") + .retrieve() + .bodyToMono(JSONObject.class) + .block(); + } + + @PostMapping("/logs") + public JSONObject logs() { + return WebClient.create(SPIDER_URL).post().uri("/logs") + .retrieve() + .bodyToMono(JSONObject.class) + .block(); + } + + @PostMapping("/stop") + public JSONObject stop() { + return WebClient.create(SPIDER_URL).post().uri("/stop_crawl") + .retrieve() + .bodyToMono(JSONObject.class) + .block(); + } + + + +}