From 64505fed045981daec9eecd1af05a4e411917617 Mon Sep 17 00:00:00 2001 From: firefly <1633489380@qq.com> Date: Tue, 5 Aug 2025 09:05:00 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96APP=E7=9A=84=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E7=82=B9=E8=B5=9E=E5=92=8C=E5=8F=8D=E9=A6=88=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/web/api/DifyChatController.java | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/api/DifyChatController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/api/DifyChatController.java index 6254717..8af5e36 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/api/DifyChatController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/api/DifyChatController.java @@ -13,6 +13,7 @@ import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import java.io.BufferedReader; import java.io.IOException; import java.time.Duration; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -60,6 +61,7 @@ public class DifyChatController extends BaseController { * 配置了5分钟的读取超时时间,用于与Dify API进行通信 */ private final OkHttpClient client = new OkHttpClient.Builder() + .connectTimeout(Duration.ofSeconds(30)) // 添加连接超时时间 .readTimeout(Duration.ofMinutes(5)) .build(); @@ -340,6 +342,96 @@ public class DifyChatController extends BaseController { } } + /** + * 获取APP的消息点赞和反馈列表 + *
+ * 该接口用于获取应用的终端用户反馈、点赞列表 + *
+ * + * @param page 页码,默认值:1 + * @param limit 每页数量,默认值:20 + * @return 包含点赞、反馈列表的统一响应结果 + */ + @GetMapping("/app/feedbacks") + public AjaxResult getAppFeedbacks( + @RequestParam(value = "page", defaultValue = "1") String page, + @RequestParam(value = "limit", defaultValue = "20") String limit) { + + try { + // 构建请求URL + String url = "https://api.dify.ai/v1/app/feedbacks?page=" + page + "&limit=" + limit; + + // 构建请求 + Request request = new Request.Builder() + .url(url) + .addHeader("Authorization", "Bearer " + DIFY_API_KEY) + .addHeader("Content-Type", "application/json") + .get() + .build(); + + // 发送请求 + try (Response response = client.newCall(request).execute()) { + if (response.isSuccessful()) { + String responseBody = response.body().string(); + JsonNode rootNode = mapper.readTree(responseBody); + + // 解析数据 + JsonNode dataNode = rootNode.get("data"); + List