12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- //
- // WFCUReceiptViewController.m
- // WFChatUIKit
- //
- // Created by heavyrain2012 on 2020/5/20.
- // Copyright © 2020 WildFireChat. All rights reserved.
- //
- #import "WFCUReceiptViewController.h"
- @interface WFCUReceiptViewController ()
- @property (nonatomic, strong)NSMutableDictionary<NSString *, NSNumber *> *deliveryDict;
- @property (nonatomic, strong)NSMutableDictionary<NSString *, NSNumber *> *readDict;
- @property (nonatomic, strong)NSMutableArray *deliveredUserIds;
- @property (nonatomic, strong)NSMutableArray *unDeliveredUserIds;
- @property (nonatomic, strong)NSMutableArray *readedUserIds;
- @property (nonatomic, strong)NSMutableArray *unReadedUserIds;
- @end
- @implementation WFCUReceiptViewController
- - (void)viewDidLoad {
- [super viewDidLoad];
-
- self.view.backgroundColor = [UIColor whiteColor];
- if (self.message.conversation.type != Group_Type) {
- [self.navigationController popViewControllerAnimated:YES];
- return;
- }
-
- self.deliveryDict = [[WFCCIMService sharedWFCIMService] getMessageDelivery:self.message.conversation];
- self.readDict = [[WFCCIMService sharedWFCIMService] getConversationRead:self.message.conversation];
-
- self.deliveredUserIds = [[NSMutableArray alloc] init];
- self.readedUserIds = [[NSMutableArray alloc] init];
-
- int64_t sendTime = self.message.serverTime;
- [self.deliveryDict enumerateKeysAndObjectsUsingBlock:^(NSString * _Nonnull key, NSNumber * _Nonnull obj, BOOL * _Nonnull stop) {
- if ([obj longLongValue] >= sendTime) {
- [self.deliveredUserIds addObject:key];
- }
- }];
-
- [self.readDict enumerateKeysAndObjectsUsingBlock:^(NSString * _Nonnull key, NSNumber * _Nonnull obj, BOOL * _Nonnull stop) {
- if ([obj longLongValue] >= sendTime) {
- [self.readedUserIds addObject:key];
- }
- }];
-
- self.unDeliveredUserIds = [[NSMutableArray alloc] init];
- self.unReadedUserIds = [[NSMutableArray alloc] init];
-
- NSArray<WFCCGroupMember *> *members = [[WFCCIMService sharedWFCIMService] getGroupMembers:self.message.conversation.target forceUpdate:NO];
- for (WFCCGroupMember *member in members) {
- if (![self.deliveredUserIds containsObject:member.memberId]) {
- [self.unDeliveredUserIds addObject:member.memberId];
- }
-
- if (![self.readedUserIds containsObject:member.memberId]) {
- [self.unReadedUserIds addObject:member.memberId];
- }
- }
- [self.deliveredUserIds removeObject:self.message.fromUser];
- [self.unDeliveredUserIds removeObject:self.message.fromUser];
- [self.readedUserIds removeObject:self.message.fromUser];
- [self.unReadedUserIds removeObject:self.message.fromUser];
-
- UILabel *label = [[UILabel alloc] initWithFrame:self.view.bounds];
- label.numberOfLines = 0;
- label.text = [NSString stringWithFormat:@"%ld 成员已经收到消息, %ld 成员还未收到消息;%ld 成员已经阅读了消息,%ld 成员没有阅读消息", self.deliveredUserIds.count, self.unDeliveredUserIds.count, self.readedUserIds.count, self.unReadedUserIds.count];
-
- [self.view addSubview:label];
-
- }
- /*
- #pragma mark - Navigation
- // In a storyboard-based application, you will often want to do a little preparation before navigation
- - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
- // Get the new view controller using [segue destinationViewController].
- // Pass the selected object to the new view controller.
- }
- */
- @end
|