Kaynağa Gözat

添加根据群成员类型获取群成员信息的接口

heavyrain2012 4 yıl önce
ebeveyn
işleme
d017219d0b

+ 11 - 1
wfclient/WFChatClient/Client/WFCCIMService.h

@@ -885,11 +885,21 @@ typedef NS_ENUM(NSInteger, WFCCPlatformType) {
  
  @param groupId 群ID
  @param forceUpdate 是否强制从服务器更新,如果不刷新则从本地缓存中读取
- @return 群成员信息
+ @return 群成员信息列表
  */
 - (NSArray<WFCCGroupMember *> *)getGroupMembers:(NSString *)groupId
                                     forceUpdate:(BOOL)forceUpdate;
 
+/**
+ 根据成员类型获取群成员信息
+ 
+ @param groupId 群ID
+ @param type 群成员类型
+ @return 群成员信息列表
+ */
+- (NSArray<WFCCGroupMember *> *)getGroupMembers:(NSString *)groupId
+                                    type:(WFCCGroupMemberType)memberType;
+
 /**
  获取群成员信息
  

+ 17 - 0
wfclient/WFChatClient/Client/WFCCIMService.mm

@@ -1607,6 +1607,23 @@ WFCCGroupInfo *convertProtoGroupInfo(mars::stn::TGroupInfo tgi) {
     return output;
 }
 
+- (NSArray<WFCCGroupMember *> *)getGroupMembers:(NSString *)groupId
+                             type:(WFCCGroupMemberType)memberType {
+    std::list<mars::stn::TGroupMember> tmembers = mars::stn::MessageDB::Instance()->GetGroupMembersByType([groupId UTF8String], (int)memberType);
+    NSMutableArray *output = [[NSMutableArray alloc] init];
+    for(std::list<mars::stn::TGroupMember>::iterator it = tmembers.begin(); it != tmembers.end(); it++) {
+        WFCCGroupMember *member = [WFCCGroupMember new];
+        member.groupId = [NSString stringWithUTF8String:it->groupId.c_str()];
+        member.memberId = [NSString stringWithUTF8String:it->memberId.c_str()];
+        member.alias = [NSString stringWithUTF8String:it->alias.c_str()];
+        member.type = (WFCCGroupMemberType)it->type;
+        member.createTime = it->createDt;
+        [output addObject:member];
+    }
+    return output;
+}
+
+
 class IMGetGroupMembersCallback : public mars::stn::GetGroupMembersCallback {
 private:
     void(^m_successBlock)(NSString *groupId, NSArray<WFCCGroupMember *> *memberList);

+ 2 - 2
wfclient/WFChatClient/Proto/mars.framework/Headers/comm/verinfo.h

@@ -2,10 +2,10 @@
 #ifndef Mars_verinfo_h
 #define Mars_verinfo_h
 
-#define MARS_REVISION "829a3fbe"
+#define MARS_REVISION "a10af425"
 #define MARS_PATH "firechat"
 #define MARS_URL ""
-#define MARS_BUILD_TIME "2020-07-29 21:20:16"
+#define MARS_BUILD_TIME "2020-07-30 08:04:30"
 #define MARS_TAG ""
 
 #endif

+ 1 - 0
wfclient/WFChatClient/Proto/mars.framework/Headers/proto/MessageDB.h

@@ -102,6 +102,7 @@ namespace mars {
             bool UpdateGroupInfo(const std::string &groupId, int type, const std::string &newValue);
             std::list<TGroupMember> GetGroupMembers(const std::string &groupId, bool refresh);
             TGroupMember GetGroupMember(const std::string &groupId, const std::string &memberId);
+            std::list<TGroupMember> GetGroupMembersByType(const std::string &groupId, int type);
             void GetGroupMembers(const std::string &groupId, bool refresh, GetGroupMembersCallback *callback);
             bool RemoveGroupAndMember(const std::string &groupId);
             void UpdateGroupMember(const std::list<TGroupMember> &retList);

BIN
wfclient/WFChatClient/Proto/mars.framework/mars