// // RDSHomeModel.m // Temperature // // Created by RD on 2022/12/15. // #import "RDSHomeModel.h" #import "RDSRootControl.h" @implementation RDSHomeModel + (NSDictionary *)objectClassInArray { return @{ @"member": @"YXMemberModel", @"room": @"YXHomeRoomModel", @"devices": @"YXHomeDeviceModel", }; } + (void)rds_getHomeListIsAdmin:(BOOL)is_admin finished:(void (^)(NSError * ))finished{ [RDSDemoApiHelper rds_getHomeListIsAdmin:is_admin success:^(id responseObject) { if ([responseObject[@"code"] intValue] == 9999) { [RDSRootControl shareControl].isLoginSuccess = NO; TheDataManager.token = @""; } if ([responseObject[@"code"] intValue] == 0) { NSArray *data = responseObject[@"data"]; NSMutableArray *dataArray = [RDSHomeModel mj_objectArrayWithKeyValuesArray:data]; NSMutableArray *homes = [[NSMutableArray alloc]initWithCapacity:5]; for (RDSHomeModel *homeModel in dataArray) { homeModel.member = [YXMemberModel mj_objectArrayWithKeyValuesArray:homeModel.member]; homeModel.room = [YXHomeRoomModel mj_objectArrayWithKeyValuesArray:homeModel.room]; for (YXHomeRoomModel *roomModel in homeModel.room) { roomModel.devices = [YXHomeDeviceModel mj_objectArrayWithKeyValuesArray:roomModel.devices]; } homeModel.devices = [YXHomeDeviceModel mj_objectArrayWithKeyValuesArray:homeModel.devices]; [homes addObject:homeModel]; } TheDataManager.homes = homes.mutableCopy; BOOL hasSelectHome = NO; for (int i = 0; i *)member{ // if(member.count == 0) return; // // if([member.firstObject isKindOfClass:[RDSMemberModel class]]){ // _member = member; // }else{ // NSMutableArray *memberArr = [RDSMemberModel mj_objectArrayWithKeyValuesArray:member]; // _member = memberArr.mutableCopy; // } //} + (void)rds_getHomeDetailWithFinished:(void (^)(RDSHomeModel *, NSError *))finished{ [RDSDemoApiHelper rds_getHomeDetailWithSuccess:^(id responseObject) { if ([responseObject[@"code"] intValue] == 9999) { [RDSRootControl shareControl].isLoginSuccess = NO; TheDataManager.token = @""; } if ([responseObject[@"code"] intValue] == 0) { NSDictionary *data = responseObject[@"data"]; if (![data isKindOfClass:[NSDictionary class]]) { return; } RDSHomeModel *home = [RDSHomeModel mj_objectWithKeyValues:data]; home.member = [YXMemberModel mj_objectArrayWithKeyValuesArray:data[@"member"]]; NSMutableArray *roomModelArray = [[NSMutableArray alloc]initWithCapacity:5]; NSArray *roomArray = data[@"room"]; for (NSDictionary *deviceDic in roomArray) { YXHomeRoomModel *roomModel = [YXHomeRoomModel mj_objectWithKeyValues:deviceDic]; NSArray *devicesArray = deviceDic[@"devices"]; roomModel.devices = [YXHomeDeviceModel mj_objectArrayWithKeyValuesArray:devicesArray]; [roomModelArray addObject:roomModel]; } home.room = roomModelArray; home.devices = [YXHomeDeviceModel mj_objectArrayWithKeyValuesArray:data[@"devices"]]; if ([home.record_id isEqualToString:TheDataManager.current_home_id]){ TheDataManager.detailHome = home; TheDataManager.rooms = home.room.mutableCopy; // TheDataManager.gateway = home.gateway; TheDataManager.current_home_name = home.name; } BLOCK_SAFE_RUN(finished,home, nil) } else { NSError *error = [NSError errorWithDomain:responseObject[@"message"] code:[responseObject[@"code"] intValue] userInfo:nil]; BLOCK_SAFE_RUN(finished,nil, error) } } failure:^(NSError *error) { }]; } @end