YMGuildManagementViewModel.m 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. //
  2. // YMGuildManagementViewModel.m
  3. // MSYOUPAI
  4. //
  5. // Created by YoMi on 2024/3/26.
  6. // Copyright © 2024 MS. All rights reserved.
  7. //
  8. #import "YMGuildManagementViewModel.h"
  9. #import <JXPagingView/JXPagerListRefreshView.h>
  10. @interface YMGuildManagementViewModel ()
  11. @end
  12. @implementation YMGuildManagementViewModel
  13. - (void)ym_initialize{
  14. [super ym_initialize];
  15. self.customNavTitle = @"公会管理";
  16. self.startTime = [self getDefaultStartTime];
  17. self.endTime = [self getDefaultEndTime];
  18. self.kindStr = @"contribution";
  19. self.peopleStr = @"";
  20. }
  21. /// 获取公会信息
  22. - (void)getGongHuiData {
  23. BOOL isCan = [self compareTime];
  24. if (isCan) {
  25. @weakify(self)
  26. [ZCHUDHelper showWithStatus:@"加载中..."];
  27. [LCHttpHelper requestWithURLString:GuildManagementMyConnectionsList parameters:@{
  28. @"after_key": @"0",
  29. @"begin_time": self.startTime,
  30. @"end_time": self.endTime,
  31. @"sort" : self.kindStr
  32. } needToken:YES type:HttpRequestTypePost success:^(id responseObject) {
  33. @strongify(self)
  34. NSDictionary* dict = (NSDictionary*)responseObject;
  35. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  36. if (code == 0) {
  37. [ZCHUDHelper dismiss];
  38. NSDictionary *data = [dict dictionaryValueForKey:@"data" defaultValue:@{}];
  39. NSArray *result = [data arrayValueForKey:@"list" defaultValue:@[]];
  40. NSArray *modelArray = [NSArray yy_modelArrayWithClass:[GHManageModel class] json:result];
  41. GHManageModel *mangeModel = [GHManageModel yy_modelWithDictionary:data];
  42. self.mangeModel = mangeModel;
  43. self.myEarnStr = mangeModel.total_income;
  44. self.peopleStr = mangeModel.total_people;
  45. NSLog(@"这个组数数量是%ld",mangeModel.list.count);
  46. NSLog(@"这个收益是%@",mangeModel.total_income);
  47. NSLog(@"这个组数数量222是%ld",modelArray.count);
  48. [self.refreshUISubject sendNext:@(YMRefreshUI)];
  49. }else{
  50. [ZCHUDHelper showTitle:[dict stringValueForKey:@"message" defaultValue:@""]];
  51. dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
  52. [self.refreshUISubject sendNext:@(YMRefreshError)];
  53. });
  54. }
  55. } failure:^(NSError *error) {
  56. [ZCHUDHelper showTitle:error.localizedDescription];
  57. dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
  58. [self.refreshUISubject sendNext:@(YMRefreshError)];
  59. });
  60. }];
  61. }
  62. }
  63. - (NSString*)getDefaultEndTime{
  64. NSDate *currentDate = [NSDate date];
  65. NSCalendar *calder = [NSCalendar currentCalendar];
  66. NSDateComponents *compts = [calder components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:currentDate];
  67. NSInteger year = [compts year];
  68. NSInteger month = [compts month];
  69. NSInteger day = [compts day];
  70. NSString *dayStr = [NSString stringWithFormat:@"%ld",day];
  71. NSString *monthStr = [NSString stringWithFormat:@"%ld",month];
  72. if(day< 10){
  73. dayStr = [NSString stringWithFormat:@"0%ld",day];
  74. }
  75. if(month < 10){
  76. monthStr = [NSString stringWithFormat:@"0%ld",month];
  77. }
  78. return [NSString stringWithFormat:@"%ld-%@-%@",year,monthStr,dayStr];
  79. }
  80. - (NSString*)getDefaultStartTime{
  81. NSDate *currentDate = [NSDate date];
  82. NSCalendar *calder = [NSCalendar currentCalendar];
  83. NSDateComponents *compts = [calder components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:currentDate];
  84. NSInteger year = [compts year];
  85. NSInteger month = [compts month];
  86. NSString *monthStr = [NSString stringWithFormat:@"%ld",month];
  87. if(month < 10){
  88. monthStr = [NSString stringWithFormat:@"0%ld",month];
  89. }
  90. return [NSString stringWithFormat:@"%ld-%@-01",year,monthStr];
  91. }
  92. - (void)showBottomSort{
  93. UIView *customView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, kScreenWidth, Is_iPhoneX ? adapt(150) : adapt(180))];
  94. customView.backgroundColor = UIColor.whiteColor;
  95. UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeCustom];
  96. [btn1 setTitle:@"按贡献值排序" forState:UIControlStateNormal];
  97. [btn1 setTitleColor:UIColor.blackColor forState:UIControlStateNormal];
  98. btn1.titleLabel.font = LCFont(16);
  99. [customView addSubview:btn1];
  100. [btn1 mas_makeConstraints:^(MASConstraintMaker *make) {
  101. make.top.equalTo(customView);
  102. make.left.right.equalTo(customView);
  103. make.height.mas_equalTo(adapt(50));
  104. }];
  105. UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeCustom];
  106. [btn2 setTitle:@"按注册时间排序" forState:UIControlStateNormal];
  107. [btn2 setTitleColor:UIColor.blackColor forState:UIControlStateNormal];
  108. btn2.titleLabel.font = LCFont(16);
  109. [customView addSubview:btn2];
  110. [btn2 mas_makeConstraints:^(MASConstraintMaker *make) {
  111. make.top.equalTo(btn1.mas_bottom);
  112. make.left.right.equalTo(customView);
  113. make.height.mas_equalTo(adapt(50));
  114. }];
  115. UIButton *btn3 = [UIButton buttonWithType:UIButtonTypeCustom];
  116. [btn3 setTitle:@"取消" forState:UIControlStateNormal];
  117. [btn3 setTitleColor:UIColor.secondaryLabelColor forState:UIControlStateNormal];
  118. btn3.titleLabel.font = LCFont(16);
  119. [customView addSubview:btn3];
  120. [btn3 mas_makeConstraints:^(MASConstraintMaker *make) {
  121. make.top.equalTo(btn2.mas_bottom);
  122. make.left.right.equalTo(customView);
  123. make.height.mas_equalTo(adapt(50));
  124. }];
  125. YMPopupView *popupView = [YMPopupView initWithCustomView:customView parentView:nil popStyle:YMPopupStyleFade dismissStyle:YMDismissStyleFade];
  126. popupView.priority = 999;
  127. popupView.backgroundColor = UIColor.clearColor;
  128. popupView.positionStyle = YMPositionStyleBottom;
  129. popupView.isHideBg = NO;
  130. popupView.bgAlpha = 0.3;
  131. @weakify(popupView)
  132. popupView.bgClickBlock = ^{
  133. @strongify(popupView)
  134. [popupView dismissWithStyle:YMDismissStyleFade duration:1.0];
  135. };
  136. @weakify(self)
  137. [[[btn1 rac_signalForControlEvents:UIControlEventTouchUpInside] takeUntil:self.rac_willDeallocSignal] subscribeNext:^(id x) {
  138. @strongify(self)
  139. self.kindStr = @"contribution";
  140. [self getGongHuiData];
  141. [popupView dismissWithStyle:YMDismissStyleFade duration:1.0];
  142. }];
  143. [[[btn2 rac_signalForControlEvents:UIControlEventTouchUpInside] takeUntil:self.rac_willDeallocSignal] subscribeNext:^(id x) {
  144. @strongify(self)
  145. self.kindStr = @"user_id";
  146. [self getGongHuiData];
  147. [popupView dismissWithStyle:YMDismissStyleFade duration:1.0];
  148. }];
  149. [[[btn3 rac_signalForControlEvents:UIControlEventTouchUpInside] takeUntil:self.rac_willDeallocSignal] subscribeNext:^(id x) {
  150. [popupView dismissWithStyle:YMDismissStyleFade duration:1.0];
  151. }];
  152. [popupView pop];
  153. }
  154. - (BOOL)compareTime{
  155. NSString *start = [self.startTime stringByReplacingOccurrencesOfString:@"-" withString:@""];
  156. NSString *end = [self.endTime stringByReplacingOccurrencesOfString:@"-" withString:@""];
  157. NSInteger start1 = [start integerValue];
  158. NSInteger end1 = [end integerValue];
  159. if(start1 > end1){
  160. [ZCHUDHelper showTitle:@"开始时间不能大于结束时间"];
  161. return NO;
  162. }else{
  163. return YES;
  164. }
  165. }
  166. - (void)gotoMember{
  167. YMGuildManagementMyConnectionsViewModel *memberVM = [[YMGuildManagementMyConnectionsViewModel alloc]initWithParams:@{}];
  168. [YMRouter openURL:stringFormat(@"%@%@",YM_ROUTER_URL_PREFIX,YM_ROUTER_URL_MANAGER_MEMBER) withUserInfo:@{
  169. RouterViewModel:memberVM
  170. } completion:nil];
  171. }
  172. @end