|
@@ -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)
|