123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- //
- // RQSynchronizationViewController.m
- // jiaPei
- //
- // Created by 张嵘 on 2022/9/1.
- // Copyright © 2022 JCZ. All rights reserved.
- //
- #import "RQSynchronizationViewController.h"
- @interface RQSynchronizationViewController ()
- /// viewModel
- @property (nonatomic, readonly, strong) RQSynchronizationViewModel *viewModel;
- @property (weak, nonatomic) IBOutlet UILabel *lastTimeLabel;
- @property (weak, nonatomic) IBOutlet UILabel *collectOneLabel;
- @property (weak, nonatomic) IBOutlet UILabel *collectFourLabel;
- @property (weak, nonatomic) IBOutlet UILabel *errorOneLabel;
- @property (weak, nonatomic) IBOutlet UILabel *errorFourLabel;
- @property (weak, nonatomic) IBOutlet UILabel *examOneLabel;
- @property (weak, nonatomic) IBOutlet UILabel *examFourLabel;
- @end
- @implementation RQSynchronizationViewController
- @dynamic viewModel;
- #pragma mark - SystemMethod
- - (void)viewDidLoad {
- [super viewDidLoad];
- /// 初始化
- [self rq_setup];
- }
- - (void)viewDidLayoutSubviews {
- [super viewDidLayoutSubviews];
- }
- - (void)dealloc {
-
- }
- #pragma mark - PrivateMethods
- /// 初始化
- - (void)rq_setup {
- @weakify(self)
- RAC(_lastTimeLabel, text) = [RACObserve(RQ_COMMON_MANAGER, updateTimeStr) takeUntil:self.rac_willDeallocSignal];
-
- RAC(_examOneLabel, attributedText) = [[RACObserve(RQ_COMMON_MANAGER, myExamOneCount) takeUntil:self.rac_willDeallocSignal] map:^id _Nullable(id _Nullable value) {
- @strongify(self)
- return [self getAttributedTextWithAllNumStr:[NSString stringWithFormat:@"%ld次",RQ_COMMON_MANAGER.myExamOneCount]];
- }];
-
- RAC(_examFourLabel, attributedText) = [[RACObserve(RQ_COMMON_MANAGER, myExamFourCount) takeUntil:self.rac_willDeallocSignal] map:^id _Nullable(id _Nullable value) {
- @strongify(self)
- return [self getAttributedTextWithAllNumStr:[NSString stringWithFormat:@"%ld次",RQ_COMMON_MANAGER.myExamFourCount]];
- }];
-
- RAC(_errorOneLabel, attributedText) = [[RACObserve(RQ_COMMON_MANAGER, myErrorOneCount) takeUntil:self.rac_willDeallocSignal] map:^id _Nullable(id _Nullable value) {
- @strongify(self)
- return [self getAttributedTextWithAllNumStr:[NSString stringWithFormat:@"%ld题",RQ_COMMON_MANAGER.myErrorOneCount]];
- }];
-
- RAC(_errorFourLabel, attributedText) = [[RACObserve(RQ_COMMON_MANAGER, myErrorFourCount) takeUntil:self.rac_willDeallocSignal] map:^id _Nullable(id _Nullable value) {
- @strongify(self)
- return [self getAttributedTextWithAllNumStr:[NSString stringWithFormat:@"%ld题",RQ_COMMON_MANAGER.myErrorFourCount]];
- }];
-
- RAC(_collectOneLabel, attributedText) = [[RACObserve(RQ_COMMON_MANAGER, myCollectOneCount) takeUntil:self.rac_willDeallocSignal] map:^id _Nullable(id _Nullable value) {
- @strongify(self)
- return [self getAttributedTextWithAllNumStr:[NSString stringWithFormat:@"%ld题",RQ_COMMON_MANAGER.myCollectOneCount]];
- }];
-
- RAC(_collectFourLabel, attributedText) = [[RACObserve(RQ_COMMON_MANAGER, myCollectFourCount) takeUntil:self.rac_willDeallocSignal] map:^id _Nullable(id _Nullable value) {
- @strongify(self)
- return [self getAttributedTextWithAllNumStr:[NSString stringWithFormat:@"%ld题",RQ_COMMON_MANAGER.myCollectFourCount]];
- }];
-
- [self updateNumData];
- }
- - (IBAction)synchronizationAction:(id)sender {
- @weakify(self)
- [MBProgressHUD rq_showProgressHUD:@"同步中..."];
- [[RQ_HTTP_Service getMyQuestionFavs] subscribeNext:^(NSArray *_Nullable arr) {
- if ([arr isKindOfClass:[NSArray class]]) {
- [RQ_YDT_USER_Question_Module deleteAllRemoveRecord];
- [RQ_YDT_USER_Question_Module deleteAllCollectRecordWithCarType:RQ_YDTQuestion_Module.carType subject:RQ_YDTQuestion_Module.subject];
- [RQ_YDT_USER_Question_Module deleteWrongRecordithCarType:RQ_YDTQuestion_Module.carType subject:RQ_YDTQuestion_Module.subject];
- [[arr.rac_sequence.signal deliverOnMainThread] subscribeNext:^(RQMyQuestionFavsModel *myQuestionFavsModel) {
- if ([myQuestionFavsModel.TYPE isEqualToString:@"1"]) {
- /// 收藏
- [RQ_YDT_USER_Question_Module collectQuestionWithID:[myQuestionFavsModel.QID integerValue] carType:[RQ_YDTQuestion_Module getCarTypeWithCarTypeName:myQuestionFavsModel.CARTYPE] subject:[RQ_YDTQuestion_Module getSubjectWithSubjectName:myQuestionFavsModel.SUBJECT] isUploadFlag:YES];
- } else if ([myQuestionFavsModel.TYPE isEqualToString:@"2"]) {
- /// 错题
- [RQ_YDT_USER_Question_Module doQuestionWithID:[myQuestionFavsModel.QID integerValue] myAnswer:0 trueAnswer:0 carType:[RQ_YDTQuestion_Module getCarTypeWithCarTypeName:myQuestionFavsModel.CARTYPE] subject:[RQ_YDTQuestion_Module getSubjectWithSubjectName:myQuestionFavsModel.SUBJECT] exerciseType:RQExerciseType_Wrong isUploadFlag:YES];
- }
- } completed:^{
- @strongify(self)
- [self updateNumData];
- RQ_COMMON_MANAGER.updateTimeStr = [NSString stringWithFormat:@"上次同步时间:%@",[NSDate rq_currentTimestamp]];
- [MBProgressHUD rq_hideHUD];
- }];
- }
- } error:^(NSError * _Nullable error) {
- [MBProgressHUD rq_hideHUD];
- [MBProgressHUD rq_showErrorTips:error];
- }];
-
- [[RQ_HTTP_Service getMyScoreWithSubject:RQHomePageSubjectType_SubjectOne] subscribeNext:^(NSArray *examResultModelArr) {
- RQ_COMMON_MANAGER.myExamOneCount = examResultModelArr.count;
- RQ_COMMON_MANAGER.examResultOneListArr = examResultModelArr;
- }];
-
- [[RQ_HTTP_Service getMyScoreWithSubject:RQHomePageSubjectType_SubjectFour] subscribeNext:^(NSArray *examResultModelArr) {
- RQ_COMMON_MANAGER.myExamFourCount = examResultModelArr.count;
- RQ_COMMON_MANAGER.examResultFourListArr = examResultModelArr;
- }];
- }
- - (void)updateNumData {
- NSInteger collectNumOne = [RQ_YDT_USER_Question_Module getCollectQuestionNumWithCarType:RQ_YDTQuestion_Module.carType subject:RQHomePageSubjectType_SubjectOne];
- NSInteger collectNumFour = [RQ_YDT_USER_Question_Module getCollectQuestionNumWithCarType:RQ_YDTQuestion_Module.carType subject:RQHomePageSubjectType_SubjectFour];
- NSInteger errorNumOne = [RQ_YDT_USER_Question_Module getWrongQuestionNumWithCarType:RQ_YDTQuestion_Module.carType subject:RQHomePageSubjectType_SubjectOne];
- NSInteger errorNumFour = [RQ_YDT_USER_Question_Module getWrongQuestionNumWithCarType:RQ_YDTQuestion_Module.carType subject:RQHomePageSubjectType_SubjectFour];
-
-
- RQ_COMMON_MANAGER.myCollectOneCount = collectNumOne;
- RQ_COMMON_MANAGER.myCollectFourCount = collectNumFour;
- RQ_COMMON_MANAGER.myErrorOneCount = errorNumOne;
- RQ_COMMON_MANAGER.myErrorFourCount = errorNumFour;
-
- }
- - (NSMutableAttributedString *)getAttributedTextWithAllNumStr:(NSString *)allNumStr {
- NSString *questionStr = [NSString stringWithFormat:@"题"];
- NSMutableAttributedString *allNumStrAttrStr = [[NSMutableAttributedString alloc] initWithString:allNumStr];
- [allNumStrAttrStr addAttribute:NSFontAttributeName value:RQRegularFont_13 range:[allNumStr rangeOfString:questionStr]];
- [allNumStrAttrStr addAttribute:NSForegroundColorAttributeName value:RQ_MAIN_TEXT_COLOR_2 range:[allNumStr rangeOfString:questionStr]];
- return allNumStrAttrStr;
- }
- #pragma mark - Override
- - (void)bindViewModel {
- [super bindViewModel];
- }
- @end
|