SleepReadyRequestModel.m 5.2 KB
//
//  SleepReadyRequestModel.m
//  DreamSleep
//
//  Created by peter on 2022/7/14.
//

#import "SleepReadyRequestModel.h"
#import "ReadyItem.h"

@implementation SleepReadyRequestModel

+ (NSURLSessionDataTask *)queryPreparePeaceListWithCompletion:(void (^)(SleepReadyRequestModel *requestModel))completion {
    SleepReadyRequestModel * requestModel = [[SleepReadyRequestModel alloc] init];
    NSString *api = @"query_prepare_peace_list";
    NSString *argStr = [NSString stringWithFormat:@"query{%@}", api];
    return [self httpPostBodyRequestWithAPI:api params:@{@"query" : argStr} view:nil hasNetActivity:YES loadingInfo:nil hasFailInfo:YES success:^(NSDictionary * _Nonnull apiDic) {
        DSLog(@"安睡准备设置页面列表数据接口apiDic:%@", apiDic);
        requestModel.resCode = DSResCodeSuccess;
        NSDictionary *resultDic = apiDic[@"result"];
        requestModel.relax_time = [resultDic[@"relax_time"] intValue];
        NSArray *relax_items = resultDic[@"relax_items"];
        NSArray *prepare_items = resultDic[@"prepare_items"];
        
        NSMutableArray *tmp_relax_items = [NSMutableArray array];
        for (int i = 0; i < relax_items.count; i++) {
            ReadyItem *readyItem = [ReadyItem yy_modelWithJSON:relax_items[i]];
            [tmp_relax_items addObject:readyItem];
        }
        requestModel.relax_items = [tmp_relax_items copy];
        
        NSMutableArray *tmp_prepare_items = [NSMutableArray array];
        for (int i = 0; i < prepare_items.count; i++) {
            ReadyItem *prepareItem = [ReadyItem yy_modelWithJSON:prepare_items[i]];
            [tmp_prepare_items addObject:prepareItem];
        }
        requestModel.prepare_items = [tmp_prepare_items copy];
        completion(requestModel);
    } failure:^(id _Nonnull failureInfo) {
        requestModel.resCode = [failureInfo[@"errorCode"] integerValue];
        requestModel.errMessage = failureInfo[@"errMessage"];
        completion(requestModel);
    }];
}

+ (NSURLSessionDataTask *)userSetupPrepareItems:(NSArray *)relaxItems completion:(void (^)(SleepReadyRequestModel *requestModel))completion {
    SleepReadyRequestModel * requestModel = [[SleepReadyRequestModel alloc] init];
    NSString *api = @"user_setup_prepare_items";
    NSMutableString *mStr = [NSMutableString string];
    [mStr appendString:@"\"["];
    for (int index = 0; index < relaxItems.count; index++) {
        ReadyItem *item = relaxItems[index];
        [mStr appendFormat:@"{\\\"item_id\\\":%d,\\\"time\\\":%d}%@", item.item_id, item.time, (index == relaxItems.count - 1) ? @"" : @","];
    }
    [mStr appendString:@"]\""];
    NSString *argStr = [NSString stringWithFormat:@"mutation{%@(relax_items:%@)}", api, [mStr copy]];
    return [self httpPostBodyRequestWithAPI:api params:@{@"query" : argStr} view:nil hasNetActivity:YES loadingInfo:nil hasFailInfo:YES success:^(NSDictionary * _Nonnull apiDic) {
        DSLog(@"用户设置睡前选项接口apiDic:%@", apiDic);
        requestModel.resCode = DSResCodeSuccess;
        completion(requestModel);
    } failure:^(id _Nonnull failureInfo) {
        requestModel.resCode = [failureInfo[@"errorCode"] integerValue];
        requestModel.errMessage = failureInfo[@"errMessage"];
        completion(requestModel);
    }];
}

+ (NSURLSessionDataTask *)userSetupPreparePeaceStatusWithCompletion:(void (^)(SleepReadyRequestModel *requestModel))completion {
    SleepReadyRequestModel * requestModel = [[SleepReadyRequestModel alloc] init];
    NSString *api = @"user_setup_prepare_peace_status";
    NSString *argStr = [NSString stringWithFormat:@"mutation{%@}", api];
    return [self httpPostBodyRequestWithAPI:api params:@{@"query" : argStr} view:nil hasNetActivity:YES loadingInfo:nil hasFailInfo:YES success:^(NSDictionary * _Nonnull apiDic) {
        DSLog(@"做完安睡准备更新状态接口apiDic:%@", apiDic);
        requestModel.resCode = DSResCodeSuccess;
        NSDictionary *resultDic = apiDic[@"result"];
        SRFinishModel *finishModel = [SRFinishModel yy_modelWithDictionary:resultDic];
        requestModel.finishModel = finishModel;
        completion(requestModel);
    } failure:^(id _Nonnull failureInfo) {
        requestModel.resCode = [failureInfo[@"errorCode"] integerValue];
        requestModel.errMessage = failureInfo[@"errMessage"];
        completion(requestModel);
    }];
}

+ (NSURLSessionDataTask *)userPrepareSleepItemsWithCompletion:(void (^)(SleepReadyRequestModel *requestModel))completion {
    SleepReadyRequestModel * requestModel = [[SleepReadyRequestModel alloc] init];
    NSString *api = @"user_prepare_sleep_items";
    NSString *argStr = [NSString stringWithFormat:@"mutation{%@}", api];
    return [self httpPostBodyRequestWithAPI:api params:@{@"query" : argStr} view:nil hasNetActivity:YES loadingInfo:nil hasFailInfo:YES success:^(NSDictionary * _Nonnull apiDic) {
        DSLog(@"获取开始睡前准备数据的接口apiDic:%@", apiDic);
        requestModel.resCode = DSResCodeSuccess;
        completion(requestModel);
    } failure:^(id _Nonnull failureInfo) {
        requestModel.resCode = [failureInfo[@"errorCode"] integerValue];
        requestModel.errMessage = failureInfo[@"errMessage"];
        completion(requestModel);
    }];
}

@end