From 4960a73b581b570bd4b3aee358aaa0a8c8c0611d Mon Sep 17 00:00:00 2001
From: TangCheng <tangchengmail@163.com>
Date: 星期日, 02 三月 2025 15:59:50 +0800
Subject: [PATCH] 完成attach table的加载

---
 JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/core/SMTAIServerRequest.java |  105 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 105 insertions(+), 0 deletions(-)

diff --git a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/core/SMTAIServerRequest.java b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/core/SMTAIServerRequest.java
index b114c9a..34079e3 100644
--- a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/core/SMTAIServerRequest.java
+++ b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/core/SMTAIServerRequest.java
@@ -33,6 +33,31 @@
 
 public class SMTAIServerRequest extends SMTRequest 
 {
+	public static class AIAttachFile
+	{
+		public String				_fileId;
+		public String				_fileName;
+		public String				_fileText;
+		
+		public AIAttachFile(String fileId, String fileName, String fileText)
+		{
+			_fileId = fileId;
+			_fileName = fileName;
+			_fileText = fileText;
+		}
+		
+		public String toAttachMessage()
+		{
+			return "闄勫姞鏂囦欢 : " + _fileName + "\n" + _fileText + "\n";
+		}
+		
+		public void addToJson(SMTJsonWriter jsonWr)
+		{
+			jsonWr.addKeyValue("file_id", _fileId);
+			jsonWr.addKeyValue("file_name", _fileName);
+		}
+	}
+	
 	private static Logger 			_logger = LogManager.getLogger(SMTAIServerRequest.class);
 	private static Set<String>		_setPublicUrl;
 	private static List<String>		_listPublicUrl;
@@ -69,6 +94,8 @@
 	private SMTJsonWriter			_jsonWrResult = null;
 	private List<SMTJsonWriter>		_listJsonWrResult = null;
 	private boolean					_disableConclusion = false;
+	private List<AIAttachFile>		_listAttchFile = null;
+	private Json					_jsonAttachTables = null;
 
 
 	@Override
@@ -94,6 +121,84 @@
 		}
 	}
 	
+	public void setAttachTables(Json jsonTables)
+	{
+		_jsonAttachTables = jsonTables;
+	}
+	
+	public String[] getAttachMessage()
+	{
+		List<String> list = new ArrayList<>();
+		
+		if(_listAttchFile != null)
+		{
+			for(AIAttachFile file : _listAttchFile)
+			{
+				list.add(file.toAttachMessage());
+			}
+		}
+		
+		if(_jsonAttachTables != null)
+		{
+			for(Json jsonAttachTable : _jsonAttachTables.asJsonList())
+			{
+				StringBuilder sbText = new StringBuilder();
+				sbText.append("鐜版湁琛ㄦ牸锛�" + jsonAttachTable.getJson("title").asString() + "\n");
+				List<Json> jsonColumns = jsonAttachTable.getJson("columns").asJsonList();
+				for(int i = 0; i < jsonColumns.size(); i ++)
+				{
+					if(i > 0)
+						sbText.append(",");
+					sbText.append(jsonColumns.get(i).asString());
+				}
+				sbText.append("\n");
+				for(Json jsonRecord : jsonAttachTable.getJson("values").asJsonList())
+				{
+					List<Json> listRec = jsonRecord.asJsonList();
+					for(int i = 0; i < listRec.size(); i ++)
+					{
+						if(i > 0)
+							sbText.append(",");
+						sbText.append(listRec.get(i).asString());						
+					}
+				}
+				sbText.append("\n");
+				list.add(sbText.toString());
+			}
+		}
+		
+		return list.size() == 0 ? null : list.toArray(new String[list.size()]);
+	}
+	
+	public void addAttachMessageToJson(Json jsonResult)
+	{
+		if(_listAttchFile != null)
+		{
+			SMTJsonWriter jsonWr = new SMTJsonWriter(true);
+			for(AIAttachFile file : _listAttchFile)
+			{
+				jsonWr.beginMap(null);
+				file.addToJson(jsonWr);
+				jsonWr.endMap();
+			}
+			
+			jsonResult.set("attach_files", jsonWr.getRootJson());
+		}
+		
+		if(_jsonAttachTables != null)
+		{
+			jsonResult.set("attach_tables", _jsonAttachTables);
+		}
+	}
+	
+	public void addAttachFile(AIAttachFile attachFile)
+	{
+		if(_listAttchFile == null)
+			_listAttchFile = new ArrayList<>();
+		
+		_listAttchFile.add(attachFile);
+	}
+	
 	public void setDisableConclusion(boolean set)
 	{
 		_disableConclusion = set;

--
Gitblit v1.9.3