|
@@ -1,6 +1,9 @@
|
|
|
package com.usky.ai.controller.web;
|
|
|
|
|
|
+import com.usky.ai.mapper.AiQuestionMapper;
|
|
|
import com.usky.ai.mapper.AiSessionMapper;
|
|
|
+import com.usky.ai.service.AiQuestion;
|
|
|
+import com.usky.ai.service.AiQuestionItem;
|
|
|
import com.usky.ai.service.AiSession;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -9,6 +12,7 @@ import org.springframework.web.bind.annotation.PathVariable;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
@Slf4j
|
|
@@ -19,13 +23,44 @@ public class AiSessionController {
|
|
|
@Autowired
|
|
|
private AiSessionMapper aiSessionMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private AiQuestionMapper aiQuestionMapper;
|
|
|
+
|
|
|
@GetMapping("/all")
|
|
|
public List<AiSession> getAllSessions() {
|
|
|
return aiSessionMapper.findAll();
|
|
|
}
|
|
|
|
|
|
- @GetMapping("/{sessionId}")
|
|
|
- public List<AiSession> getSessionsBySessionId(@PathVariable String sessionId) {
|
|
|
- return aiSessionMapper.findBySessionId(sessionId);
|
|
|
+ @GetMapping("/{userId}")
|
|
|
+ public List<AiSession> getSessionsByUserId(@PathVariable Long userId) {
|
|
|
+ List<AiSession> sessions = aiSessionMapper.findByUserId(userId);
|
|
|
+
|
|
|
+ for (AiSession session : sessions) {
|
|
|
+ List<AiQuestion> questions = aiQuestionMapper.findQuestionsBySessionId(session.getSessionId());
|
|
|
+ List<AiQuestionItem> itemList = new ArrayList<>();
|
|
|
+
|
|
|
+ for (AiQuestion question : questions) {
|
|
|
+ AiQuestionItem userItem = new AiQuestionItem("user", question.getQuestion());
|
|
|
+ userItem.setId(question.getId());
|
|
|
+ userItem.setSessionId(question.getSessionId());
|
|
|
+ userItem.setUserId(question.getUserId());
|
|
|
+ userItem.setUserName(question.getUserName());
|
|
|
+ userItem.setAskTime(question.getAskTime());
|
|
|
+
|
|
|
+ AiQuestionItem assistantItem = new AiQuestionItem("assistant", question.getAnswer());
|
|
|
+ assistantItem.setId(question.getId());
|
|
|
+ assistantItem.setSessionId(question.getSessionId());
|
|
|
+ assistantItem.setUserId(question.getUserId());
|
|
|
+ assistantItem.setUserName(question.getUserName());
|
|
|
+ assistantItem.setAskTime(question.getAskTime());
|
|
|
+
|
|
|
+ itemList.add(userItem);
|
|
|
+ itemList.add(assistantItem);
|
|
|
+ }
|
|
|
+
|
|
|
+ session.setItemList(itemList);
|
|
|
+ }
|
|
|
+
|
|
|
+ return sessions;
|
|
|
}
|
|
|
}
|