孙永军 1 vuosi sitten
vanhempi
commit
33910e4f08

+ 13 - 1
src/main/java/com/sxtvs/open/api/chat/controller/KimiChatController.java

@@ -1,5 +1,10 @@
 package com.sxtvs.open.api.chat.controller;
 
+import com.sxtvs.open.api.chat.entity.KimiChat;
+import com.sxtvs.open.api.chat.service.impl.KimiChatServiceImpl;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -12,7 +17,14 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2024-03-25
  */
 @RestController
-@RequestMapping("/chat/kimiChat")
+@RequestMapping("/chat")
 public class KimiChatController {
 
+    @Resource
+    private KimiChatServiceImpl kimiChatService;
+
+    @PostMapping("/send")
+    public KimiChat send(@RequestBody KimiChat kimiChat) {
+        return kimiChatService.create(kimiChat);
+    }
 }

+ 2 - 4
src/main/java/com/sxtvs/open/api/chat/service/impl/KimiChatServiceImpl.java

@@ -66,8 +66,6 @@ public class KimiChatServiceImpl extends ServiceImpl<KimiChatMapper, KimiChat> i
 
     public void chatCompletions(KimiRequest kimiRequest, Long dataId) {
 
-
-
         HttpClient client = HttpClient.newBuilder().build();
 
         URI uri = URI.create("https://api.moonshot.cn/v1/chat/completions"); // 替换为你的SSE服务器地址
@@ -152,7 +150,7 @@ public class KimiChatServiceImpl extends ServiceImpl<KimiChatMapper, KimiChat> i
         }
     }
 
-    public void create(KimiChat  kimiChat) {
+    public KimiChat create(KimiChat  kimiChat) {
 
         kimiChat.setId("user-" + IdUtil.simpleUUID());
         kimiChat.setRole("user");
@@ -177,6 +175,6 @@ public class KimiChatServiceImpl extends ServiceImpl<KimiChatMapper, KimiChat> i
         kimiRequest.setMessages(messageList);
 
         chatCompletions( kimiRequest, kimiChat.getGroupId());
-
+        return kimiChat;
     }
 }

+ 4 - 10
src/main/java/com/sxtvs/open/api/review/controller/SseController.java

@@ -40,18 +40,12 @@ public class SseController {
         return sseEmitter;
     }
 
-    @Resource
-    private KimiChatServiceImpl kimiChatService;
-
-    @PostMapping(path = "/chat", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
+    @GetMapping(path = "/chat", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
     @NoAPIResponse
-    public SseEmitter handleSsePost(@RequestBody KimiChat kimiChat) throws IOException {
+    public SseEmitter handleSsePost(@RequestParam("token") String token,
+                                    @RequestParam("groupId") Long gid) throws IOException {
         SseEmitter sseEmitter = new SseEmitter(0L); // 设置超时时间
-        sseService.monitor(kimiChat.getGroupId(), sseEmitter);
-        poolExecutor.execute(() -> {
-            kimiChatService.create(kimiChat);
-        });
-        sseEmitter.send(SseEmitter.event().name("hello").data("你好"));
+        sseService.monitor(gid, sseEmitter);
         sseEmitter.send(SseEmitter.event().name("hello").data("hello"));
         return sseEmitter;
     }