// // 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"]; if(userAnswerArr.count==0){ //提示 ShowMsg(@"请先选择答案!"); return; } 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]; // } [NYTools saveExerciseModel:exerciseModel userKey:RQ_USER_MANAGER.currentUser.outId carType:RQ_YDTQuestion_Module.carType subject:RQ_YDTQuestion_Module.subject exerciseType:RQ_Exercise_Module.currentExerciseType];//记录用户做的题目 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_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]; NSString *ydt_id = [NSString stringWithFormat:@"%ld",(long)exerciseModel.ydtQuestionModel.ID]; [RQ_YDTQuestion_Module.errorRemoveArr addObject:ydt_id]; // [[[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_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]; // [[[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