浏览代码

对接模型接口

tsurumure 6 月之前
父节点
当前提交
c4527eb773

+ 2 - 2
db/ai_chat_model.sql

@@ -16,11 +16,11 @@ CREATE TABLE `ai_chat_model` (
 ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='AI对话模型表';
 ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='AI对话模型表';
 
 
 INSERT INTO ai_chat_model(id, parent_id, label, value, disabled, status) VALUES
 INSERT INTO ai_chat_model(id, parent_id, label, value, disabled, status) VALUES
-    (1, -1, 'DEEPSEEK_R1', 'DeepSeek R1', -1, 1),
+    (1, -1, 'DeepSeek R1', 'DEEPSEEK_R1', -1, 1),
         (2, 1, 'deepseek-r1:1.5b', 'deepseek-r1:1.5b', -1, 1),
         (2, 1, 'deepseek-r1:1.5b', 'deepseek-r1:1.5b', -1, 1),
         (3, 1, 'deepseek-r1:70b', 'deepseek-r1:70b', -1, 1),
         (3, 1, 'deepseek-r1:70b', 'deepseek-r1:70b', -1, 1),
         (4, 1, 'deepseek-r1:671b', 'deepseek-r1:671b', 1, 1),
         (4, 1, 'deepseek-r1:671b', 'deepseek-r1:671b', 1, 1),
-    (5, -1, 'DEEPSEEK_API', 'DeepSeek API', -1, 1),
+    (5, -1, 'DeepSeek API', 'DEEPSEEK_API', -1, 1),
         (6, 5, 'deepseek-chat', 'deepseek-chat', -1, 1),
         (6, 5, 'deepseek-chat', 'deepseek-chat', -1, 1),
         (7, 5, 'deepseek-reasoner', 'deepseek-reasoner', -1, 1),
         (7, 5, 'deepseek-reasoner', 'deepseek-reasoner', -1, 1),
     (8, -1, '混元大模型', 'HUNYUAN', -1, 1)
     (8, -1, '混元大模型', 'HUNYUAN', -1, 1)

+ 0 - 5
src/main/java/com/backendsys/modules/ai/chat/dao/ChatModelDao.java

@@ -4,11 +4,6 @@ import com.backendsys.modules.ai.chat.entity.ChatModel;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
-import java.util.List;
-
 @Mapper
 @Mapper
 public interface ChatModelDao extends BaseMapper<ChatModel> {
 public interface ChatModelDao extends BaseMapper<ChatModel> {
-
-    List<ChatModel> selectChatModelList(ChatModel chatModel);
-
 }
 }

+ 25 - 0
src/main/java/com/backendsys/modules/ai/chat/entity/ChatModel.java

@@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonGetter;
+import com.fasterxml.jackson.annotation.JsonSetter;
 import lombok.Data;
 import lombok.Data;
 
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 
 
 @Data
 @Data
@@ -20,4 +23,26 @@ public class ChatModel {
     private List<ChatModel> children;
     private List<ChatModel> children;
     private Integer disabled;
     private Integer disabled;
     private Integer status;
     private Integer status;
+
+
+    // 自定义getter方法用于JSON序列化
+    @JsonGetter("disabled")
+    public boolean getDisabledAsBoolean() {
+        return disabled == 1;
+    }
+
+    // 自定义getter方法,确保children不会返回null
+    @JsonGetter("children")
+    public List<ChatModel> getChildren() {
+        if (this.children == null) {
+            return new ArrayList<>(); // 返回空数组
+        }
+        return this.children;
+    }
+
+    // 自定义setter方法,保持原有功能
+    @JsonSetter("children")
+    public void setChildren(List<ChatModel> children) {
+        this.children = children;
+    }
 }
 }

+ 1 - 0
src/main/java/com/backendsys/modules/ai/chat/service/ChatModelService.java

@@ -6,6 +6,7 @@ import java.util.List;
 
 
 public interface ChatModelService {
 public interface ChatModelService {
 
 
+    // 获取模型列表
     List<ChatModel> selectChatModelList();
     List<ChatModel> selectChatModelList();
 
 
 }
 }

+ 4 - 5
src/main/java/com/backendsys/modules/ai/chat/service/impl/ChatModelServiceImpl.java

@@ -27,12 +27,10 @@ public class ChatModelServiceImpl implements ChatModelService {
         // 创建一个map,用于存储id和对应的ChatModel对象
         // 创建一个map,用于存储id和对应的ChatModel对象
         Map<Long, ChatModel> nodeMap = new HashMap<>();
         Map<Long, ChatModel> nodeMap = new HashMap<>();
         List<ChatModel> rootNodes = new ArrayList<>(); // 存储顶级节点
         List<ChatModel> rootNodes = new ArrayList<>(); // 存储顶级节点
-
         // 遍历列表,将所有节点放入map中
         // 遍历列表,将所有节点放入map中
         for (ChatModel node : list) {
         for (ChatModel node : list) {
             nodeMap.put(node.getId(), node);
             nodeMap.put(node.getId(), node);
         }
         }
-
         // 遍历列表,为每个节点找到其父节点
         // 遍历列表,为每个节点找到其父节点
         for (ChatModel node : list) {
         for (ChatModel node : list) {
             Long parentId = node.getParent_id();
             Long parentId = node.getParent_id();
@@ -43,18 +41,19 @@ public class ChatModelServiceImpl implements ChatModelService {
                 // 如果不是顶级节点,找到其父节点并添加到父节点的children中
                 // 如果不是顶级节点,找到其父节点并添加到父节点的children中
                 ChatModel parentNode = nodeMap.get(parentId);
                 ChatModel parentNode = nodeMap.get(parentId);
                 if (parentNode != null) {
                 if (parentNode != null) {
-                    if (parentNode.getChildren() == null) {
+                    if (parentNode.getChildren() == null || parentNode.getChildren().size() == 0) {
                         parentNode.setChildren(new ArrayList<>());
                         parentNode.setChildren(new ArrayList<>());
                     }
                     }
                     parentNode.getChildren().add(node);
                     parentNode.getChildren().add(node);
                 }
                 }
             }
             }
         }
         }
-
         return rootNodes;
         return rootNodes;
     }
     }
 
 
-
+    /**
+     * 获取模型列表
+     */
     @Override
     @Override
     public List<ChatModel> selectChatModelList() {
     public List<ChatModel> selectChatModelList() {
         List<ChatModel> list = chatModelDao.selectList(new LambdaQueryWrapper<ChatModel>().eq(ChatModel::getStatus, 1));
         List<ChatModel> list = chatModelDao.selectList(new LambdaQueryWrapper<ChatModel>().eq(ChatModel::getStatus, 1));