ScoreTaskRequestModel.m 3.8 KB
//
//  ScoreTaskRequestModel.m
//  DreamSleep
//
//  Created by peter on 2022/5/26.
//

#import "ScoreTaskRequestModel.h"
#import "ScoreDetailModel.h"

@implementation ScoreTaskRequestModel

+ (NSURLSessionDataTask *)queryUserIntegralRankWithCompletion:(void (^)(ScoreTaskRequestModel *requestModel))completion {
    NSString *api = @"query_user_integral_rank";
    NSString *argStr = [NSString stringWithFormat:@"query{%@}", api];
    ScoreTaskRequestModel * requestModel = [[ScoreTaskRequestModel alloc] init];
    return [self httpPostBodyRequestWithAPI:api params:@{@"query" : argStr} view:nil hasNetActivity:YES loadingInfo:nil hasFailInfo:YES success:^(NSDictionary *apiDic) {
        DSLog(@"我的积分等级接口dataDic:%@", apiDic);
        requestModel.resCode = DSResCodeSuccess;
        NSDictionary *resultDic = apiDic[@"result"];
        MyScoreModel *scoreModel = [MyScoreModel yy_modelWithDictionary:resultDic];
        requestModel.scoreModel = scoreModel;
        completion(requestModel);
    } failure:^(id failure) {
        requestModel.resCode = DSResCodeNetFail;
        requestModel.errorInfo = failure;
        completion(requestModel);
    }];
}

+ (NSURLSessionDataTask *)queryWeekTotalRankWithQueryType:(int)queryType completion:(void (^)(ScoreTaskRequestModel *requestModel))completion {
    NSString *api = @"query_week_total_rank";
    NSString *argStr = [NSString stringWithFormat:@"query{%@(que_type:%d)}", api, queryType];
    ScoreTaskRequestModel * requestModel = [[ScoreTaskRequestModel alloc] init];
    return [self httpPostBodyRequestWithAPI:api params:@{@"query" : argStr} view:nil hasNetActivity:YES loadingInfo:nil hasFailInfo:YES success:^(NSDictionary *apiDic) {
        DSLog(@"积分排行榜查询接口dataDic:%@", apiDic);
        requestModel.resCode = DSResCodeSuccess;
        NSDictionary *resultDic = apiDic[@"result"];
        RankModel *userRankModel = [RankModel yy_modelWithDictionary:resultDic[@"user_point"]];
        NSMutableArray *tmpArr = [NSMutableArray array];
        NSArray *data_list = resultDic[@"data_list"];
        for (int index = 0; index < data_list.count; index++) {
            RankModel *otherRankModel = [RankModel yy_modelWithDictionary:data_list[index]];
            [tmpArr addObject:otherRankModel];
        }
        requestModel.userRankModel = userRankModel;
        requestModel.otherRankList = [tmpArr copy];
        completion(requestModel);
    } failure:^(id failure) {
        requestModel.resCode = DSResCodeNetFail;
        requestModel.errorInfo = failure;
        completion(requestModel);
    }];
}

+ (NSURLSessionDataTask *)queryUserPointsDetailListWithParams:(NSDictionary *)params completion:(void (^)(ScoreTaskRequestModel *requestModel))completion {
    NSString *api = @"query_user_points_detail_list";
    NSString *argStr = [NSString stringWithFormat:@"query{%@(query_type:%d,offset:%d)}", api, [params[@"query_type"] intValue], [params[@"offset"] intValue]];
    ScoreTaskRequestModel * requestModel = [[ScoreTaskRequestModel alloc] init];
    return [self httpPostBodyRequestWithAPI:api params:@{@"query" : argStr} view:nil hasNetActivity:YES loadingInfo:nil hasFailInfo:YES success:^(NSDictionary *apiDic) {
        DSLog(@"每日任务-查询用户积分明细接口dataDic:%@", apiDic);
        requestModel.resCode = DSResCodeSuccess;
        NSArray *resultArr = apiDic[@"result"];
        NSMutableArray *tmpArr = [NSMutableArray array];
        for (int i = 0; i < resultArr.count; i++) {
            ScoreDetailModel *detailModel = [ScoreDetailModel yy_modelWithDictionary:resultArr[i]];
            [tmpArr addObject:detailModel];
        }
        requestModel.pointList = [tmpArr copy];
        completion(requestModel);
    } failure:^(id failure) {
        requestModel.resCode = DSResCodeNetFail;
        requestModel.errorInfo = failure;
        completion(requestModel);
    }];
}

@end