|
|
@@ -1,18 +1,25 @@
|
|
|
package com.goafanti.baiduAI.controller;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.goafanti.baiduAI.bo.InputSendChat;
|
|
|
import com.goafanti.baiduAI.bo.OutSendChat;
|
|
|
import com.goafanti.baiduAI.bo.SseMap;
|
|
|
import com.goafanti.baiduAI.bo.SseResult;
|
|
|
import com.goafanti.baiduAI.service.BaiduAiService;
|
|
|
import com.goafanti.common.bo.Result;
|
|
|
+import com.goafanti.common.utils.HttpUtils;
|
|
|
import com.goafanti.common.utils.LoggerUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
+import org.springframework.web.context.request.RequestContextHolder;
|
|
|
+import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
|
|
|
|
|
|
+import javax.servlet.ServletOutputStream;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.IOException;
|
|
|
+import java.util.Calendar;
|
|
|
|
|
|
@RestController
|
|
|
@RequestMapping(value = "/chat")
|
|
|
@@ -27,11 +34,17 @@ public class BaiduAiController {
|
|
|
return res.data(baiduAiService.sendChat(in));
|
|
|
}
|
|
|
|
|
|
+ @RequestMapping(value = "/sendJS",method = RequestMethod.POST)
|
|
|
+ public Result sendJS(@RequestBody InputSendChat in){
|
|
|
+ Result res =new Result();
|
|
|
+ return res.data(baiduAiService.sendJS(in));
|
|
|
+ }
|
|
|
|
|
|
@RequestMapping("/start")
|
|
|
public SseEmitter testSseEmitter(String clientId) {
|
|
|
// 默认30秒超时,设置为0L则永不超时
|
|
|
- SseEmitter sseEmitter = new SseEmitter(0L);
|
|
|
+ SseEmitter sseEmitter = new SseEmitter(3600_000L);
|
|
|
+ if (clientId==null)clientId="10086";
|
|
|
SseMap.sseEmitterMap.put(clientId, new SseResult(clientId, System.currentTimeMillis(), sseEmitter));
|
|
|
return sseEmitter;
|
|
|
}
|
|
|
@@ -48,9 +61,9 @@ public class BaiduAiController {
|
|
|
try {
|
|
|
SseResult result = SseMap.sseEmitterMap.get(clientId);
|
|
|
if (result != null && result.sseEmitter != null) {
|
|
|
- long timestamp = System.currentTimeMillis();
|
|
|
- String re = "{\"success\":true,\"message\":\"操作成功!\",\"code\":200,\"result\":{\"id\":1018},\"timestamp\":1629254216358}";
|
|
|
- result.sseEmitter.send(re);
|
|
|
+ long timeInMillis = Calendar.getInstance().getTimeInMillis();
|
|
|
+ String re = "{\"success\":true,\"message\":\"操作成功!\",\"code\":200,\"result\":{\"id\":1018},\"timestamp\":"+timeInMillis+"}";
|
|
|
+ result.sseEmitter.send(re);
|
|
|
}
|
|
|
} catch (IOException e) {
|
|
|
LoggerUtils.error(getClass(),"IOException");
|
|
|
@@ -73,7 +86,9 @@ public class BaiduAiController {
|
|
|
SseMap.sseEmitterMap.remove(clientId);
|
|
|
result.sseEmitter.complete();
|
|
|
}
|
|
|
-
|
|
|
return "Succeed!";
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|