RQExerciseSubViewModel.m 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. //
  2. // RQExerciseSubViewModel.m
  3. // JSJP
  4. //
  5. // Created by 张嵘 on 2021/8/12.
  6. //
  7. #import "RQExerciseSubViewModel.h"
  8. @interface RQExerciseSubViewModel ()
  9. //@property (nonatomic, readwrite, assign) RQExerciseType exerciseType;
  10. /// homePageCarType
  11. @property (nonatomic, readwrite, assign) RQHomePageCarType homePageCarType;
  12. /// homePageSubjectType
  13. @property (nonatomic, readwrite, assign) RQHomePageSubjectType homePageSubjectType;
  14. /// homeSubPageType
  15. @property (nonatomic, readwrite, assign) RQHomeSubPageType homeSubPageType;
  16. /// homeSubEditListType
  17. @property (nonatomic, readwrite, assign) RQHomeSubEditListType homeSubEditListType;
  18. @property (nonatomic, readwrite, copy) NSString *titleStr;
  19. @property (nonatomic, readwrite, assign) NSInteger number;
  20. @end
  21. @implementation RQExerciseSubViewModel
  22. #pragma mark - Public Method
  23. - (instancetype)initWithServices:(id<RQViewModelServices>)services params:(NSDictionary *)params {
  24. if (self = [super initWithServices:services params:params]) {
  25. // self.exerciseType = [params[RQExerciseTypeKey] integerValue];
  26. self.homePageCarType = [params[RQHomePageCarTypeKey] integerValue];
  27. self.homePageSubjectType = [params[RQHomePageSubjectTypeKey] integerValue];
  28. self.homeSubPageType = [params[RQHomeSubPageTypeKey] integerValue];
  29. self.homeSubEditListType = [params[RQHomeSubEditListTypeKey] integerValue];
  30. self.titleStr = params[RQViewModelIDKey];
  31. self.number = [params[RQViewCommonValueKey] integerValue];
  32. self.questionArr = params[RQViewModelUtilKey];
  33. //读取用户记录-赋值
  34. NSArray *readList = [NYTools readExerciseListUserKey:RQ_USER_MANAGER.currentUser.outId carType:RQ_YDTQuestion_Module.carType subject:RQ_YDTQuestion_Module.subject exerciseType:RQ_Exercise_Module.currentExerciseType];
  35. NSLog(@"readList=%@",readList);
  36. if(readList.count>0){ //遍历用户做的题目
  37. for (NSDictionary *item in readList) {
  38. NSInteger ID = [item[@"ID"] unsignedIntValue];//题目id
  39. NSInteger type = [item[@"type"] unsignedIntValue];//题目类型
  40. NSInteger answerResultsType = [item[@"answerResultsType"] unsignedIntValue];//是否做对
  41. NSArray *userAnswer = item[@"userAnswer"];//用户选项
  42. //查找对应题目
  43. NSArray *filteredArray = [self.questionArr filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"ydtQuestionModel.ID == %d", ID]];
  44. if (filteredArray.count > 0) {
  45. RQExerciseModel *exerciseModel = filteredArray.firstObject;
  46. exerciseModel.answerResultsType = answerResultsType;
  47. exerciseModel.userAnswer = userAnswer;
  48. if (exerciseModel.answerResultsType == RQAnswerResultsType_Correct) {
  49. if (![RQ_Exercise_Module.correctArr containsObject:exerciseModel]) {
  50. NSMutableArray *corArr = RQ_Exercise_Module.correctArr.mutableCopy;
  51. [corArr addObject:exerciseModel];
  52. RQ_Exercise_Module.correctArr = corArr.copy;
  53. }
  54. } else if (exerciseModel.answerResultsType == RQAnswerResultsType_Error) {
  55. if (![RQ_Exercise_Module.errorArr containsObject:exerciseModel]) {
  56. NSMutableArray *errArr = RQ_Exercise_Module.errorArr.mutableCopy;
  57. [errArr addObject:exerciseModel];
  58. RQ_Exercise_Module.errorArr = errArr.copy;
  59. }
  60. }
  61. }
  62. }
  63. }
  64. }
  65. return self;
  66. }
  67. - (void)initialize {
  68. [super initialize];
  69. self.title = @"";
  70. ///配置数据
  71. [self rq_configureData];
  72. }
  73. #pragma mark - PrivateMethod
  74. - (void)rq_configureData {
  75. }
  76. @end