Pārlūkot izejas kodu

ninggege,新的版本库 up

openlockPPP 1 gadu atpakaļ
vecāks
revīzija
5af4ca579f

+ 2 - 2
SDJK.xcodeproj/project.pbxproj

@@ -5266,7 +5266,7 @@
 					"@executable_path/Frameworks",
 				);
 				LIBRARY_SEARCH_PATHS = "$(inherited)";
-				MARKETING_VERSION = 1.1.2;
+				MARKETING_VERSION = 1.1.3;
 				OTHER_LDFLAGS = (
 					"$(inherited)",
 					"-ObjC",
@@ -5305,7 +5305,7 @@
 					"@executable_path/Frameworks",
 				);
 				LIBRARY_SEARCH_PATHS = "$(inherited)";
-				MARKETING_VERSION = 1.1.2;
+				MARKETING_VERSION = 1.1.3;
 				OTHER_LDFLAGS = (
 					"$(inherited)",
 					"-ObjC",

+ 5 - 1
SDJK/Modules/HomePageModule/View/顺序练习·分类练习·地方专题·精选考题/RQHomeSubPageListCell.m

@@ -34,7 +34,11 @@
 
 - (void)bindViewModel:(RQHomeSubPageListItemViewModel *)viewModel {
     _viewModel = viewModel;
-    _titleLabel.text = viewModel.title;
+    NSString *title = viewModel.title;
+    if([title containsString:@","]){
+        title = [[title componentsSeparatedByString:@","] firstObject];
+    }
+    _titleLabel.text = title;
     _specialExplanationBtn.hidden = ![viewModel.title isEqualToString:@"地方题"];
     [_specialExplanationBtn setTitleNormal:[NSString stringWithFormat:@"%@地方题专项讲解",(_viewModel.homePageSubjectType == RQHomePageSubjectType_SubjectOne)? @"科目一" : (_viewModel.homePageSubjectType == RQHomePageSubjectType_SubjectFour)? @"科目四" : @""]];
     _voiceExplanationBtn.hidden = !_specialExplanationBtn.hidden;

+ 6 - 2
SDJK/Modules/HomePageModule/View/顺序练习·分类练习·地方专题·精选考题/RQHomeSubPageSortCell.m

@@ -30,10 +30,14 @@
 
 - (void)bindViewModel:(RQHomeSubPageSortItemViewModel *)viewModel {
     _viewModel = viewModel;
-    _myTitleLabel.text = viewModel.title;
+    NSString *title = viewModel.title;
+    if([title containsString:@","]){
+        title = [[title componentsSeparatedByString:@","] firstObject];
+    }
+    _myTitleLabel.text = title;
     _numBtn.imageView.size = _numBtn.size;
     [_numBtn setTitle:viewModel.serialNumberStr forState:UIControlStateNormal];
-    _numBtn.selected = [viewModel.serialNumberStr isEqualToString:@"地"] || [viewModel.title containsString:@"必"] || [viewModel.serialNumberStr isEqualToString:@"新"];
+    _numBtn.selected = [viewModel.serialNumberStr isEqualToString:@"地"] || [title containsString:@"必"] || [viewModel.serialNumberStr isEqualToString:@"新"];
 }
 
 

+ 2 - 2
SDJK/Modules/HomePageModule/View/首页/RQHomeSubPageCell.m

@@ -103,7 +103,7 @@
         [RQ_USER_MANAGER isShouldVipWithComplete:^(NSInteger isVip) {
             if (isVip > 0) {
 #if defined(DEBUG)||defined(_DEBUG)
-                NSString *urlStr = [NSString stringWithFormat:@"https://mn.zzxcx.net/#/exam/begin?username=%@&subject=%@&gs=%@&headimg=%@",RQ_USER_MANAGER.nickName,[RQ_COMMON_MANAGER getSubjectTypeNumStrWithSubjectType:self.viewModel.homePageSubjectType],[RQ_COMMON_MANAGER getCarTypeSimpleCNStrWithCarType:self.viewModel.homePageCarType],RQ_USER_MANAGER.headImage];
+                NSString *urlStr = [NSString stringWithFormat:@"https://mn.zzxcx.net/#/exam/begin?username=%@&subject=%@&model=%@&headimg=%@",RQ_USER_MANAGER.nickName,[RQ_COMMON_MANAGER getSubjectTypeNumStrWithSubjectType:self.viewModel.homePageSubjectType],[RQ_COMMON_MANAGER getCarTypeSimpleCNStrWithCarTypeNew:self.viewModel.homePageCarType],RQ_USER_MANAGER.headImage];
                 RQWebViewModel *webViewModel = [[RQWebViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{RQViewModelRequestKey:urlStr, RQViewModelWebViewTypeKey:@(RQWebViewType_Exam)}];
                 webViewModel.prefersNavigationBarHidden = YES;
                 [RQ_APPDELEGATE.services pushViewModel:webViewModel animated:YES];
@@ -113,7 +113,7 @@
 //                webViewModel.prefersNavigationBarHidden = YES;
 //                [RQ_APPDELEGATE.services pushViewModel:webViewModel animated:YES];
 #else
-                NSString *urlStr = [NSString stringWithFormat:@"https://mn.zzxcx.net/#/exam/begin?username=%@&subject=%@&gs=%@&headimg=%@",RQ_USER_MANAGER.nickName,[RQ_COMMON_MANAGER getSubjectTypeNumStrWithSubjectType:self.viewModel.homePageSubjectType],[RQ_COMMON_MANAGER getCarTypeSimpleCNStrWithCarType:self.viewModel.homePageCarType],RQ_USER_MANAGER.headImage];
+                NSString *urlStr = [NSString stringWithFormat:@"https://mn.zzxcx.net/#/exam/begin?username=%@&subject=%@&model=%@&headimg=%@",RQ_USER_MANAGER.nickName,[RQ_COMMON_MANAGER getSubjectTypeNumStrWithSubjectType:self.viewModel.homePageSubjectType],[RQ_COMMON_MANAGER getCarTypeSimpleCNStrWithCarTypeNew:self.viewModel.homePageCarType],RQ_USER_MANAGER.headImage];
                 RQWebViewModel *webViewModel = [[RQWebViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{RQViewModelRequestKey:urlStr, RQViewModelWebViewTypeKey:@(RQWebViewType_Exam)}];
                 webViewModel.prefersNavigationBarHidden = YES;
                 [RQ_APPDELEGATE.services pushViewModel:webViewModel animated:YES];

+ 2 - 1
SDJK/Modules/HomePageModule/ViewModel/顺序练习·分类练习·地方专题·精选考题/RQHomeSubPageSortViewModel.m

@@ -162,7 +162,8 @@
         __block NSInteger rightIndex = 0;
     
         NSArray *groupOneArr = [columnArr.rac_sequence.signal filter:^BOOL(NSString *titleStr) {
-            return [titleStr containsString:@"必"] || [titleStr containsString:@"摩托"] || [titleStr containsString:@"新"] || [titleStr containsString:@"地方"] || [titleStr containsString:@"专用"];
+            return [titleStr containsString:@"必"] || [titleStr containsString:@"摩托"] || [titleStr containsString:@"新"] || [titleStr containsString:@"地方"] || [titleStr containsString:@"专用"]
+            || [titleStr containsString:@"考"];
         }].toArray;
 
         NSArray *groupTwoArr = [columnArr.rac_sequence.signal filter:^BOOL(NSString *titleStr) {

BIN
SDJK/Resource/DataBase/question.db


+ 1 - 0
SDJK/Utils/Manager/CommonManager/RQCommonManager.h

@@ -45,6 +45,7 @@ NS_ASSUME_NONNULL_BEGIN
 - (NSString *)getCarTypeEnStrWithCarType:(RQHomePageCarType)carType;
 - (NSString *)getCarTypeSimpleCNStrWithCarType:(RQHomePageCarType)carType;
 - (NSString *)getSubjectTypeStrWithSubjectType:(RQHomePageSubjectType)subjecType;
+- (NSString *)getCarTypeSimpleCNStrWithCarTypeNew:(RQHomePageCarType)carType;
 - (NSString *)getSubjectTypeNumStrWithSubjectType:(RQHomePageSubjectType)subjecType;
 - (NSString *)getMiExamTypeNumStrWithMiExamType:(RQMiExamType)miExamType;
 - (void)checkVersionWithComplete:(VoidBlock_Bool)complete;

+ 15 - 0
SDJK/Utils/Manager/CommonManager/RQCommonManager.m

@@ -111,6 +111,21 @@ static NSString * const RQQuestionCarTypeKey = @"RQQuestionCarTypeKey";
     }
 }
 
+- (NSString *)getCarTypeSimpleCNStrWithCarTypeNew:(RQHomePageCarType)carType {
+    switch (carType) {
+        case RQHomePageCarType_Car:
+            return @"cart";
+        case RQHomePageCarType_Bus:
+            return @"bus";
+        case RQHomePageCarType_Truck:
+            return @"truck";
+        case RQHomePageCarType_Motorcycle:
+            return @"mtc";
+            
+        default:
+            return @"xc";
+    }
+}
 
 - (NSString *)getSubjectTypeStrWithSubjectType:(RQHomePageSubjectType)subjecType {
     if (subjecType == RQHomePageSubjectType_SubjectOne) {

+ 72 - 58
SDJK/Utils/Manager/QuestionDBManager/RQQuestionDBManager.m

@@ -58,41 +58,41 @@ static id rq_questionDBManager = nil;
 #pragma mark - Public Method
 - (NSArray *)getColumnWithCarType:(RQHomePageCarType)carType subject:(RQHomePageSubjectType)subject pageType:(RQHomeSubPageType)pageType {
     
-    ///  默认为轿车
-    NSString *queryCarTypeStr = @"lice_car = 1";
+    ///  默认为轿车 cart,bus,truck
+    NSString *queryCarTypeStr = @"model LIKE '%cart%'";
     
     switch (carType) {
         case RQHomePageCarType_Car:
-            queryCarTypeStr = @"lice_car = 1";
+            queryCarTypeStr = @"model LIKE '%cart%'";
             break;
         case RQHomePageCarType_Bus:
-            queryCarTypeStr = @"lice_bus = 1";
+            queryCarTypeStr = @"model LIKE '%bus%'";
             break;
         case RQHomePageCarType_Truck:
-            queryCarTypeStr = @"lice_truck = 1";
+            queryCarTypeStr = @"model LIKE '%truck%'";
             break;
         case RQHomePageCarType_Motorcycle:
-            queryCarTypeStr = @"lice_moto = 1";
+            queryCarTypeStr = @"model LIKE '%mtc%'";
             break;
             
         default:
             break;
     }
     ///  默认科目一
-    NSString *querySubjectTypeStr = @"subject = 1";
+    NSString *querySubjectTypeStr = @"k1";
     
     switch (subject) {
         case RQHomePageSubjectType_SubjectOne:
-            querySubjectTypeStr = @"subject = 1";
+            querySubjectTypeStr = @"k1";
             break;
         case RQHomePageSubjectType_SubjectTwo:
-            querySubjectTypeStr = @"subject = 2";
+            querySubjectTypeStr = @"k2";
             break;
         case RQHomePageSubjectType_SubjectThree:
-            querySubjectTypeStr = @"subject = 3";
+            querySubjectTypeStr = @"k3";
             break;
         case RQHomePageSubjectType_SubjectFour:
-            querySubjectTypeStr = @"subject = 4";
+            querySubjectTypeStr = @"k4";
             break;
             
         default:
@@ -100,33 +100,41 @@ static id rq_questionDBManager = nil;
     }
     
     ///  默认顺序练习
-    NSString *pageTypeStr = @"seque_issue_name";
-    NSString *pageTypeByOrderStr = @"seque_issue";
+    NSString *pageTypeStr = @"title";
+    NSString *pageTypeByOrderStr = @"sort";
 
     switch (pageType) {
-        case RQHomeSubPageType_SequentialPractice:
-            pageTypeStr = @"seque_issue_name";
-            pageTypeByOrderStr = @"seque_issue";
+        case RQHomeSubPageType_SequentialPractice:/// 顺序练习
+            pageTypeStr = @"title,column_id";
+            pageTypeByOrderStr = @"sort";
+            querySubjectTypeStr = [NSString stringWithFormat:@"subject = '%@'",querySubjectTypeStr];
             break;
-        case RQHomeSubPageType_LocalTopics:
+        case RQHomeSubPageType_LocalTopics: /// 地方专题
             pageTypeStr = @"place_issue_name";
             pageTypeByOrderStr = @"place_issue";
             break;
-        case RQHomeSubPageType_ClassificationExercise:
-            pageTypeStr = @"class_issue_name";
-            pageTypeByOrderStr = @"class_issue";
+        case RQHomeSubPageType_ClassificationExercise:/// 分类练习
+            pageTypeStr = @"title,column_id";
+            pageTypeByOrderStr = @"sort";
+            querySubjectTypeStr = [NSString stringWithFormat:@"%@_3",querySubjectTypeStr];
+            querySubjectTypeStr = [NSString stringWithFormat:@"subject = '%@'",querySubjectTypeStr];
             break;
-        case RQHomeSubPageType_SelectedTestQuestions:
-            pageTypeStr = @"excell_issue_name";
-            pageTypeByOrderStr = @"excell_issue";
+        case RQHomeSubPageType_SelectedTestQuestions: //精选考题
+            pageTypeStr = @"title,column_id";
+            pageTypeByOrderStr = @"sort";
+            querySubjectTypeStr = [NSString stringWithFormat:@"%@_2",querySubjectTypeStr];
+            querySubjectTypeStr = [NSString stringWithFormat:@"subject = '%@'",querySubjectTypeStr];
             break;
             
         default:
             break;
     }
     
-    NSString *queryStr = [NSString stringWithFormat:@"select distinct %@ from question_info where %@ and %@ %@ order by %@ + 0 ASC", pageTypeStr, queryCarTypeStr, querySubjectTypeStr, (pageType == RQHomeSubPageType_LocalTopics)? @"and place_issue IS NOT NULL" : @"", pageTypeByOrderStr];
-    
+    //v1.1.2 旧逻辑
+//    NSString *queryStr = [NSString stringWithFormat:@"select distinct %@ from question_info where %@ and %@ %@ order by %@ + 0 ASC", pageTypeStr, queryCarTypeStr, querySubjectTypeStr, (pageType == RQHomeSubPageType_LocalTopics)? @"and place_issue IS NOT NULL" : @"", pageTypeByOrderStr];
+    //v1.1.3
+    NSString *queryStr = [NSString stringWithFormat:@"select distinct %@ from question_column where %@ and %@ order by %@ + 0 ASC", pageTypeStr, queryCarTypeStr, querySubjectTypeStr, pageTypeByOrderStr];
+    //    select distinct * from  WHERE subject = 'k1_2' AND model LIKE '%cart%' order by sort ASC
     NSMutableArray *arr = @[].mutableCopy;
     @weakify(arr)
     [_databaseQueue inTransaction:^(FMDatabase * _Nonnull db, BOOL * _Nonnull rollback) {
@@ -134,9 +142,18 @@ static id rq_questionDBManager = nil;
             @strongify(arr)
             FMResultSet *resultSet = [db executeQuery:queryStr];
             while ([resultSet next]) {
-                NSString *str = [resultSet stringForColumn:pageTypeStr];
-                // 对应字段来取数据
-                [arr addObject:str? : @"地方题"];
+                if([pageTypeStr containsString:@","]){
+                    NSString *str = [resultSet stringForColumn:@"title"];
+                    NSString *strCol = [resultSet stringForColumn:@"column_id"];
+                    NSString *str_title = [NSString stringWithFormat:@"%@,%@",str,strCol];
+                    // 对应字段来取数据
+                    [arr addObject:str_title? : @"地方题"];
+                }else{
+                    NSString *str = [resultSet stringForColumn:pageTypeStr];
+                    // 对应字段来取数据
+                    [arr addObject:str? : @"地方题"];
+                }
+                
             }
             if ([arr containsObject:@"地方题"] && [arr indexOfObject:@"地方题"] == 0) {
                 NSString *saveStr = arr.firstObject;
@@ -154,22 +171,24 @@ static id rq_questionDBManager = nil;
 }
 
 - (NSArray *)getQuestionWithCarType:(RQHomePageCarType)carType subject:(RQHomePageSubjectType)subject pageType:(RQHomeSubPageType)pageType name:(NSString *)name exerciseType:(RQExerciseType)exerciseType {
+    
+    
     NSMutableArray *arr = @[].mutableCopy;
-    ///  默认为轿车
-    NSString *queryCarTypeStr = @"lice_car = 1";
+    ///  默认为轿车 cart,bus,truck
+    NSString *queryCarTypeStr = @"model LIKE '%cart%'";
     
     switch (carType) {
         case RQHomePageCarType_Car:
-            queryCarTypeStr = @"lice_car = 1";
+            queryCarTypeStr = @"model LIKE '%cart%'";
             break;
         case RQHomePageCarType_Bus:
-            queryCarTypeStr = @"lice_bus = 1";
+            queryCarTypeStr = @"model LIKE '%bus%'";
             break;
         case RQHomePageCarType_Truck:
-            queryCarTypeStr = @"lice_truck = 1";
+            queryCarTypeStr = @"model LIKE '%truck%'";
             break;
         case RQHomePageCarType_Motorcycle:
-            queryCarTypeStr = @"lice_moto = 1";
+            queryCarTypeStr = @"model LIKE '%mtc%'";
             break;
             
         default:
@@ -197,35 +216,30 @@ static id rq_questionDBManager = nil;
     }
     
     ///  默认顺序练习
-    NSString *pageTypeStr = @"seque_issue_name";
-    NSString *pageTypeByOrderStr = @"seque_issue";
+//    NSString *pageTypeStr = @"seque_issue_name";
+//    NSString *pageTypeByOrderStr = @"seque_issue";
     NSString *nameStr = @"";
     NSString *orderStr = @"";
-    
+    NSString *colidStr = @"";
+    if([name containsString:@","]){
+        colidStr = [[name componentsSeparatedByString:@","] lastObject];
+    }
     switch (pageType) {
-        case RQHomeSubPageType_SequentialPractice:
-            pageTypeStr = @"seque_issue_name";
-            pageTypeByOrderStr = @"seque_issue";
-            nameStr = [NSString stringWithFormat:@"and seque_issue_name = '%@'",name];
-            orderStr = @"seque_sort";
-            break;
+        
+////            pageTypeStr = @"place_issue_name";
+////            pageTypeByOrderStr = @"place_issue";
+//            nameStr = [NSString stringWithFormat:@"and place_issue_name = '%@'",name];
+//            orderStr = @"number";
+//            break;
         case RQHomeSubPageType_LocalTopics:
-            pageTypeStr = @"place_issue_name";
-            pageTypeByOrderStr = @"place_issue";
-            nameStr = [NSString stringWithFormat:@"and place_issue_name = '%@'",name];
-            orderStr = @"place_sort";
-            break;
         case RQHomeSubPageType_ClassificationExercise:
-            pageTypeStr = @"class_issue_name";
-            pageTypeByOrderStr = @"class_issue";
-            nameStr = [NSString stringWithFormat:@"and class_issue_name = '%@'",name];
-            orderStr = @"class_sort";
-            break;
+        case RQHomeSubPageType_SequentialPractice:
         case RQHomeSubPageType_SelectedTestQuestions:
-            pageTypeStr = @"excell_issue_name";
-            pageTypeByOrderStr = @"excell_issue";
-            nameStr = [NSString stringWithFormat:@"and excell_issue_name = '%@'",name];
-            orderStr = @"excell_sort";
+//            pageTypeStr = @"excell_issue_name";
+//            pageTypeByOrderStr = @"excell_issue";
+            
+            nameStr = [NSString stringWithFormat:@"(INSTR ( column_all, ',' || '%@' || ',' ) > 0 OR INSTR ( column_all, '%@' || ',' ) = 1 OR INSTR ( column_all, ',' || '%@' ) = ( length( column_all ) - length( ',' || '%@' ) ) + 1 OR column_all = '%@')",colidStr,colidStr,colidStr,colidStr,colidStr];
+            orderStr = @"number";
             break;
             
         default:
@@ -265,7 +279,7 @@ static id rq_questionDBManager = nil;
     
     //     resultSet = [_db executeQuery:@"select * from question_info where answer like '%-%'"];
 
-    NSString *queryStr = [NSString stringWithFormat:@"select * from question_info where %@ and %@ %@ order by %@", queryCarTypeStr, querySubjectTypeStr, nameStr, exerciseTypeStr];
+    NSString *queryStr = [NSString stringWithFormat:@"select * from question_info where %@ and %@ order by %@", queryCarTypeStr, nameStr, exerciseTypeStr];
     
     
     @weakify(queryStr)