BzoneLogic.m 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542
  1. //
  2. // BzoneLogic.m
  3. // BuguLive
  4. //
  5. // Created by 宋晨光 on 2019/4/22.
  6. // Copyright © 2019年 xfg. All rights reserved.
  7. //
  8. #import "BzoneLogic.h"
  9. //#import "YHWorkGroup.h"
  10. #import "MGGroupUserInfo.h"
  11. #import "BGSystemMsgModel.h"
  12. @implementation BzoneLogic
  13. - (instancetype)init
  14. {
  15. self = [super init];
  16. if (self) {
  17. _page = 0;
  18. _dataArray = [NSMutableArray array];
  19. _topicArr = [NSMutableArray array];
  20. }
  21. return self;
  22. }
  23. -(void)loadListDataWithAct:(MGDTHOMETYPE)act
  24. {
  25. // if (_page == 1) {
  26. // [_dataArray removeAllObjects];
  27. // }
  28. NSMutableDictionary *parmDict = [NSMutableDictionary dictionary];
  29. [parmDict setObject:@"dynamic" forKey:@"ctl"];
  30. NSString *actStr = @"";
  31. if (act == MGDTHOMETYPE_CONCERT) {
  32. actStr = @"follow_index";
  33. }else if (act == MGDTHOMETYPE_NEARBY) {
  34. actStr = @"index";
  35. [parmDict setObject:@"fujin" forKey:@"list_type"];
  36. }else if (act == MGDTHOMETYPE_RECOMMAND) {
  37. actStr = @"index";
  38. [parmDict setObject:@"" forKey:@"list_type"];
  39. }else if (act == MGDTHOMETYPE_MY) {
  40. actStr = @"my_index";
  41. [parmDict setObject:self.to_uid forKey:@"touid"];
  42. }else if (act == MGDTHOMETYPE_VIDEO){
  43. actStr = @"index";
  44. [parmDict setObject:@"video" forKey:@"list_type"];
  45. }
  46. [parmDict setObject:actStr forKey:@"act"];
  47. [parmDict setObject:[NSString stringWithFormat:@"%ld",_page] forKey:@"p"];
  48. FWWeakify(self)
  49. [[NetHttpsManager manager] POSTWithParameters:parmDict SuccessBlock:^(NSDictionary *responseJson) {
  50. FWStrongify(self)
  51. if (_page == 1) {
  52. [_dataArray removeAllObjects];
  53. _noHasMore = NO;
  54. }
  55. NSArray *arr = responseJson[@"list"];
  56. if ([arr isKindOfClass:[NSArray class]])
  57. {
  58. if (arr.count > 0)
  59. {
  60. for (NSDictionary *dic in arr)
  61. {
  62. MGGroupUserInfo *model = [MGGroupUserInfo mj_objectWithKeyValues:dic];
  63. model.bottomViewSelect = YES;
  64. [self.dataArray addObject:model];
  65. }
  66. }
  67. }
  68. // NSArray *list = [NSArray modelArrayWithClass:[YHWorkGroup class] json:[[responseJson valueForKey:@"data"] valueForKey:@"list"]];
  69. // [_dataArray addObjectsFromArray:list];
  70. if(_dataArray.count == 0)
  71. {
  72. _noHasMore = YES;
  73. }
  74. if (self.delegagte && [self.delegagte respondsToSelector:@selector(requestZoneListDataCompleted)]) {
  75. [self.delegagte requestZoneListDataCompleted];
  76. }
  77. } FailureBlock:^(NSError *error) {
  78. }];
  79. }
  80. -(void)loadListDataWiththeme:(NSString *)theme{
  81. if (_page == 1) {
  82. [_dataArray removeAllObjects];
  83. }
  84. NSMutableDictionary *parmDict = [NSMutableDictionary dictionary];
  85. [parmDict setObject:@"dynamic" forKey:@"ctl"];
  86. [parmDict setObject:@"index" forKey:@"act"];
  87. [parmDict setObject:[NSString stringWithFormat:@"%ld",_page] forKey:@"p"];
  88. [parmDict setObject:theme forKey:@"theme"];
  89. FWWeakify(self)
  90. [[NetHttpsManager manager] POSTWithParameters:parmDict SuccessBlock:^(NSDictionary *responseJson) {
  91. FWStrongify(self)
  92. if (_page == 1) {
  93. [_dataArray removeAllObjects];
  94. _noHasMore = NO;
  95. }
  96. NSArray *arr = responseJson[@"list"];
  97. if ([arr isKindOfClass:[NSArray class]])
  98. {
  99. if (arr.count > 0)
  100. {
  101. for (NSDictionary *dic in arr)
  102. {
  103. MGGroupUserInfo *model = [MGGroupUserInfo mj_objectWithKeyValues:dic];
  104. model.bottomViewSelect = YES;
  105. [self.dataArray addObject:model];
  106. }
  107. }
  108. }
  109. // NSArray *list = [NSArray modelArrayWithClass:[YHWorkGroup class] json:[[responseJson valueForKey:@"data"] valueForKey:@"list"]];
  110. // [_dataArray addObjectsFromArray:list];
  111. if(_dataArray.count == 0)
  112. {
  113. _noHasMore = YES;
  114. }
  115. if (self.delegagte && [self.delegagte respondsToSelector:@selector(requestZoneListDataCompleted)]) {
  116. [self.delegagte requestZoneListDataCompleted];
  117. }
  118. } FailureBlock:^(NSError *error) {
  119. }];
  120. }
  121. -(void)loadListData2With:(BOOL)isgz
  122. {
  123. // if (_page == 1) {
  124. // [_dataArray removeAllObjects];
  125. // }
  126. //
  127. // NSMutableDictionary *param = [NSMutableDictionary dictionary];
  128. // [param setObject:@(_page) forKey:@"page"];
  129. // [param setObject:SafeStr(self.to_uid) forKey:@"cid"];
  130. //
  131. // //获取推荐列表one_api/get_list;获取关注列表one_api/get_attention_list
  132. // NSString *url ;
  133. // url = [[CYURLUtils sharedCYURLUtils] makeURLWithC:@"bzone_api" A:@"get_list_3x"];
  134. // if (isgz)
  135. // {
  136. // [param setObject:@"att" forKey:@"action"];
  137. // }else{
  138. // [param setObject:@"out" forKey:@"action"];
  139. // }
  140. //
  141. // UserInfo *infoModel = curUser;
  142. // [param setObject:infoModel.id forKey:@"uid"];
  143. //
  144. // [CYNET POSTv3:url parameters:param responseCache:^(id responseObject) {
  145. //
  146. // } success:^(id responseObject) {
  147. // if (_page == 1) {
  148. // [_dataArray removeAllObjects];
  149. // _noHasMore = NO;
  150. // }
  151. // NSArray *list = [NSArray modelArrayWithClass:[YHWorkGroup class] json:[[responseObject valueForKey:@"data"] valueForKey:@"list"]];
  152. // [_dataArray addObjectsFromArray:list];
  153. // if(_dataArray.count == 0)
  154. // {
  155. // _noHasMore = YES;
  156. // }
  157. // if (self.delegagte && [self.delegagte respondsToSelector:@selector(requestZoneListDataCompleted)]) {
  158. // [self.delegagte requestZoneListDataCompleted];
  159. // }
  160. // } failure:^(NSString *error, NSInteger code) {
  161. // [[HUDHelper sharedInstance] tipMessage:error];
  162. // if (self.delegagte && [self.delegagte respondsToSelector:@selector(requestZoneListDataCompleted)]) {
  163. // [self.delegagte requestZoneListDataCompleted];
  164. // }
  165. // } hasCache:YES];
  166. }
  167. -(void)addDolikeID:(NSString *)rid isLike:(BOOL)isLike Success:(CommonCompletionBlock)block{
  168. NSMutableDictionary *parmDict = [NSMutableDictionary dictionary];
  169. [parmDict setObject:@"dynamic" forKey:@"ctl"];
  170. [parmDict setObject:@"praise" forKey:@"act"];
  171. [parmDict setObject:rid forKey:@"dynamic_id"];
  172. NSString *like = isLike ? @"1" : @"2";
  173. [parmDict setObject:like forKey:@"is_praise"];
  174. FWWeakify(self)
  175. [[NetHttpsManager manager] POSTWithParameters:parmDict SuccessBlock:^(NSDictionary *responseJson) {
  176. // [self.logic.dataArray replaceObjectAtIndex:cell.indexPath.row withObject:model];
  177. if ([[responseJson valueForKey:@"is_like"]integerValue] == 1) {
  178. block([responseJson valueForKey:@"count"],YES);
  179. }else if ([[responseJson valueForKey:@"is_like"]integerValue] == 0) {
  180. block([responseJson valueForKey:@"count"],NO);
  181. }
  182. } FailureBlock:^(NSError *error) {
  183. }];
  184. }
  185. -(void)loadReplyListWhidZoneID:(NSString *)zone_id{
  186. NSMutableDictionary *parmDict = [NSMutableDictionary dictionary];
  187. [parmDict setObject:@"dynamic" forKey:@"ctl"];
  188. [parmDict setObject:@"get_comments" forKey:@"act"];
  189. [parmDict setObject:zone_id forKey:@"dynamic_id"];
  190. FWWeakify(self)
  191. [[NetHttpsManager manager] POSTWithParameters:parmDict SuccessBlock:^(NSDictionary *responseJson) {
  192. NSArray *list = responseJson[@"list"];
  193. NSMutableArray *arr = [NSMutableArray array];
  194. if ([list isKindOfClass:[NSArray class]])
  195. {
  196. if (list.count > 0)
  197. {
  198. for (NSDictionary *dic in list)
  199. {
  200. MGGroupUserInfo *model = [MGGroupUserInfo mj_objectWithKeyValues:dic];
  201. [arr addObject:model];
  202. }
  203. }
  204. }
  205. if([self.delegagte respondsToSelector:@selector(requestZoneReplyListDataCompletedWhih:)])
  206. {
  207. [self.delegagte requestZoneReplyListDataCompletedWhih:arr];
  208. }
  209. } FailureBlock:^(NSError *error) {
  210. }];
  211. }
  212. //发布动态
  213. -(void)addDynamicContent:(NSString *)content WithImage:(NSArray *)imageArr andVideoPaht:(NSString *)path cover_url:(NSString *)cover_url audio:(NSString *)audio audio_seconds:(NSString *)audio_seconds Success:(CommonBoolCompletionBlock)block
  214. {
  215. NSMutableDictionary *parmDict = [NSMutableDictionary dictionary];
  216. [parmDict setObject:@"dynamic" forKey:@"ctl"];
  217. [parmDict setObject:@"release" forKey:@"act"];
  218. [parmDict setObject:content forKey:@"content"];
  219. [parmDict setObject:audio forKey:@"audio"];
  220. [parmDict setObject:path forKey:@"video"];
  221. [parmDict setObject:cover_url forKey:@"cover_url"];//视频封面地址
  222. if (imageArr.count > 0) {
  223. [parmDict setObject:[imageArr componentsJoinedByString:@","] forKey:@"img"];
  224. }else{
  225. [parmDict setObject:@"" forKey:@"img"];
  226. }
  227. FWWeakify(self)
  228. [[NetHttpsManager manager] POSTWithParameters:parmDict SuccessBlock:^(NSDictionary *responseJson) {
  229. // [self.logic.dataArray replaceObjectAtIndex:cell.indexPath.row withObject:model];
  230. if ([[responseJson valueForKey:@"status"] integerValue] == 0) {
  231. [[BGHUDHelper sharedInstance]tipMessage:[responseJson valueForKey:@"error"]];
  232. block(NO);
  233. }else if ([[responseJson valueForKey:@"status"] integerValue] == 1) {
  234. [[BGHUDHelper sharedInstance]tipMessage:ASLocalizedString(@"发布成功")];
  235. block(YES);
  236. }
  237. } FailureBlock:^(NSError *error) {
  238. block(NO);
  239. }];
  240. }
  241. -(void)addDynamicType:(NSInteger)type content:(NSString *)content media:(NSArray *)mediaArr cover_url:(NSString *)cover_url no_name:(NSInteger)no_name themeID:(NSString *)themeID address:(NSString *)address media_attr:(NSString *)media_attr at:(NSString *)at shop_id:(NSString *)shop_id shop_title:(NSString *)shop_title Success:(CommonBoolCompletionBlock)block{
  242. NSMutableDictionary *parmDict = [NSMutableDictionary dictionary];
  243. [parmDict setObject:@"dynamic" forKey:@"ctl"];
  244. [parmDict setObject:@"release" forKey:@"act"];
  245. [parmDict setObject:@(type) forKey:@"type"];
  246. [parmDict setObject:content forKey:@"content"];
  247. if (mediaArr.count > 0) {
  248. [parmDict setObject:[mediaArr componentsJoinedByString:@","] forKey:@"media"];
  249. }else{
  250. [parmDict setObject:@"" forKey:@"media"];
  251. }
  252. [parmDict setObject:cover_url forKey:@"cover_url"];//视频封面地址
  253. [parmDict setObject:@(no_name) forKey:@"no_name"];
  254. if ([BGUtils isBlankString:themeID]) themeID = @"";
  255. [parmDict setObject:themeID forKey:@"theme"];
  256. [parmDict setObject:address forKey:@"address"];
  257. [parmDict setObject:media_attr forKey:@"media_attr"];
  258. [parmDict setObject:at forKey:@"at"];
  259. [parmDict setObject:shop_id forKey:@"shop_id"];
  260. [parmDict setObject:shop_title forKey:@"shop_title"];
  261. FWWeakify(self)
  262. [[NetHttpsManager manager] POSTWithParameters:parmDict SuccessBlock:^(NSDictionary *responseJson) {
  263. // [self.logic.dataArray replaceObjectAtIndex:cell.indexPath.row withObject:model];
  264. if ([[responseJson valueForKey:@"status"] integerValue] == 0) {
  265. [[BGHUDHelper sharedInstance]tipMessage:[responseJson valueForKey:@"error"]];
  266. block(NO);
  267. }else if ([[responseJson valueForKey:@"status"] integerValue] == 1) {
  268. [[BGHUDHelper sharedInstance]tipMessage:ASLocalizedString(@"发布成功")];
  269. block(YES);
  270. }
  271. } FailureBlock:^(NSError *error) {
  272. block(NO);
  273. }];
  274. }
  275. //发表评论
  276. -(void)addDynamicReplyID:(NSString *)rid WihtiContent:(NSString *)content adnAudio:(NSString *)audioPath Success:(CommonVoidBlock)block{
  277. NSMutableDictionary *parmDict = [NSMutableDictionary dictionary];
  278. [parmDict setObject:@"dynamic" forKey:@"ctl"];
  279. [parmDict setObject:@"set_comments" forKey:@"act"];
  280. [parmDict setObject:rid forKey:@"dynamic_id"];
  281. [parmDict setObject:content forKey:@"content"];
  282. FWWeakify(self)
  283. [[NetHttpsManager manager] POSTWithParameters:parmDict SuccessBlock:^(NSDictionary *responseJson) {
  284. if ([[responseJson valueForKey:@"status"] integerValue] == 1) {
  285. block();
  286. }else{
  287. [BGHUDHelper alert:[responseJson valueForKey:@"error"]];
  288. }
  289. } FailureBlock:^(NSError *error) {
  290. }];
  291. }
  292. //转发动态
  293. -(void)dynamicForwardWithDynamic_id:(NSString *)dynamic_id Success:(CommonVoidBlock)block{
  294. NSMutableDictionary *parmDict = [NSMutableDictionary dictionary];
  295. [parmDict setObject:@"dynamic" forKey:@"ctl"];
  296. [parmDict setObject:@"dynamic_forwarding" forKey:@"act"];
  297. [parmDict setObject:dynamic_id forKey:@"dynamic_id"];
  298. FWWeakify(self)
  299. [[NetHttpsManager manager] POSTWithParameters:parmDict SuccessBlock:^(NSDictionary *responseJson) {
  300. if ([[responseJson valueForKey:@"status"] integerValue] == 1) {
  301. block();
  302. }else{
  303. [BGHUDHelper alert:[responseJson valueForKey:@"error"]];
  304. }
  305. } FailureBlock:^(NSError *error) {
  306. }];
  307. }
  308. //删除动态
  309. -(void)delZone:(NSString *)rid Success:(CommonVoidBlock)block{
  310. NSMutableDictionary *parmDict = [NSMutableDictionary dictionary];
  311. [parmDict setObject:@"dynamic" forKey:@"ctl"];
  312. [parmDict setObject:@"del_dynamic" forKey:@"act"];
  313. [parmDict setObject:rid forKey:@"dynamic_id"];
  314. FWWeakify(self)
  315. [[NetHttpsManager manager] POSTWithParameters:parmDict SuccessBlock:^(NSDictionary *responseJson) {
  316. if ([[responseJson valueForKey:@"status"] integerValue] == 1) {
  317. block();
  318. }else{
  319. [BGHUDHelper alert:[responseJson valueForKey:@"error"]];
  320. }
  321. } FailureBlock:^(NSError *error) {
  322. }];
  323. }
  324. -(void)addFollowUID:(NSString *)uid Success:(CommonVoidDicBlock)block{
  325. NSMutableDictionary *parmDict = [[NSMutableDictionary alloc]init];
  326. [parmDict setObject:@"user" forKey:@"ctl"];
  327. [parmDict setObject:@"follow" forKey:@"act"];
  328. [parmDict setObject:uid forKey:@"to_user_id"];
  329. FWWeakify(self)
  330. [[NetHttpsManager manager] POSTWithParameters:parmDict SuccessBlock:^(NSDictionary *responseJson) {
  331. if ([[responseJson valueForKey:@"status"] integerValue] == 1) {
  332. block(responseJson);
  333. }else{
  334. [BGHUDHelper alert:[responseJson valueForKey:@"error"]];
  335. }
  336. } FailureBlock:^(NSError *error) {
  337. }];
  338. }
  339. //获取话题接口
  340. -(void)dynamicGetTopicModelWithUID:(NSString *)uid Success:(CommonVoidDicBlock)block
  341. {
  342. self.topicArr = [NSMutableArray array];
  343. NSMutableDictionary *parmDict = [NSMutableDictionary dictionary];
  344. [parmDict setObject:@"dynamic" forKey:@"ctl"];
  345. [parmDict setObject:@"dynamic_theme" forKey:@"act"];
  346. [parmDict setObject:@"lib" forKey:@"itype"];
  347. [parmDict setObject:uid forKey:@"uid"];
  348. FWWeakify(self)
  349. [[NetHttpsManager manager] POSTWithParameters:parmDict SuccessBlock:^(NSDictionary *responseJson) {
  350. if ([[responseJson valueForKey:@"status"] integerValue] == 1) {
  351. block(responseJson);
  352. }else{
  353. [BGHUDHelper alert:[responseJson valueForKey:@"error"]];
  354. }
  355. } FailureBlock:^(NSError *error) {
  356. }];
  357. }
  358. -(void)loadMsg_ListData
  359. {
  360. if (_page == 1) {
  361. [_dataArray removeAllObjects];
  362. }
  363. NSMutableDictionary *parmDict = [NSMutableDictionary dictionary];
  364. [parmDict setObject:@"index" forKey:@"ctl"];
  365. [parmDict setObject:@"msg_list" forKey:@"act"];
  366. [parmDict setObject:[NSString stringWithFormat:@"%ld",_page] forKey:@"p"];
  367. FWWeakify(self)
  368. [[NetHttpsManager manager] POSTWithParameters:parmDict SuccessBlock:^(NSDictionary *responseJson) {
  369. FWStrongify(self)
  370. if (_page == 1) {
  371. [_dataArray removeAllObjects];
  372. _noHasMore = NO;
  373. }
  374. NSArray *arr = responseJson[@"list"];
  375. if ([arr isKindOfClass:[NSArray class]])
  376. {
  377. if (arr.count > 0)
  378. {
  379. for (NSDictionary *dic in arr)
  380. {
  381. BGSystemMsgModel *model = [BGSystemMsgModel mj_objectWithKeyValues:dic];
  382. [self.dataArray addObject:model];
  383. }
  384. }
  385. }
  386. // NSArray *list = [NSArray modelArrayWithClass:[YHWorkGroup class] json:[[responseJson valueForKey:@"data"] valueForKey:@"list"]];
  387. // [_dataArray addObjectsFromArray:list];
  388. if(_dataArray.count == 0)
  389. {
  390. _noHasMore = YES;
  391. }
  392. if (self.delegagte && [self.delegagte respondsToSelector:@selector(requestZoneListDataCompleted)]) {
  393. [self.delegagte requestZoneListDataCompleted];
  394. }
  395. } FailureBlock:^(NSError *error) {
  396. }];
  397. }
  398. -(void)fetchUnRead_MsgSuccess:(CommonVoidDicBlock)block{
  399. NSMutableDictionary *parmDict = [[NSMutableDictionary alloc]init];
  400. [parmDict setObject:@"dynamic" forKey:@"ctl"];
  401. [parmDict setObject:@"index" forKey:@"act"];
  402. [parmDict setObject:@"1" forKey:@"p"];
  403. FWWeakify(self)
  404. [[NetHttpsManager manager] POSTWithParameters:parmDict SuccessBlock:^(NSDictionary *responseJson) {
  405. if ([[responseJson valueForKey:@"status"] integerValue] == 1) {
  406. block(responseJson);
  407. }else{
  408. [BGHUDHelper alert:[responseJson valueForKey:@"error"]];
  409. }
  410. } FailureBlock:^(NSError *error) {
  411. }];
  412. }
  413. @end