// // NYBlockExerciseItemModel.m // jiaPei // // Created by Ning.ge on 2024/12/6. // Copyright © 2024 JCZ. All rights reserved. // #import "NYBlockExerciseItemModel.h" @implementation NYBlockExerciseItemModel - (instancetype)init { if (self = [super init]) { self.itemSize = CGSizeMake(RQ_SCREEN_WIDTH*0.5-20.f, RQ_FIT_HORIZONTAL(74.f) + 8.f); } return self; } - (NSString *)itemClassName { return @"NYBlockExerciseCell"; } - (void)updateData{ int code = 0; NSString *leftStr = self.leftStr; if(self.group==0){ if([@"试题一" isEqualToString:leftStr]){ code = 201; }else if([@"试题二" isEqualToString:leftStr]){ code = 202; } else if([@"试题三" isEqualToString:leftStr]){ code = 203; } else if([@"试题四" isEqualToString:leftStr]){ code = 204; } else if([@"试题五" isEqualToString:leftStr]){ code = 205; } else if([@"试题六" isEqualToString:leftStr]){ code = 206; } }else if(self.group==1){ if([@"试题一" isEqualToString:leftStr]){ code = 301; }else if([@"试题二" isEqualToString:leftStr]){ code = 302; } else if([@"试题三" isEqualToString:leftStr]){ code = 303; } else if([@"试题四" isEqualToString:leftStr]){ code = 304; } }else if(self.group==2){ if([@"试题一" isEqualToString:leftStr]){ code = 401; }else if([@"试题二" isEqualToString:leftStr]){ code = 402; } } NSArray *arr = [[RQ_YDTQuestion_Module getQuestionWithExerciseType:RQExerciseType_Block_List code:code].rac_sequence.signal map:^id _Nullable(RQYDTQuestionModel *ydtQuestionModel) { return [RQExerciseModel exerciseModelWithRQYDTQuestionModel:ydtQuestionModel]; }].toArray; NSArray *readList = [NYTools readExerciseListUserKey:RQ_USER_MANAGER.currentUser.outId carType:RQ_YDTQuestion_Module.carType subject:RQ_YDTQuestion_Module.subject exerciseType:RQ_Exercise_Module.currentExerciseType]; NSLog(@"readList=%@",readList); int inId_count = 0; if(readList.count>0){ //遍历用户做的题目 for (NSDictionary *item in readList) { NSInteger ID = [item[@"ID"] unsignedIntValue];//题目id //查找对应题目 NSArray *filteredArray = [arr filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"ydtQuestionModel.ID == %d", ID]]; if (filteredArray.count > 0) { inId_count++; } } } double progress = (double)inId_count/arr.count; self.progress = progress; self.isfinish = progress >=1.0 ? YES:NO; self.progressStr = [NSString stringWithFormat:@"%.0f%%",progress*100]; } - (instancetype)initWithLeftStr:(NSString *)leftStr group:(NSInteger)group{ if (self = [self init]) { self.leftStr = leftStr; self.group = group; int code = 0; if(group==0){ if([@"试题一" isEqualToString:leftStr]){ code = 201; }else if([@"试题二" isEqualToString:leftStr]){ code = 202; } else if([@"试题三" isEqualToString:leftStr]){ code = 203; } else if([@"试题四" isEqualToString:leftStr]){ code = 204; } else if([@"试题五" isEqualToString:leftStr]){ code = 205; } else if([@"试题六" isEqualToString:leftStr]){ code = 206; } }else if(group==1){ if([@"试题一" isEqualToString:leftStr]){ code = 301; }else if([@"试题二" isEqualToString:leftStr]){ code = 302; } else if([@"试题三" isEqualToString:leftStr]){ code = 303; } else if([@"试题四" isEqualToString:leftStr]){ code = 304; } }else if(group==2){ if([@"试题一" isEqualToString:leftStr]){ code = 401; }else if([@"试题二" isEqualToString:leftStr]){ code = 402; } } NSArray *arr = [[RQ_YDTQuestion_Module getQuestionWithExerciseType:RQExerciseType_Block_List code:code].rac_sequence.signal map:^id _Nullable(RQYDTQuestionModel *ydtQuestionModel) { return [RQExerciseModel exerciseModelWithRQYDTQuestionModel:ydtQuestionModel]; }].toArray; NSArray *readList = [NYTools readExerciseListUserKey:RQ_USER_MANAGER.currentUser.outId carType:RQ_YDTQuestion_Module.carType subject:RQ_YDTQuestion_Module.subject exerciseType:RQ_Exercise_Module.currentExerciseType]; NSLog(@"readList=%@",readList); int inId_count = 0; if(readList.count>0){ //遍历用户做的题目 for (NSDictionary *item in readList) { NSInteger ID = [item[@"ID"] unsignedIntValue];//题目id //查找对应题目 NSArray *filteredArray = [arr filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"ydtQuestionModel.ID == %d", ID]]; if (filteredArray.count > 0) { inId_count++; } } } double progress = (double)inId_count/arr.count; self.progress = progress; self.isfinish = progress >=1.0 ? YES:NO; self.progressStr = [NSString stringWithFormat:@"%.0f%%",progress*100]; self.operation = ^{ RQ_Exercise_Module.codeStr = [NSString stringWithFormat:@"%d",code]; NSLog(@"%@点击了",leftStr); RQExerciseViewModel *exerciseViewModel = [[RQExerciseViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{ RQHomePageCarTypeKey : @(RQ_YDTQuestion_Module.carType), RQHomePageSubjectTypeKey : @(RQ_YDTQuestion_Module.subject), RQHomeSubPageTypeKey : @(RQHomeSubPageType_SequentialPractice), RQViewModelIDKey : leftStr, RQExerciseTypeKey : @(RQExerciseType_Block_List), RQViewModelUtilKey : arr, }]; [RQ_APPDELEGATE.services pushViewModel:exerciseViewModel animated:YES]; }; } return self; } @end