From 2609a4251cbfb0701f701ba7cb9545783306dbe1 Mon Sep 17 00:00:00 2001 From: heavyrian2012 Date: Wed, 31 Dec 2025 22:15:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=B8=93=E4=B8=9A=E7=89=88Se?= =?UTF-8?q?rver=20SDK?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/wildfirechat/common/APIPath.java | 3 ++ .../java/cn/wildfirechat/pojos/FilesPojo.java | 30 ++++++++++++++++++ .../pojos/GetConversationFilesPojo.java | 11 +++++++ .../pojos/GetOnlineUserResult.java | 1 + .../wildfirechat/pojos/GetUserFilesPojo.java | 8 +++++ .../wildfirechat/pojos/InputCountOffset.java | 6 ++++ .../java/cn/wildfirechat/pojos/LongPojo.java | 5 +++ .../pojos/PojoConferenceInfo.java | 3 -- .../cn/wildfirechat/sdk/ConferenceAdmin.java | 7 +++-- .../cn/wildfirechat/sdk/GeneralAdmin.java | 31 +++++++++++++++++++ .../main/java/cn/wildfirechat/sdk/Main.java | 6 ++-- 11 files changed, 103 insertions(+), 8 deletions(-) create mode 100755 common/src/main/java/cn/wildfirechat/pojos/FilesPojo.java create mode 100644 common/src/main/java/cn/wildfirechat/pojos/GetConversationFilesPojo.java create mode 100644 common/src/main/java/cn/wildfirechat/pojos/GetUserFilesPojo.java create mode 100644 common/src/main/java/cn/wildfirechat/pojos/InputCountOffset.java create mode 100644 common/src/main/java/cn/wildfirechat/pojos/LongPojo.java diff --git a/common/src/main/java/cn/wildfirechat/common/APIPath.java b/common/src/main/java/cn/wildfirechat/common/APIPath.java index 01a30774..f043631f 100644 --- a/common/src/main/java/cn/wildfirechat/common/APIPath.java +++ b/common/src/main/java/cn/wildfirechat/common/APIPath.java @@ -114,6 +114,9 @@ public interface APIPath { String Put_System_Setting = "/admin/system/put_setting"; String GET_CUSTOMER = "/admin/customer"; String Health = "/admin/health"; + String Get_Conversation_Files = "/admin/file/conversation_files"; + String Get_User_Files = "/admin/file/user_files"; + String Get_Message_File = "/admin/file/message_file"; String Conference_List = "/admin/conference/list"; String Conference_Exist = "/admin/conference/exist"; diff --git a/common/src/main/java/cn/wildfirechat/pojos/FilesPojo.java b/common/src/main/java/cn/wildfirechat/pojos/FilesPojo.java new file mode 100755 index 00000000..520ef3be --- /dev/null +++ b/common/src/main/java/cn/wildfirechat/pojos/FilesPojo.java @@ -0,0 +1,30 @@ +/* + * This file is part of the Wildfire Chat package. + * (c) Heavyrain2012 + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +package cn.wildfirechat.pojos; + +import java.util.ArrayList; +import java.util.List; + +public class FilesPojo { + public int total; + public List files; + public static class FilePojo { + public long messageId; + public String sender; + public int conversationType; + public String target; + public int line; + public String name; + public String url; + public int size; + public int downloadCount; + public long timestamp; + } +} + diff --git a/common/src/main/java/cn/wildfirechat/pojos/GetConversationFilesPojo.java b/common/src/main/java/cn/wildfirechat/pojos/GetConversationFilesPojo.java new file mode 100644 index 00000000..f409ad0f --- /dev/null +++ b/common/src/main/java/cn/wildfirechat/pojos/GetConversationFilesPojo.java @@ -0,0 +1,11 @@ +package cn.wildfirechat.pojos; + +public class GetConversationFilesPojo { + public int conversationType; + public String target; + public int line; + public String userId; + public int offset; + public boolean desc; + public int count; +} diff --git a/common/src/main/java/cn/wildfirechat/pojos/GetOnlineUserResult.java b/common/src/main/java/cn/wildfirechat/pojos/GetOnlineUserResult.java index 61361561..013d7bd1 100644 --- a/common/src/main/java/cn/wildfirechat/pojos/GetOnlineUserResult.java +++ b/common/src/main/java/cn/wildfirechat/pojos/GetOnlineUserResult.java @@ -7,6 +7,7 @@ public class GetOnlineUserResult { public String userId; public String clientId; public int platform; + public String ip; } public ArrayList userClients; diff --git a/common/src/main/java/cn/wildfirechat/pojos/GetUserFilesPojo.java b/common/src/main/java/cn/wildfirechat/pojos/GetUserFilesPojo.java new file mode 100644 index 00000000..15a8b7d7 --- /dev/null +++ b/common/src/main/java/cn/wildfirechat/pojos/GetUserFilesPojo.java @@ -0,0 +1,8 @@ +package cn.wildfirechat.pojos; + +public class GetUserFilesPojo { + public String userId; + public int offset; + public boolean desc; + public int count; +} diff --git a/common/src/main/java/cn/wildfirechat/pojos/InputCountOffset.java b/common/src/main/java/cn/wildfirechat/pojos/InputCountOffset.java new file mode 100644 index 00000000..bd5108a2 --- /dev/null +++ b/common/src/main/java/cn/wildfirechat/pojos/InputCountOffset.java @@ -0,0 +1,6 @@ +package cn.wildfirechat.pojos; + +public class InputCountOffset { + public int count; + public int offset; +} diff --git a/common/src/main/java/cn/wildfirechat/pojos/LongPojo.java b/common/src/main/java/cn/wildfirechat/pojos/LongPojo.java new file mode 100644 index 00000000..6ca21b4b --- /dev/null +++ b/common/src/main/java/cn/wildfirechat/pojos/LongPojo.java @@ -0,0 +1,5 @@ +package cn.wildfirechat.pojos; + +public class LongPojo { + public long value; +} diff --git a/common/src/main/java/cn/wildfirechat/pojos/PojoConferenceInfo.java b/common/src/main/java/cn/wildfirechat/pojos/PojoConferenceInfo.java index f37cca8a..7ed05048 100644 --- a/common/src/main/java/cn/wildfirechat/pojos/PojoConferenceInfo.java +++ b/common/src/main/java/cn/wildfirechat/pojos/PojoConferenceInfo.java @@ -2,11 +2,8 @@ package cn.wildfirechat.pojos; public class PojoConferenceInfo { public String roomId; - public String serverId; public String description; public int max_publishers; - public int num_publishers; - public int bitrate; public boolean advance; public boolean recording; } diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/ConferenceAdmin.java b/sdk/src/main/java/cn/wildfirechat/sdk/ConferenceAdmin.java index 16bba7a3..6b9e11cb 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/ConferenceAdmin.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/ConferenceAdmin.java @@ -6,9 +6,12 @@ import cn.wildfirechat.sdk.model.IMResult; import cn.wildfirechat.sdk.utilities.AdminHttpUtils; public class ConferenceAdmin { - public static IMResult listConferences() throws Exception { + public static IMResult listConferences(int count, int offset) throws Exception { String path = APIPath.Conference_List; - return AdminHttpUtils.httpJsonPost(path, null, PojoConferenceInfoList.class); + InputCountOffset inputCountOffset = new InputCountOffset(); + inputCountOffset.count = count; + inputCountOffset.offset = offset; + return AdminHttpUtils.httpJsonPost(path, inputCountOffset, PojoConferenceInfoList.class); } public static IMResult existsConferences(String conferenceId) throws Exception { diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/GeneralAdmin.java b/sdk/src/main/java/cn/wildfirechat/sdk/GeneralAdmin.java index f6ed32c3..b8474b71 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/GeneralAdmin.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/GeneralAdmin.java @@ -82,6 +82,37 @@ public class GeneralAdmin { } //以下仅专业版支持 + //如果是单聊会话,target和userId代表会话的2个用户。如果是其他会话userId无意义 + public static IMResult getConversationFiles(int conversationType, String target, int line, String userId, int offset, boolean desc, int count) throws Exception { + String path = APIPath.Get_Conversation_Files; + GetConversationFilesPojo input = new GetConversationFilesPojo(); + input.conversationType = conversationType; + input.target = target; + input.line = line; + input.userId = userId; + input.offset = offset; + input.desc = desc; + input.count = count; + return AdminHttpUtils.httpJsonPost(path, input, FilesPojo.class); + } + + public static IMResult getUserFiles(String userId, int offset, boolean desc, int count) throws Exception { + String path = APIPath.Get_User_Files; + GetUserFilesPojo input = new GetUserFilesPojo(); + input.userId = userId; + input.offset = offset; + input.desc = desc; + input.count = count; + return AdminHttpUtils.httpJsonPost(path, input, FilesPojo.class); + } + + public static IMResult getFile(long messageId) throws Exception { + String path = APIPath.Get_Message_File; + LongPojo input = new LongPojo(); + input.value = messageId; + return AdminHttpUtils.httpJsonPost(path, input, FilesPojo.FilePojo.class); + } + public static IMResult setConversationTop(String userId, int conversationType, String target, int line, boolean isTop) throws Exception { String key = conversationType + "-" + line + "-" + target; String value = isTop?"1":"0"; diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/Main.java b/sdk/src/main/java/cn/wildfirechat/sdk/Main.java index c6dcc1a1..d31c08a5 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/Main.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/Main.java @@ -2146,7 +2146,7 @@ public class Main { 会议相关接口,仅音视频高级版服务支持 */ public static void testConference() throws Exception { - IMResult listResult = ConferenceAdmin.listConferences(); + IMResult listResult = ConferenceAdmin.listConferences(100, 0); if(listResult == null || listResult.getErrorCode() != ErrorCode.ERROR_CODE_SUCCESS) { System.out.println("get conference list failure"); System.exit(-1); @@ -2164,7 +2164,7 @@ public class Main { } } - listResult = ConferenceAdmin.listConferences(); + listResult = ConferenceAdmin.listConferences(100, 0); if(listResult == null || listResult.getErrorCode() != ErrorCode.ERROR_CODE_SUCCESS) { System.out.println("get conference list failure"); System.exit(-1); @@ -2204,7 +2204,7 @@ public class Main { System.out.println("recording conference success"); } - listResult = ConferenceAdmin.listConferences(); + listResult = ConferenceAdmin.listConferences(100, 0); if(listResult == null || listResult.getErrorCode() != ErrorCode.ERROR_CODE_SUCCESS) { System.out.println("get conference list failure"); System.exit(-1);