123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- //
- // 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
|