JXConstant.m 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702
  1. //
  2. // JXConstant.m
  3. // shiku_im
  4. //
  5. // Created by flyeagleTang on 14-11-7.
  6. // Copyright (c) 2014年 Reese. All rights reserved.
  7. //
  8. #import "JXConstant.h"
  9. #import "FMDatabase.h"
  10. #import "JXMyTools.h"
  11. #define DB_NAME @"constant.db"
  12. @implementation JXConstant
  13. @synthesize country,province,city,cityN;
  14. @synthesize diploma,workexp,salary,nature,scale,cometime,worktype,industry,function;
  15. @synthesize country_name;
  16. @synthesize country_value;
  17. @synthesize province_name;
  18. @synthesize province_value;
  19. @synthesize diploma_name;
  20. @synthesize diploma_value;
  21. @synthesize workexp_name;
  22. @synthesize workexp_value;
  23. @synthesize salary_name;
  24. @synthesize salary_value;
  25. @synthesize nature_name;
  26. @synthesize nature_value;
  27. @synthesize scale_name;
  28. @synthesize scale_value;
  29. @synthesize cometime_name;
  30. @synthesize cometime_value;
  31. @synthesize worktype_name;
  32. @synthesize worktype_value;
  33. @synthesize industry_name;
  34. @synthesize industry_value;
  35. @synthesize function_name;
  36. @synthesize function_value;
  37. @synthesize major;
  38. @synthesize major_name;
  39. @synthesize major_value;
  40. -(id)init{
  41. self = [super init];
  42. NSString *lang = [g_default stringForKey:kLocalLanguage];
  43. if (!lang || lang.length <= 0) {
  44. lang = [JXMyTools getCurrentSysLanguage];
  45. }
  46. _sysLanguage =lang;
  47. _sysName = [self getCurCountryFieldName];
  48. country = [[NSMutableDictionary alloc]init];
  49. city = [[NSMutableDictionary alloc]init];
  50. cityN = [[NSMutableDictionary alloc]init];
  51. country_name = [[NSMutableArray alloc]init];
  52. country_value = [[NSMutableArray alloc]init];
  53. province_name = [[NSMutableArray alloc]init];
  54. province_value = [[NSMutableArray alloc]init];
  55. diploma_name = [[NSMutableArray alloc]init];
  56. diploma_value = [[NSMutableArray alloc]init];
  57. workexp_name = [[NSMutableArray alloc]init];
  58. workexp_value = [[NSMutableArray alloc]init];
  59. salary_name = [[NSMutableArray alloc]init];
  60. salary_value = [[NSMutableArray alloc]init];
  61. nature_name = [[NSMutableArray alloc]init];
  62. nature_value = [[NSMutableArray alloc]init];
  63. scale_name = [[NSMutableArray alloc]init];
  64. scale_value = [[NSMutableArray alloc]init];
  65. cometime_name = [[NSMutableArray alloc]init];
  66. cometime_value = [[NSMutableArray alloc]init];
  67. worktype_name = [[NSMutableArray alloc]init];
  68. worktype_value = [[NSMutableArray alloc]init];
  69. industry_name = [[NSMutableArray alloc]init];
  70. industry_value = [[NSMutableArray alloc]init];
  71. function_name = [[NSMutableArray alloc]init];
  72. function_value = [[NSMutableArray alloc]init];
  73. major_name = [[NSMutableArray alloc]init];
  74. major_value = [[NSMutableArray alloc]init];
  75. _telArea = [[NSMutableArray alloc] init];
  76. _userBackGroundImage = [NSMutableDictionary dictionary];
  77. [self getData];
  78. // [self getTelArea];
  79. //// _sysName = [self getCurCountryFieldName];
  80. //
  81. // self.city = [self getCity];
  82. // self.cityN = [self getCity2];
  83. // self.country = [self getCountrys];
  84. //// self.province = [self getProvince:1];
  85. // self.diploma = [self getDiploma];
  86. // self.workexp = [self getWorkExp];
  87. // self.salary = [self getSalary];
  88. // self.nature = [self getNature];
  89. // self.scale = [self getScale];
  90. // self.cometime = [self getComeTime];
  91. // self.worktype = [self getWorkType];
  92. // self.industry = [self getIndustry];
  93. // self.function = [self getFunction];
  94. // self.major = [self getMajor];
  95. // self.localized = [self getLocalized];
  96. //// [self getProvince:1];
  97. //// [self getCity:430000];
  98. //// [self getArea:430400];
  99. return self;
  100. }
  101. - (void) getData {
  102. [self getTelArea];
  103. // _sysName = [self getCurCountryFieldName];
  104. self.city = [self getCity];
  105. self.cityN = [self getCity2];
  106. self.country = [self getCountrys];
  107. // self.province = [self getProvince:1];
  108. self.diploma = [self getDiploma];
  109. self.workexp = [self getWorkExp];
  110. self.salary = [self getSalary];
  111. self.nature = [self getNature];
  112. self.scale = [self getScale];
  113. self.cometime = [self getComeTime];
  114. self.worktype = [self getWorkType];
  115. self.industry = [self getIndustry];
  116. self.function = [self getFunction];
  117. self.major = [self getMajor];
  118. self.localized = [self getLocalized];
  119. self.userBackGroundImage = [self getUserBackGroundImage];
  120. CGFloat chatFont = [[g_default objectForKey:kChatFont] floatValue];
  121. if (chatFont > 0) {
  122. self.chatFont = chatFont;
  123. }else {
  124. self.chatFont = 15.0;
  125. }
  126. NSString *chatFontName = [g_default objectForKey:kChatFontName];
  127. if (chatFontName != nil) {
  128. self.chatFontName = chatFontName;
  129. }else {
  130. self.chatFontName = @"systemFont";
  131. }
  132. }
  133. - (NSMutableDictionary *)getUserBackGroundImage {
  134. NSString *path = backImage;
  135. NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithContentsOfFile:path];
  136. if (!dict) {
  137. dict = [NSMutableDictionary dictionary];
  138. }
  139. return dict;
  140. }
  141. -(void)dealloc{
  142. self.country = nil;
  143. self.province = nil;
  144. self.city = nil;
  145. self.cityN = nil;
  146. self.diploma = nil;
  147. self.workexp = nil;
  148. self.salary = nil;
  149. self.nature = nil;
  150. self.scale = nil;
  151. self.cometime = nil;
  152. self.worktype = nil;
  153. self.industry = nil;
  154. self.function = nil;
  155. self.major = nil;
  156. self.localized = nil;
  157. self.country_name = nil;
  158. self.country_value = nil;
  159. self.province_name = nil;
  160. self.province_value = nil;
  161. self.diploma_name = nil;
  162. self.diploma_value = nil;
  163. self.workexp_name = nil;
  164. self.workexp_value = nil;
  165. self.salary_name = nil;
  166. self.salary_value = nil;
  167. self.nature_name = nil;
  168. self.nature_value = nil;
  169. self.scale_name = nil;
  170. self.scale_value = nil;
  171. self.cometime_name = nil;
  172. self.cometime_value = nil;
  173. self.worktype_name = nil;
  174. self.worktype_value = nil;
  175. self.industry_name = nil;
  176. self.industry_value = nil;
  177. self.function_name = nil;
  178. self.function_value = nil;
  179. self.major_name = nil;
  180. self.major_value = nil;
  181. [_db close];
  182. // [_db release];
  183. // [super dealloc];
  184. }
  185. - (FMDatabase*)openDB{
  186. if(_db && [_db goodConnection])
  187. return _db;
  188. NSString* s = [NSString stringWithFormat:@"%@%@",imageFilePath,DB_NAME];
  189. [_db close];
  190. // [_db release];
  191. _db = [[FMDatabase alloc] initWithPath:s];
  192. if (![_db open]) {
  193. // NSLog(@"数据库打开失败");
  194. return nil;
  195. };
  196. return _db;
  197. }
  198. // 获取表情包
  199. - (NSMutableArray *)emojiArray {
  200. NSString* sql= [NSString stringWithFormat:@"select filename,english,chinese,sort from emoji order by sort"];
  201. FMDatabase *db = [self openDB];
  202. FMResultSet *rs = [db executeQuery:sql];
  203. NSMutableArray *dataArr = [NSMutableArray array];
  204. while ([rs next]) {
  205. NSMutableDictionary *dic = [NSMutableDictionary dictionary];
  206. [dic setObject:[rs stringForColumn:@"filename"] forKey:@"filename"];
  207. [dic setObject:[rs stringForColumn:@"english"] forKey:@"english"];
  208. [dic setObject:[rs stringForColumn:@"chinese"] forKey:@"chinese"];
  209. [dataArr addObject:dic];
  210. }
  211. return dataArr;
  212. }
  213. #pragma mark----获取语言字典
  214. -(NSMutableDictionary*) getLocalized{
  215. // NSString *language = [JXMyTools getCurrentSysLanguage];
  216. NSString* sql= [NSString stringWithFormat:@"select ios,%@ from lang",_sysName];
  217. FMDatabase *db = [self openDB];
  218. FMResultSet *rs = [db executeQuery:sql];
  219. NSMutableDictionary *dict = [NSMutableDictionary dictionary];
  220. while ([rs next]) {
  221. // NSMutableDictionary *dic = [NSMutableDictionary dictionary];
  222. // NSString *valueStr = [rs stringForColumn:@"ios"];
  223. // [dic setObject:[rs stringForColumn:@"zh"] forKey:@"zh"];
  224. // [dic setObject:[rs stringForColumn:@"big5"] forKey:@"big5"];
  225. // [dic setObject:[rs stringForColumn:@"en"] forKey:@"en"];
  226. // [dict setObject:dic forKey:valueStr];
  227. [dict setObject:[rs stringForColumn:_sysName] forKey:[rs stringForColumn:@"ios"]];
  228. }
  229. return dict;
  230. }
  231. -(NSMutableDictionary*) getCountrys{
  232. // NSString *language = [self getLanguage];
  233. NSString* sql= [NSString stringWithFormat:@"select %@,id from tb_areas where type=1",_sysLanguage];
  234. return [self doGetDict1:sql name:country_name value:country_value];
  235. }
  236. -(NSMutableDictionary*) getProvince:(int)countryId{
  237. [province_name removeAllObjects];
  238. [province_value removeAllObjects];
  239. // NSString *language = [self getLanguage];
  240. NSString* sql= [NSString stringWithFormat:@"select %@,id from tb_areas where type=2 and parent_Id=%d order by id",@"name",countryId];
  241. return [self doGetDict1:sql name:province_name value:province_value];
  242. }
  243. -(NSMutableDictionary*) getCity2{
  244. NSString* sql= [NSString stringWithFormat:@"select name,id from tb_areas"];
  245. return [self doGetDict2:sql name:nil value:nil];
  246. }
  247. -(NSMutableDictionary*) getCity{
  248. // NSString *language = [self getLanguage];
  249. NSString* sql= [NSString stringWithFormat:@"select %@,id from tb_areas",@"name"];
  250. return [self doGetDict1:sql name:nil value:nil];
  251. }
  252. -(NSMutableDictionary*) getCity:(int)provinceId{
  253. // NSString *language = [self getLanguage];
  254. NSMutableDictionary* dict = [[NSMutableDictionary alloc]init];
  255. FMDatabase* db = [self openDB];
  256. NSString* sql= [NSString stringWithFormat:@"select %@,id from tb_areas where type=3 and parent_Id=%d",@"name",provinceId];
  257. FMResultSet *rs=[db executeQuery:sql];
  258. while ([rs next]) {
  259. [dict setObject:[rs objectForColumnName:@"name"] forKey:[self formatId:[rs objectForColumnName:@"id"]]];
  260. }
  261. return dict;
  262. }
  263. -(NSMutableDictionary*) getArea:(int)cityId{
  264. // NSString *language = [self getLanguage];
  265. NSMutableDictionary* dict = [[NSMutableDictionary alloc]init];
  266. FMDatabase* db = [self openDB];
  267. NSString* sql= [NSString stringWithFormat:@"select %@,id from tb_areas where type=4 and parent_Id=%d",_sysLanguage,cityId];
  268. FMResultSet *rs=[db executeQuery:sql];
  269. while ([rs next]) {
  270. [dict setObject:[rs objectForColumnName:_sysLanguage] forKey:[self formatId:[rs objectForColumnName:@"id"]]];
  271. }
  272. return dict;
  273. }
  274. -(NSMutableDictionary*) getDiploma{
  275. return [self doGetDict:1 name:diploma_name value:diploma_value];
  276. }
  277. -(NSMutableDictionary*) getWorkExp{
  278. return [self doGetDict:2 name:workexp_name value:workexp_value];
  279. }
  280. -(NSMutableDictionary*) getSalary{
  281. return [self doGetDict:3 name:salary_name value:salary_value];
  282. }
  283. -(NSMutableDictionary*) getNature{
  284. return [self doGetDict:32 name:nature_name value:nature_value];
  285. }
  286. -(NSMutableDictionary*) getScale{
  287. return [self doGetDict:44 name:scale_name value:scale_value];
  288. }
  289. -(NSMutableDictionary*) getComeTime{
  290. return [self doGetDict:52 name:cometime_name value:cometime_value];
  291. }
  292. -(NSMutableDictionary*) getWorkType{
  293. return [self doGetDict:59 name:worktype_name value:worktype_value];
  294. }
  295. -(NSMutableDictionary*) getIndustry{
  296. NSMutableDictionary* d = [[NSMutableDictionary alloc]init];
  297. [self getTree:63 name:industry_name value:industry_value];
  298. for (int i=0; i<[industry_name count]; i++) {
  299. [d setObject:[industry_name objectAtIndex:i] forKey:[industry_value objectAtIndex:i]];
  300. }
  301. return d;
  302. }
  303. -(NSMutableDictionary*) getFunction{
  304. NSMutableDictionary* d = [[NSMutableDictionary alloc]init];
  305. [self getTree:64 name:function_name value:function_value];
  306. for (int i=0; i<[function_name count]; i++) {
  307. [d setObject:[function_name objectAtIndex:i] forKey:[function_value objectAtIndex:i]];
  308. }
  309. return d;
  310. }
  311. -(NSMutableDictionary*) getMajor{
  312. NSMutableDictionary* d = [[NSMutableDictionary alloc]init];
  313. [self getTree:1005 name:major_name value:major_value];
  314. for (int i=0; i<[major_name count]; i++) {
  315. [d setObject:[major_name objectAtIndex:i] forKey:[major_value objectAtIndex:i]];
  316. }
  317. return d;
  318. }
  319. -(NSMutableDictionary*)doGetDict2:(NSString*)sql name:(NSMutableArray*)name value:(NSMutableArray*)value{
  320. NSMutableDictionary* dict = [[NSMutableDictionary alloc]init];
  321. FMDatabase* db = [self openDB];
  322. FMResultSet *rs=[db executeQuery:sql];
  323. while ([rs next]) {
  324. [name addObject:[rs objectForColumnName:@"id"]];
  325. // NSLog(@"%@",[rs objectForColumnName:@"name"]);
  326. [value addObject:[self formatId:[rs objectForColumnName:@"name"]]];
  327. [dict setObject:[rs objectForColumnName:@"id"] forKey:[self formatId:[rs objectForColumnName:@"name"]]];
  328. }
  329. return dict;
  330. }
  331. -(NSMutableDictionary*)doGetDict1:(NSString*)sql name:(NSMutableArray*)name value:(NSMutableArray*)value{
  332. // NSString *language = [self getLanguage];
  333. NSMutableDictionary* dict = [[NSMutableDictionary alloc]init];
  334. FMDatabase* db = [self openDB];
  335. FMResultSet *rs=[db executeQuery:sql];
  336. while ([rs next]) {
  337. [name addObject:[rs objectForColumnName:@"name"]];
  338. // NSLog(@"%@",[rs objectForColumnName:@"name"]);
  339. [value addObject:[self formatId:[rs objectForColumnName:@"id"]]];
  340. [dict setObject:[rs objectForColumnName:@"name"] forKey:[self formatId:[rs objectForColumnName:@"id"]]];
  341. }
  342. return dict;
  343. }
  344. -(NSMutableDictionary*)doGetDict:(int)n name:(NSMutableArray*)name value:(NSMutableArray*)value{
  345. NSMutableDictionary* dict = [[NSMutableDictionary alloc]init];
  346. FMDatabase* db = [self openDB];
  347. NSString* sql= [NSString stringWithFormat:@"select name,id from tb_constants where parent_Id=%d",n];
  348. FMResultSet *rs=[db executeQuery:sql];
  349. while ([rs next]) {
  350. [name addObject:[rs objectForColumnName:@"name"]];
  351. [value addObject:[self formatId:[rs objectForColumnName:@"id"]]];
  352. [dict setObject:[rs objectForColumnName:@"name"] forKey:[self formatId:[rs objectForColumnName:@"id"]]];
  353. }
  354. return dict;
  355. }
  356. -(void)getNameValues:(int)n name:(NSMutableArray*)name value:(NSMutableArray*)value{
  357. FMDatabase* db = [self openDB];
  358. NSString* sql= [NSString stringWithFormat:@"select name,id from tb_constants where parent_Id=%d",n];
  359. FMResultSet *rs=[db executeQuery:sql];
  360. while ([rs next]) {
  361. [name addObject:[rs objectForColumnName:@"name"]];
  362. [value addObject:[self formatId:[rs objectForColumnName:@"id"]]];
  363. }
  364. }
  365. -(void)getTree:(int)n name:(NSMutableArray*)name value:(NSMutableArray*)value{
  366. FMDatabase* db = [self openDB];
  367. NSString* sql= [NSString stringWithFormat:@"select name,id from tb_constants where parent_Id=%d",n];
  368. FMResultSet *rs=[db executeQuery:sql];
  369. while ([rs next]) {
  370. [name addObject:[rs objectForColumnName:@"name"]];
  371. [value addObject:[self formatId:[rs objectForColumnName:@"id"]]];
  372. [self getTree:[[rs objectForColumnName:@"id"] intValue] name:name value:value];
  373. }
  374. }
  375. -(NSNumber*)formatId:(NSNumber*)n{
  376. // return [NSString stringWithFormat:@"%.6d",[n intValue]];
  377. return n;
  378. }
  379. -(NSArray*)getSortKeys:(NSMutableDictionary*)dict{
  380. NSArray* keys = [dict allKeys];
  381. keys = [keys sortedArrayUsingSelector:@selector(compare:)];
  382. // [keys retain];
  383. return keys;
  384. }
  385. -(NSArray*)getSortValues:(NSMutableDictionary*)dict{
  386. NSArray* keys = [self getSortKeys:dict];
  387. NSMutableArray* values = [[NSMutableArray alloc]init];
  388. for(int i=0;i<[keys count];i++)
  389. [values addObject:[dict objectForKey:[keys objectAtIndex:i]]];
  390. return values;
  391. }
  392. -(NSString*)getAddress:(NSString*)provinceId cityId:(NSString*)cityId areaId:(NSString*)areaId{
  393. NSString* s=nil;
  394. if(provinceId)
  395. s = provinceId;
  396. else
  397. s = @"";
  398. if(cityId){
  399. if(cityId != provinceId){
  400. if (s.length > 0) {
  401. s = [s stringByAppendingString:@"-"];
  402. }
  403. s = [s stringByAppendingString:cityId];
  404. }
  405. }
  406. if(areaId){
  407. if(cityId != areaId){
  408. if (s.length > 0) {
  409. s = [s stringByAppendingString:@"-"];
  410. }
  411. s = [s stringByAppendingString:areaId];
  412. }
  413. }
  414. return s;
  415. }
  416. -(NSString*)getAddressForInt:(int)provinceId cityId:(int)cityId areaId:(int)areaId{
  417. NSString* p = [city objectForKey:[NSNumber numberWithInt:provinceId]];
  418. NSString* c = [city objectForKey:[NSNumber numberWithInt:cityId]];
  419. NSString* a = [city objectForKey:[NSNumber numberWithInt:areaId]];
  420. NSString* address = [self getAddress:p cityId:c areaId:a];
  421. return address;
  422. }
  423. -(NSString*)getAddressForNumber:(NSNumber*)provinceId cityId:(NSNumber*)cityId areaId:(NSNumber*)areaId{
  424. NSString* p = [city objectForKey:provinceId];
  425. NSString* c = [city objectForKey:cityId];
  426. NSString* a = [city objectForKey:areaId];
  427. NSString* address = [self getAddress:p cityId:c areaId:a];
  428. return address;
  429. }
  430. #pragma mark----获取当前语言下的文字
  431. - (NSString *)LocalizedWithStr:(NSString *)str{
  432. // NSString *language = [iLanguage getCurrentSysLanguage];
  433. // NSDictionary *dic = [self.localized objectForKey:str];
  434. NSString *localizedStr = [_localized objectForKey:str];
  435. if (!localizedStr)
  436. localizedStr = [NSString stringWithFormat:@"%@SQL错误",str];
  437. return localizedStr;
  438. }
  439. //- (NSString *)getLanguage{
  440. // NSString *language;
  441. // if ([[JXMyTools getCurrentSysLanguage] isEqualToString:@"en"]) {
  442. // language = @"enName";
  443. // }else{
  444. // language = @"name";
  445. // }
  446. // return language;
  447. //}
  448. - (void)getTelArea{
  449. [_telArea removeAllObjects];
  450. FMDatabase *db = [self openDB];
  451. NSString * sql = nil;
  452. if ([JXMyTools isChineseLanguage:_sysLanguage]) {//
  453. sql = [NSString stringWithFormat:@"select * from SMS_country order by prefix"];
  454. }else{
  455. sql = [NSString stringWithFormat:@"select * from SMS_country order by en"];
  456. }
  457. FMResultSet *rs = [db executeQuery:sql];//查询数据库
  458. while ([rs next]) {
  459. NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
  460. [dict setObject:[self formatId:[rs objectForColumnName:@"id"]] forKey:@"id"];
  461. [dict setObject:[rs objectForColumnName:@"en"] forKey:@"enName"];
  462. [dict setObject:[rs objectForColumnName:@"zh"] forKey:@"country"];
  463. // [dict setObject:[rs objectForColumnName:@"malay"] forKey:@"malay"];
  464. // [dict setObject:[rs objectForColumnName:@"th"] forKey:@"th"];
  465. [dict setObject:[rs objectForColumnName:@"prefix"] forKey:@"prefix"];
  466. [dict setObject:[rs objectForColumnName:@"price"] forKey:@"price"];
  467. [dict setObject:[rs objectForColumnName:@"big5"] forKey:@"big5"];
  468. // [dict setObject:[rs objectForColumnName:@"ja"] forKey:@"ja"];
  469. // [dict setObject:[rs objectForColumnName:@"ko"] forKey:@"ko"];
  470. // [dict setObject:[rs objectForColumnName:@"idy"] forKey:@"idy"];
  471. // [dict setObject:[rs objectForColumnName:@"vi"] forKey:@"vi"];
  472. // [dict setObject:[rs objectForColumnName:@"ms"] forKey:@"ms"];
  473. // [dict setObject:[rs objectForColumnName:@"fy"] forKey:@"fy"];
  474. [_telArea addObject:dict];
  475. }
  476. // FMDatabase *db = [self openDB];
  477. // NSString * lanauage =[[NSString alloc] initWithFormat:@"%@",[JXMyTools getCurrentSysLanguage]];
  478. // NSString * sql = nil;
  479. // if ([lanauage isEqualToString:@"zh"]) {//
  480. // sql = [NSString stringWithFormat:@"select * from SMS_country order by prefix"];
  481. // }else if ([lanauage isEqualToString:@"big5"]) {//
  482. // sql = [NSString stringWithFormat:@"select * from SMS_country order by prefix"];
  483. // }else{
  484. // sql = [NSString stringWithFormat:@"select * from SMS_country order by en"];
  485. // }
  486. //
  487. // FMResultSet *rs = [db executeQuery:sql];//查询数据库
  488. // while ([rs next]) {
  489. // NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
  490. // [dict setObject:[self formatId:[rs objectForColumnName:@"id"]] forKey:@"id"];
  491. // [dict setObject:[rs objectForColumnName:@"en"] forKey:@"enName"];
  492. // [dict setObject:[rs objectForColumnName:@"zh"] forKey:@"country"];
  493. // [dict setObject:[rs objectForColumnName:@"prefix"] forKey:@"prefix"];
  494. // [dict setObject:[rs objectForColumnName:@"price"] forKey:@"price"];
  495. // [dict setObject:[rs objectForColumnName:@"big5"] forKey:@"big5"];
  496. // [_telArea addObject:dict];
  497. // }
  498. }
  499. -(NSString*)getCurCountryFieldName{
  500. NSString * name = nil;
  501. if ([_sysLanguage isEqualToString:@"zh"]) {
  502. name = [[NSString alloc] initWithFormat:@"%@",NAME];
  503. }else if ([_sysLanguage isEqualToString:@"big5"]) {
  504. name = [[NSString alloc] initWithFormat:@"%@",ZHHANTNAME];
  505. }else if ([_sysLanguage isEqualToString:@"malay"]) {
  506. name = [[NSString alloc] initWithFormat:@"%@",MALAYNAME];
  507. }else if ([_sysLanguage isEqualToString:@"th"]) {
  508. name = [[NSString alloc] initWithFormat:@"%@",THNAME];
  509. }
  510. else if ([_sysLanguage isEqualToString:@"en"]){
  511. name = [[NSString alloc] initWithFormat:@"%@",ENNAME];
  512. }
  513. else if ([_sysLanguage isEqualToString:@"ja"]){
  514. name = [[NSString alloc] initWithFormat:@"%@",JANAME];
  515. }
  516. else if ([_sysLanguage isEqualToString:@"ko"]){
  517. name = [[NSString alloc] initWithFormat:@"%@",KONAME];
  518. }
  519. else if ([_sysLanguage isEqualToString:@"idy"]){
  520. name = [[NSString alloc] initWithFormat:@"%@",IDYNAME];
  521. }
  522. else if ([_sysLanguage isEqualToString:@"vi"]){
  523. name = [[NSString alloc] initWithFormat:@"%@",VINAME];
  524. }
  525. else if ([_sysLanguage isEqualToString:@"ms"]){
  526. name = [[NSString alloc] initWithFormat:@"%@",MSNAME];
  527. }
  528. else if ([_sysLanguage isEqualToString:@"fy"]){
  529. name = [[NSString alloc] initWithFormat:@"%@",FYNAME];
  530. }
  531. return name;
  532. // if ([[JXMyTools getCurrentSysLanguage] isEqualToString:@"zh"]) {
  533. // name = [[NSString alloc] initWithFormat:@"%@",@"zh"];
  534. // }else if ([[JXMyTools getCurrentSysLanguage] isEqualToString:@"zhHant"]) {
  535. //
  536. // name = [[NSString alloc] initWithFormat:@"%@",@"big5"];
  537. // }else{
  538. // name = [[NSString alloc] initWithFormat:@"%@",@"en"];
  539. // }
  540. // return name;
  541. }
  542. // 搜索国家区号
  543. - (NSMutableArray *) getSearchTelAreaWithName:(NSString *) name {
  544. FMDatabase* db = [self openDB];
  545. NSMutableArray *array = [NSMutableArray array];
  546. NSString* sql= [NSString stringWithFormat:@"select * from SMS_country where (zh like '%%%@%%' or en like '%%%@%%' or big5 like '%%%@%%') order by %@",name,name,name,_sysName];
  547. FMResultSet *rs=[db executeQuery:sql];
  548. while ([rs next]) {
  549. NSMutableDictionary *dict = [NSMutableDictionary dictionary];
  550. [dict setObject:[self formatId:[rs objectForColumnName:@"id"]] forKey:@"id"];
  551. [dict setObject:[rs objectForColumnName:@"en"] forKey:@"enName"];
  552. [dict setObject:[rs objectForColumnName:@"zh"] forKey:@"country"];
  553. [dict setObject:[rs objectForColumnName:@"prefix"] forKey:@"prefix"];
  554. [dict setObject:[rs objectForColumnName:@"price"] forKey:@"price"];
  555. [dict setObject:[rs objectForColumnName:@"big5"] forKey:@"big5"];
  556. [dict setObject:[rs objectForColumnName:@"big5"] forKey:@"ja"];
  557. [dict setObject:[rs objectForColumnName:@"big5"] forKey:@"ko"];
  558. [dict setObject:[rs objectForColumnName:@"big5"] forKey:@"idy"];
  559. [dict setObject:[rs objectForColumnName:@"big5"] forKey:@"vi"];
  560. [dict setObject:[rs objectForColumnName:@"big5"] forKey:@"ms"];
  561. [dict setObject:[rs objectForColumnName:@"big5"] forKey:@"fy"];
  562. [array addObject:dict];
  563. }
  564. return array;
  565. }
  566. //城市名获取ID
  567. -(NSString*) getCityID:(NSString *)s{
  568. if (s == nil)
  569. return nil;
  570. NSString * str = [[NSString alloc]init];
  571. NSString* sql = [NSString stringWithFormat:@"select id from tb_areas where lower(name)=lower(\"%@\")",s];
  572. FMDatabase* db = [self openDB];
  573. FMResultSet *rs=[db executeQuery:sql];
  574. BOOL isNull = YES;
  575. while ([rs next]) {
  576. str =[rs stringForColumn:@"id"];
  577. isNull = NO;
  578. }
  579. //如果为空,则模糊查询
  580. if (isNull) {
  581. NSArray * arr = [ s componentsSeparatedByCharactersInSet : [NSCharacterSet characterSetWithCharactersInString :@"县区市"]];
  582. NSString * cityNameF = [arr firstObject];
  583. sql= [NSString stringWithFormat:@"select id from tb_areas where lower(name) like lower(\"%%%@%%\")",cityNameF];
  584. FMResultSet *rs=[db executeQuery:sql];
  585. while ([rs next]) {
  586. //直接取最后一个
  587. str = [rs objectForColumnName:@"id"];
  588. }
  589. }
  590. return str;
  591. }
  592. -(NSString *)getParentWithCityId:(int)cityId{
  593. if (cityId <= 0 ) {
  594. return nil;
  595. }
  596. FMDatabase * db = [self openDB];
  597. NSString * sql = [NSString stringWithFormat:@"select parent_id from tb_areas where id=%d",cityId];
  598. FMResultSet * rs = [db executeQuery:sql];
  599. NSString * str = [[NSString alloc]init];
  600. while ([rs next]) {
  601. str = [rs stringForColumn:@"parent_id"];
  602. }
  603. return str;
  604. }
  605. // 重置本地语言
  606. - (void) resetlocalized {
  607. NSString *lang = [g_default stringForKey:kLocalLanguage];
  608. if (!lang || lang.length <= 0) {
  609. lang = [JXMyTools getCurrentSysLanguage];
  610. }
  611. _sysLanguage =lang;
  612. _sysName = [self getCurCountryFieldName];
  613. [self getData];
  614. // 重置皮肤单例
  615. [g_theme resetInstence];
  616. }
  617. @end