// // RQExerciseOptionSureBtnItemViewModel.m // JSJP // // Created by 张嵘 on 2021/8/23. // #import "RQExerciseOptionSureBtnItemViewModel.h" @implementation RQExerciseOptionSureBtnItemViewModel - (instancetype)initWithRQExerciseModel:(RQExerciseModel *)exerciseModel { if (self = [super init]) { self.rowHeight = 56.f; NSArray *allOptionsArr = [@[exerciseModel.ydtQuestionModel.An1,exerciseModel.ydtQuestionModel.An2,exerciseModel.ydtQuestionModel.An3,exerciseModel.ydtQuestionModel.An4].rac_sequence.signal filter:^BOOL(NSString *optStr) { return RQStringIsNotEmpty(optStr); }].toArray; self.operation = ^{ if ([exerciseModel.userAnswer containsObject:@"预选Option"]) { NSMutableArray *userAnswerArr = exerciseModel.userAnswer.mutableCopy; [userAnswerArr removeObject:@"预选Option"]; exerciseModel.userAnswer = userAnswerArr.copy; NSString *userAnswerIndexStr = [[[userAnswerArr.rac_sequence.signal map:^id _Nullable(NSString *optStr) { return @([allOptionsArr indexOfObject:optStr] + 1); }].toArray arraySortASC] componentsJoinedByString:@""]; // [RQ_YDT_USER_Question_Module doQuestionWithID:exerciseModel.ydtQuestionModel.ID myAnswer:userAnswerIndexStr.integerValue trueAnswer:exerciseModel.ydtQuestionModel.AnswerTrue.integerValue carType:RQ_YDTQuestion_Module.carType subject:RQ_YDTQuestion_Module.subject exerciseType:RQExerciseType_Sequential]; // if (userAnswerIndexStr.integerValue == exerciseModel.ydtQuestionModel.AnswerTrue.integerValue) { // [RQNotificationCenter postNotificationName:RQAutoJumpNextNotification object:nil]; // [RQNotificationCenter postNotificationName:RQCancelWrongNotification object:nil]; // } if (userAnswerIndexStr.integerValue == exerciseModel.ydtQuestionModel.AnswerTrue.integerValue) { // [RQ_YDTQuestion_Module saveHistoryQuestionNumWithQuestionId:exerciseModel.ydtQuestionModel.num]; [RQNotificationCenter postNotificationName:RQAutoJumpNextNotification object:nil]; if (RQ_Exercise_Module.isRightAutoRemoveError) { [[[RQ_HTTP_Service deleteFavQuestionWithQuestionId:exerciseModel.ydtQuestionModel.ID type:RQSaveFavQuestionType_Wrong] deliverOnMainThread] subscribeNext:^(id _Nullable x) { [RQ_YDT_USER_Question_Module doQuestionWithID:exerciseModel.ydtQuestionModel.ID myAnswer:userAnswerIndexStr.integerValue trueAnswer:exerciseModel.ydtQuestionModel.AnswerTrue.integerValue carType:RQ_YDTQuestion_Module.carType subject:RQ_YDTQuestion_Module.subject exerciseType:RQExerciseType_Sequential]; [RQNotificationCenter postNotificationName:RQCancelWrongNotification object:nil]; } error:^(NSError * _Nullable error) { }]; } } else { [[[RQ_HTTP_Service saveFavQuestionWithQuestionId:exerciseModel.ydtQuestionModel.ID type:RQSaveFavQuestionType_Wrong] deliverOnMainThread] subscribeNext:^(id _Nullable x) { [RQ_YDT_USER_Question_Module doQuestionWithID:exerciseModel.ydtQuestionModel.ID myAnswer:userAnswerIndexStr.integerValue trueAnswer:exerciseModel.ydtQuestionModel.AnswerTrue.integerValue carType:RQ_YDTQuestion_Module.carType subject:RQ_YDTQuestion_Module.subject exerciseType:RQExerciseType_Sequential]; } error:^(NSError * _Nullable error) { }]; } } }; } return self; } - (NSString *)itemClassName { return @"RQExerciseOptionSureBtnCell"; } @end