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