RDSHomeModel.m 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. //
  2. // RDSHomeModel.m
  3. // Temperature
  4. //
  5. // Created by RD on 2022/12/15.
  6. //
  7. #import "RDSHomeModel.h"
  8. @implementation RDSHomeModel
  9. + (void)rds_getHomeListIsAdmin:(BOOL)is_admin finished:(void (^)(NSError * ))finished{
  10. [RDSDemoApiHelper rds_getHomeListIsAdmin:is_admin success:^(id responseObject) {
  11. if ([responseObject[@"code"] intValue] == 0) {
  12. NSArray *data = responseObject[@"data"];
  13. NSMutableArray *homes = [RDSHomeModel mj_objectArrayWithKeyValuesArray:data];
  14. if(is_admin){
  15. TheDataManager.homesAdmin = homes.mutableCopy;
  16. }else{
  17. TheDataManager.homes = homes.mutableCopy;
  18. }
  19. BOOL hasSelectHome = NO;
  20. for (int i = 0; i<homes.count; i++) {
  21. RDSHomeModel *home = homes[i];
  22. if([home.record_id isEqualToString:TheDataManager.current_home_id]){
  23. TheDataManager.current_home_name = home.name;
  24. TheDataManager.current_home_index = i;
  25. hasSelectHome = YES;
  26. break;
  27. }
  28. }
  29. if(hasSelectHome == NO){
  30. RDSHomeModel *home = homes.firstObject;
  31. TheDataManager.current_home_name = home.name;
  32. TheDataManager.current_home_index = 0;
  33. }
  34. BLOCK_SAFE_RUN(finished, nil)
  35. } else{
  36. NSError *error = [NSError errorWithDomain:responseObject[@"message"] code:[responseObject[@"code"] intValue] userInfo:nil];
  37. BLOCK_SAFE_RUN(finished, error)
  38. }
  39. } failure:^(NSError *error) {
  40. BLOCK_SAFE_RUN(finished, error)
  41. }];
  42. }
  43. - (void)setMember:(NSMutableArray<RDSMemberModel *> *)member{
  44. if(member.count == 0) return;
  45. if([member.firstObject isKindOfClass:[RDSMemberModel class]]){
  46. _member = member;
  47. }else{
  48. NSMutableArray *memberArr = [RDSMemberModel mj_objectArrayWithKeyValuesArray:member];
  49. _member = memberArr.mutableCopy;
  50. }
  51. }
  52. + (void)rds_getHomeDetailWithHomeId:(NSString *)homeId finished:(void (^)(RDSHomeModel *, NSError *))finished{
  53. [RDSDemoApiHelper rds_getHomeDetailWithHomeId:(NSString *)homeId success:^(id responseObject) {
  54. if ([responseObject[@"code"] intValue] == 0) {
  55. NSDictionary *data = responseObject[@"data"];
  56. RDSHomeModel *home = [RDSHomeModel mj_objectWithKeyValues:data];
  57. home.member = [RDSMemberModel mj_objectArrayWithKeyValuesArray:data[@"member"]];
  58. home.room = [RDSRoomModel mj_objectArrayWithKeyValuesArray:data[@"room"]];
  59. if ([home.record_id isEqualToString:TheDataManager.current_home_id]){
  60. TheDataManager.detailHome = home;
  61. TheDataManager.rooms = home.room.mutableCopy;
  62. TheDataManager.gateway = home.gateway;
  63. TheDataManager.current_home_name = home.name;
  64. }
  65. BLOCK_SAFE_RUN(finished,home, nil)
  66. } else{
  67. NSError *error = [NSError errorWithDomain:responseObject[@"message"] code:[responseObject[@"code"] intValue] userInfo:nil];
  68. BLOCK_SAFE_RUN(finished,nil, error)
  69. }
  70. } failure:^(NSError *error) {
  71. }];
  72. }
  73. @end