浏览代码

fix:修改ai模块响应对象的结构,适应前端的格式

yangyi 5 月之前
父节点
当前提交
f055f2cc39

+ 1 - 0
ruoyi-modules/ruoyi-ai/src/main/java/org/dromara/ai/domain/VO/ConversationVO.java

@@ -11,6 +11,7 @@ public class ConversationVO {
      * 对话id
      */
     private Long id;
+    private Long conversationId;
     /**
      * 对话标题
      */

+ 1 - 1
ruoyi-modules/ruoyi-ai/src/main/java/org/dromara/ai/handler/AIHandlerImpl.java

@@ -44,7 +44,7 @@ public class AIHandlerImpl implements AIHandler {
         String prompt = new StringBuilder("用户需求:\n").append(messageContext.getMessage().getContent())
             .append("\n")
             .append(tableNamesStringBuilder)
-            .append("请你根据用户需求和现有的数据表,选择满足用户需求的数据表,返回数据表的名称,以json的格式返回{'tableNames':[]}").toString();
+            .append("请你根据用户需求和现有的数据表,选择满足用户需求的数据表,要求数据表要与用户需求强相关,返回数据表的名称,以json的格式返回{'tableNames':[]}").toString();
         String json = sendMessage(prompt);
         List<String> tableNames = new ArrayList<>();
         try {

+ 13 - 1
ruoyi-modules/ruoyi-ai/src/main/java/org/dromara/ai/service/service/ConversationServiceImpl.java

@@ -4,14 +4,18 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.dromara.ai.domain.Conversation;
+import org.dromara.ai.domain.VO.ConversationVO;
 import org.dromara.ai.mapper.ConversationMapper;
 import org.dromara.ai.service.ConversationService;
 import org.dromara.common.core.domain.R;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.satoken.utils.LoginHelper;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 @Service
 public class ConversationServiceImpl extends ServiceImpl<ConversationMapper, Conversation> implements ConversationService {
     @Override
@@ -19,6 +23,14 @@ public class ConversationServiceImpl extends ServiceImpl<ConversationMapper, Con
         Long userId = LoginHelper.getUserId();
         LambdaQueryWrapper<Conversation> queryWrapper = new LambdaQueryWrapper<Conversation>().eq(Conversation::getUserId, userId).orderByDesc(Conversation::getTimestamp);
         Page<Conversation> page = page(pageQuery.build(), queryWrapper);
-        return R.ok(TableDataInfo.build(page));
+        List<ConversationVO> list = page.getRecords().stream().map(conversation -> {
+            ConversationVO vo = new ConversationVO();
+            BeanUtils.copyProperties(conversation, vo);
+            vo.setConversationId(vo.getId());
+            return vo;
+        }).toList();
+        TableDataInfo<ConversationVO> tableDataInfo = TableDataInfo.build(list);
+        tableDataInfo.setTotal(page.getTotal());
+        return R.ok(tableDataInfo);
     }
 }