// // WFCCKickoffGroupMemberNotificaionContent.m // WFChatClient // // Created by heavyrain on 2017/9/20. // Copyright © 2017年 WildFireChat. All rights reserved. // #import "WFCCKickoffGroupMemberNotificaionContent.h" #import "WFCCIMService.h" #import "WFCCNetworkService.h" #import "Common.h" @implementation WFCCKickoffGroupMemberNotificaionContent - (WFCCMessagePayload *)encode { WFCCMessagePayload *payload = [super encode]; payload.contentType = [self.class getContentType]; NSMutableDictionary *dataDict = [NSMutableDictionary dictionary]; if (self.operateUser) { [dataDict setObject:self.operateUser forKey:@"o"]; } if (self.kickedMembers) { [dataDict setObject:self.kickedMembers forKey:@"ms"]; } if (self.groupId) { [dataDict setObject:self.groupId forKey:@"g"]; } payload.binaryContent = [NSJSONSerialization dataWithJSONObject:dataDict options:kNilOptions error:nil]; return payload; } - (void)decode:(WFCCMessagePayload *)payload { [super decode:payload]; NSError *__error = nil; NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:payload.binaryContent options:kNilOptions error:&__error]; if (!__error) { self.operateUser = dictionary[@"o"]; self.kickedMembers = dictionary[@"ms"]; self.groupId = dictionary[@"g"]; } } + (int)getContentType { return MESSAGE_CONTENT_TYPE_KICKOF_GROUP_MEMBER; } + (int)getContentFlags { return WFCCPersistFlag_PERSIST; } + (void)load { [[WFCCIMService sharedWFCIMService] registerMessageContent:self]; } - (NSString *)digest:(WFCCMessage *)message { return [self formatNotification:message]; } - (NSString *)formatNotification:(WFCCMessage *)message { NSString *formatMsg; if ([[WFCCNetworkService sharedInstance].userId isEqualToString:self.operateUser]) { formatMsg = @"你把"; } else { WFCCUserInfo *userInfo = [[WFCCIMService sharedWFCIMService] getUserInfo:self.operateUser inGroup:self.groupId refresh:NO]; if (userInfo.friendAlias.length > 0) { formatMsg = [NSString stringWithFormat:@"%@把", userInfo.friendAlias]; } else if(userInfo.groupAlias.length > 0) { formatMsg = [NSString stringWithFormat:@"%@把", userInfo.groupAlias]; } else if (userInfo.displayName.length > 0) { formatMsg = [NSString stringWithFormat:@"%@把", userInfo.displayName]; } else { formatMsg = [NSString stringWithFormat:@"用户<%@>把", self.operateUser]; } } for (NSString *member in self.kickedMembers) { if ([member isEqualToString:[WFCCNetworkService sharedInstance].userId]) { formatMsg = [formatMsg stringByAppendingString:@" 你"]; } else { WFCCUserInfo *userInfo = [[WFCCIMService sharedWFCIMService] getUserInfo:member inGroup:self.groupId refresh:NO]; if (userInfo.friendAlias.length > 0) { formatMsg = [formatMsg stringByAppendingFormat:@" %@", userInfo.friendAlias]; } else if(userInfo.groupAlias.length > 0) { formatMsg = [formatMsg stringByAppendingFormat:@" %@", userInfo.groupAlias]; } else if (userInfo.displayName.length > 0) { formatMsg = [formatMsg stringByAppendingFormat:@" %@", userInfo.displayName]; } else { formatMsg = [formatMsg stringByAppendingFormat:@" 用户<%@>", member]; } } } formatMsg = [formatMsg stringByAppendingString:@"移出群聊"]; return formatMsg; } @end