| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- //
- // TUIGroupPendencyViewModel.m
- // TXIMSDK_TUIKit_iOS
- //
- // Created by annidyfeng on 2019/6/18.
- // Copyright © 2023 Tencent. All rights reserved.
- //
- #import "TUIGroupPendencyDataProvider.h"
- #import <TIMCommon/TIMDefine.h>
- @interface TUIGroupPendencyDataProvider ()
- @property NSArray *dataList;
- @property(nonatomic, assign) uint64_t origSeq;
- @property(nonatomic, assign) uint64_t seq;
- @property(nonatomic, assign) uint64_t timestamp;
- @property(nonatomic, assign) uint64_t numPerPage;
- @end
- @implementation TUIGroupPendencyDataProvider
- - (instancetype)init {
- self = [super init];
- _numPerPage = 100;
- _dataList = @[];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onPendencyChanged:) name:TUIGroupPendencyCellData_onPendencyChanged object:nil];
- return self;
- }
- - (void)dealloc {
- [[NSNotificationCenter defaultCenter] removeObserver:self];
- }
- - (void)onPendencyChanged:(NSNotification *)notification {
- int unReadCnt = 0;
- for (TUIGroupPendencyCellData *data in self.dataList) {
- if (data.isRejectd || data.isAccepted) {
- continue;
- }
- unReadCnt++;
- }
- self.unReadCnt = unReadCnt;
- }
- - (void)loadData {
- if (self.isLoading) return;
- self.isLoading = YES;
- @weakify(self);
- [[V2TIMManager sharedInstance]
- getGroupApplicationList:^(V2TIMGroupApplicationResult *result) {
- @strongify(self);
- NSMutableArray *list = @[].mutableCopy;
- for (V2TIMGroupApplication *item in result.applicationList) {
- if ([item.groupID isEqualToString:self.groupId] && item.handleStatus == V2TIM_GROUP_APPLICATION_HANDLE_STATUS_UNHANDLED) {
- TUIGroupPendencyCellData *data = [[TUIGroupPendencyCellData alloc] initWithPendency:item];
- [list addObject:data];
- }
- }
- self.dataList = list;
- self.unReadCnt = (int)list.count;
- self.isLoading = NO;
- self.hasNextData = NO;
- ;
- }
- fail:nil];
- }
- - (void)acceptData:(TUIGroupPendencyCellData *)data {
- [data accept];
- self.unReadCnt--;
- }
- - (void)removeData:(TUIGroupPendencyCellData *)data {
- NSMutableArray *dataList = [NSMutableArray arrayWithArray:self.dataList];
- [dataList removeObject:data];
- self.dataList = dataList;
- [data reject];
- self.unReadCnt--;
- }
- @end
|