From 53fa1addcd22557f6541092a151a3064779d3f93 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期五, 12 十二月 2025 13:28:42 +0800
Subject: [PATCH] #AI

---
 src/main/java/com/zy/ai/controller/WcsDiagnosisController.java |   26 +++++++++++++++++++++++---
 1 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/ai/controller/WcsDiagnosisController.java b/src/main/java/com/zy/ai/controller/WcsDiagnosisController.java
index 41dbf15..07eff9f 100644
--- a/src/main/java/com/zy/ai/controller/WcsDiagnosisController.java
+++ b/src/main/java/com/zy/ai/controller/WcsDiagnosisController.java
@@ -3,10 +3,13 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.zy.ai.entity.DeviceConfigsData;
 import com.zy.ai.entity.DeviceRealTimeData;
+import com.zy.ai.entity.ChatCompletionRequest;
 import com.zy.ai.entity.WcsDiagnosisRequest;
 import com.zy.ai.entity.WcsDiagnosisResponse;
 import com.zy.ai.log.AiLogAppender;
 import com.zy.ai.service.WcsDiagnosisService;
+import com.core.annotations.ManagerAuth;
+import com.zy.common.web.BaseController;
 import com.zy.asrs.entity.BasCrnp;
 import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.service.BasCrnpService;
@@ -33,7 +36,7 @@
 @RestController
 @RequestMapping("/ai/diagnose")
 @RequiredArgsConstructor
-public class WcsDiagnosisController {
+public class WcsDiagnosisController extends BaseController {
 
     @Autowired
     private WcsDiagnosisService wcsDiagnosisService;
@@ -178,7 +181,9 @@
     }
 
     @GetMapping("/askStream")
-    public SseEmitter askStream(@RequestParam("prompt") String prompt) {
+    public SseEmitter askStream(@RequestParam("prompt") String prompt,
+                                @RequestParam(value = "chatId", required = false) String chatId,
+                                @RequestParam(value = "reset", required = false, defaultValue = "false") boolean reset) {
         SseEmitter emitter = new SseEmitter(0L);
         new Thread(() -> {
             try {
@@ -237,7 +242,7 @@
                 request.setDeviceRealtimeData(deviceRealTimeDataList);
                 request.setDeviceConfigs(deviceConfigsDataList);
 
-                wcsDiagnosisService.askStream(request, prompt, emitter);
+                wcsDiagnosisService.askStream(request, prompt, chatId, reset, emitter);
             } catch (Exception e) {
                 emitter.completeWithError(e);
             }
@@ -245,6 +250,21 @@
         return emitter;
     }
 
+    @GetMapping("/chats")
+    public List<Map<String, Object>> listChats() {
+        return wcsDiagnosisService.listChats();
+    }
+
+    @DeleteMapping("/chats/{chatId}")
+    public Boolean deleteChat(@PathVariable("chatId") String chatId) {
+        return wcsDiagnosisService.deleteChat(chatId);
+    }
+
+    @GetMapping("/chats/{chatId}/history")
+    public List<ChatCompletionRequest.Message> getChatHistory(@PathVariable("chatId") String chatId) {
+        return wcsDiagnosisService.getChatHistory(chatId);
+    }
+
     /**
      * POST /api/ai/diagnose/wcs
      */

--
Gitblit v1.9.1