BGRoomManagerSearchViewController.m 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. //
  2. // BGRoomManagerSearchViewController.m
  3. // UniversalApp
  4. //
  5. // Created by bugu on 2020/5/6.
  6. // Copyright © 2020 voidcat. All rights reserved.
  7. //
  8. #import "BGRoomManagerSearchViewController.h"
  9. #import "RoomModel.h"
  10. #import "BGRoomManagerCell.h"
  11. #import "RoomModel.h"
  12. #import "RoomUserInfo.h"
  13. //#import "RoomViewController.h"
  14. //#import "BogoRoomViewController.h"
  15. @interface BGRoomManagerSearchViewController ()
  16. @property(nonatomic, strong) NSMutableArray *dataAllArray;
  17. @property(nonatomic, strong) NSMutableArray *dataArray;
  18. @property (weak, nonatomic) IBOutlet QMUITextField *textField;
  19. @property(nonatomic, strong) UIButton *backBtn;
  20. @property ( nonatomic,assign) int has_next;
  21. @property ( nonatomic,assign) int currentPage;
  22. @end
  23. @implementation BGRoomManagerSearchViewController
  24. - (void)viewDidLoad {
  25. [super viewDidLoad];
  26. // Do any additional setup after loading the view from its nib.
  27. // self.isHidenNaviBar = YES;
  28. _currentPage = 1;
  29. _textField.placeholder = ASLocalizedString(@"搜索用户ID/昵称");
  30. [self.view addSubview:self.backBtn];
  31. UIView *leftView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 33, 33)];
  32. UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 15, 15)];
  33. imageView.image = [UIImage imageNamed:@"seach_s"];
  34. imageView.center = leftView.center;
  35. [leftView addSubview:imageView];
  36. self.textField.leftView = leftView;
  37. self.textField.leftViewMode = UITextFieldViewModeAlways;
  38. self.textField.delegate = self;
  39. [self refreshHeader];
  40. self.tableView.backgroundColor = [UIColor colorWithHexString:@"#FBFBFB"];
  41. [self.textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
  42. [self setUpView];
  43. }
  44. - (void)backBtnClicked
  45. {
  46. [self.navigationController popViewControllerAnimated:YES];
  47. }
  48. -(void)setUpView{
  49. self.tableView.dataSource = self;
  50. self.tableView.delegate = self;
  51. [self.view addSubview:self.tableView];
  52. self.tableView.frame = CGRectMake(0, kStatusBarHeight+64, kScaleW, kScaleH - 64 - kStatusBarHeight);
  53. // self.tableView.backgroundColor = [UIColor clearColor];
  54. [self.tableView registerClass:[BGRoomManagerCell class] forCellReuseIdentifier:NSStringFromClass([BGRoomManagerCell class])];
  55. self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
  56. [BGMJRefreshManager refresh:self.self.tableView target:self headerRereshAction:@selector(refreshHeader) footerRereshAction:@selector(refreshFooter)];
  57. }
  58. - (void)refreshHeader
  59. {
  60. _currentPage = 1;
  61. [self requestData];
  62. }
  63. - (void)refreshFooter
  64. {
  65. [self requestData];
  66. }
  67. - (void)requestData {
  68. NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
  69. [dict setValue:@"voice" forKey:@"ctl"];
  70. [dict setValue:@"search_audience_list_2405" forKey:@"act"];
  71. [dict setValue:SafeStr(self.model.room_id) forKey:@"room_id"];
  72. [dict setValue:SafeStr(self.textField.text) forKey:@"search_keys"];
  73. [dict setValue:@(_currentPage) forKey:@"page"];
  74. [[NetHttpsManager manager] POSTWithParameters:dict SuccessBlock:^(NSDictionary *responseJson) {
  75. //搜索页面返回 应刷新数据源
  76. if(self.currentPage == 1)
  77. {
  78. [self.dataArray removeAllObjects];
  79. }
  80. NSArray *list = responseJson[@"data"][@"list"];
  81. if(list.count)
  82. {
  83. for (NSDictionary *dict in list) {
  84. RoomUserInfo *info = [RoomUserInfo mj_objectWithKeyValues:dict];
  85. if(info.is_room_administrator.intValue == 2)
  86. {
  87. //不需要添加房主
  88. }
  89. else
  90. {
  91. [self.dataArray addObject:info];
  92. }
  93. }
  94. [BGMJRefreshManager endRefresh:self.tableView];
  95. self.currentPage++;
  96. }
  97. else
  98. {
  99. [BGMJRefreshManager endRefresh:self.tableView];
  100. }
  101. [self.tableView reloadData];
  102. } FailureBlock:^(NSError *error) {
  103. }];
  104. }
  105. - (void)viewWillAppear:(BOOL)animated{
  106. [super viewWillAppear:animated];
  107. [self.navigationController setNavigationBarHidden:YES animated:NO];
  108. // self.view.height = kScreenH;
  109. // self.tableView.height = kScreenH - 64 - kStatusBarHeight;
  110. }
  111. - (void)viewDidAppear:(BOOL)animated{
  112. [super viewDidAppear:animated];
  113. [self.navigationController setNavigationBarHidden:YES animated:NO];
  114. }
  115. - (IBAction)cancelBtnAction:(id)sender {
  116. [self.navigationController popViewControllerAnimated:YES];
  117. }
  118. - (void)backBtnAction:(UIButton *)sender{
  119. [self.navigationController popViewControllerAnimated:YES];
  120. }
  121. - (IBAction)clearTextFieldBtnAction:(id)sender {
  122. self.textField.text = @"";
  123. // self.historyCollectionView.hidden = NO;
  124. // _segHead.hidden = YES;
  125. // _segScroll.hidden = YES;
  126. // [self requestData];
  127. }
  128. #pragma mark - QMUITextFieldDelegate
  129. - (BOOL)textFieldShouldReturn:(UITextField *)textField{
  130. //开始检索
  131. // [self searchID:textField.text];
  132. return YES;
  133. }
  134. - (void)textFieldDidChange:(QMUITextField *)textField{
  135. if (textField.text.length) {
  136. //开始检索
  137. _currentPage = 1;
  138. [self searchID:textField.text];
  139. }else{
  140. }
  141. }
  142. - (void)searchID:(NSString *)ID {
  143. [self.dataArray removeAllObjects];
  144. for (RoomUserInfo *model in self.dataAllArray) {
  145. if ([model.user_id containsString:ID] || [model.nick_name containsString:ID]) {
  146. [self.dataArray addObject:model];
  147. [self.tableView reloadData];
  148. }
  149. }
  150. [self requestData];
  151. // [self.dataAllArray removeObjectsInArray:self.dataArray];
  152. }
  153. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
  154. return 1;
  155. }
  156. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
  157. return self.dataArray.count;
  158. }
  159. - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
  160. return 80;
  161. }
  162. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  163. BGRoomManagerCell *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([BGRoomManagerCell class]) forIndexPath:indexPath];
  164. cell.selectionStyle = UITableViewCellSelectionStyleNone;
  165. RoomUserInfo *info = self.dataArray[indexPath.row];
  166. if(info.is_room_administrator.intValue == 1)
  167. {
  168. cell.cellType = RoomManagerCellTypeCancel;
  169. }
  170. else
  171. {
  172. cell.cellType = RoomManagerCellTypeAdd;
  173. }
  174. cell.info = info;
  175. __weak __typeof(self)weakSelf = self;
  176. cell.addActionBlock = ^{
  177. __strong __typeof(weakSelf)strongSelf = weakSelf;
  178. [strongSelf addManagerWithInfo:info];
  179. };
  180. cell.cancelActionBlock = ^{
  181. __strong __typeof(weakSelf)strongSelf = weakSelf;
  182. [strongSelf addManagerWithInfo:info];
  183. };
  184. return cell;
  185. }
  186. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
  187. }
  188. - (void)addManagerWithInfo:(RoomUserInfo *)info {
  189. __weak __typeof(self)weakSelf = self;
  190. NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
  191. [dict setValue:@"user" forKey:@"ctl"];
  192. [dict setValue:@"set_admin" forKey:@"act"];
  193. [dict setValue:SafeStr(info.user_id) forKey:@"to_user_id"];
  194. //0用户,1管理员,2主播
  195. if(info.is_room_administrator.intValue == 1)
  196. {
  197. [dict setValue:@"2" forKey:@"status"];
  198. }
  199. else if(info.is_room_administrator.intValue == 0)
  200. {
  201. [dict setValue:@"1" forKey:@"status"];
  202. }
  203. else
  204. {
  205. return;
  206. }
  207. [[NetHttpsManager manager] POSTWithParameters:dict SuccessBlock:^(NSDictionary *responseJson) {
  208. if ([responseJson toInt:@"status"] == 1)
  209. {
  210. [self refreshHeader];
  211. }
  212. else
  213. {
  214. [[BGHUDHelper sharedInstance] tipMessage:responseJson[@"error"]];
  215. }
  216. } FailureBlock:^(NSError *error) {
  217. }];
  218. }
  219. - (NSMutableArray *)dataArray{
  220. if (!_dataArray) {
  221. _dataArray = [NSMutableArray array];
  222. }
  223. return _dataArray;
  224. }
  225. - (NSMutableArray *)dataAllArray{
  226. if (!_dataAllArray) {
  227. _dataAllArray = [NSMutableArray array];
  228. }
  229. return _dataAllArray;
  230. }
  231. - (UIButton *)backBtn{
  232. if (!_backBtn) {
  233. _backBtn = [[UIButton alloc]initWithFrame:CGRectMake(0, kStatusBarHeight, 44, 64)];
  234. [_backBtn setImage:[UIImage imageNamed:@"back_b"] forState:UIControlStateNormal];
  235. [_backBtn addTarget:self action:@selector(backBtnAction:) forControlEvents:UIControlEventTouchUpInside];
  236. }
  237. return _backBtn;
  238. }
  239. @end