123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- //
- // 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<homes.count; i++) {
- RDSHomeModel *home = homes[i];
- if([home.record_id isEqualToString:TheDataManager.current_home_id]){
- TheDataManager.current_home_name = home.name;
- TheDataManager.current_home_index = i;
- hasSelectHome = YES;
- break;
- }
- }
- if(hasSelectHome == NO){
- RDSHomeModel *home = homes.firstObject;
- TheDataManager.current_home_name = home.name;
- TheDataManager.current_home_index = 0;
- }
-
- BLOCK_SAFE_RUN(finished, nil)
- } else{
- NSError *error = [NSError errorWithDomain:responseObject[@"message"] code:[responseObject[@"code"] intValue] userInfo:nil];
- BLOCK_SAFE_RUN(finished, error)
- }
-
- } failure:^(NSError *error) {
- BLOCK_SAFE_RUN(finished, error)
- }];
- }
- //- (void)setMember:(NSMutableArray<RDSMemberModel *> *)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
|