From 6a1b544545ba2a005a1d6263f3b42aaeeef78bcd Mon Sep 17 00:00:00 2001
From: ageerle <ageerle@163.com>
Date: 星期二, 11 三月 2025 17:32:47 +0800
Subject: [PATCH] feat: 支持插件功能

---
 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Message.java |   63 +++++++++++++------------------
 1 files changed, 27 insertions(+), 36 deletions(-)

diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Message.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Message.java
index 9637569..86faa47 100644
--- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Message.java
+++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/entity/chat/Message.java
@@ -2,12 +2,11 @@
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import lombok.AllArgsConstructor;
 import lombok.Data;
-import lombok.Getter;
+import org.ruoyi.common.chat.entity.chat.tool.ToolCalls;
 
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * 鎻忚堪锛�
@@ -18,20 +17,9 @@
 @Data
 @JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown = true)
-public class Message implements Serializable {
-
-    /**
-     * 鐩墠鏀寔鍥涗釜涓鑹插弬鑰冨畼缃戯紝杩涜鎯呮櫙杈撳叆锛�
-     * https://platform.openai.com/docs/guides/chat/introduction
-     */
-    private String role;
+public class Message extends BaseMessage implements Serializable {
 
     private Object content;
-
-    private String name;
-
-    @JsonProperty("function_call")
-    private FunctionCall functionCall;
 
     public static Builder builder() {
         return new Builder();
@@ -41,44 +29,37 @@
      * 鏋勯�犲嚱鏁�
      *
      * @param role         瑙掕壊
-     * @param content      鎻忚堪涓婚淇℃伅
      * @param name         name
+     * @param content      content
      * @param functionCall functionCall
      */
-    public Message(String role, String content, String name, FunctionCall functionCall) {
-        this.role = role;
+    public Message(String role, String name, String content, List<ToolCalls> toolCalls, String toolCallId, FunctionCall functionCall) {
         this.content = content;
-        this.name = name;
-        this.functionCall = functionCall;
+        super.setRole(role);
+        super.setName(name);
+        super.setToolCalls(toolCalls);
+        super.setToolCallId(toolCallId);
+        super.setFunctionCall(functionCall);
     }
 
     public Message() {
     }
 
     private Message(Builder builder) {
-        setRole(builder.role);
         setContent(builder.content);
-        setName(builder.name);
-        setFunctionCall(builder.functionCall);
-    }
-
-
-    @Getter
-    @AllArgsConstructor
-    public enum Role {
-
-        SYSTEM("system"),
-        USER("user"),
-        ASSISTANT("assistant"),
-        FUNCTION("function"),
-        ;
-        private String name;
+        super.setRole(builder.role);
+        super.setName(builder.name);
+        super.setFunctionCall(builder.functionCall);
+        super.setToolCalls(builder.toolCalls);
+        super.setToolCallId(builder.toolCallId);
     }
 
     public static final class Builder {
         private String role;
         private String content;
         private String name;
+        private String toolCallId;
+        private List<ToolCalls> toolCalls;
         private FunctionCall functionCall;
 
         public Builder() {
@@ -109,6 +90,16 @@
             return this;
         }
 
+        public Builder toolCalls(List<ToolCalls> toolCalls) {
+            this.toolCalls = toolCalls;
+            return this;
+        }
+
+        public Builder toolCallId(String toolCallId) {
+            this.toolCallId = toolCallId;
+            return this;
+        }
+
         public Message build() {
             return new Message(this);
         }

--
Gitblit v1.9.3