JXShareUser.m 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. //
  2. // JXShareUser.m
  3. // share
  4. //
  5. // Created by 1 on 2019/3/21.
  6. // Copyright © 2019年 Reese. All rights reserved.
  7. //
  8. #import "JXShareUser.h"
  9. #import "FMDatabase.h"
  10. @implementation JXShareUser
  11. static JXShareUser *_user = nil;
  12. + (instancetype)shareInstance {
  13. static dispatch_once_t onceToken;
  14. dispatch_once(&onceToken, ^{
  15. _user = [[JXShareUser alloc] init];
  16. });
  17. return _user;
  18. }
  19. - (NSArray *)getAllUser {
  20. NSMutableArray *listArr = [[NSMutableArray alloc] init];
  21. NSString *userId = [share_defaults objectForKey:kMY_ShareExtensionUserId];
  22. //获取分组的共享目录
  23. NSFileManager *manager = [NSFileManager defaultManager];
  24. NSURL *groupURL = [manager containerURLForSecurityApplicationGroupIdentifier:APP_GROUP_ID];
  25. NSString *fileName = [NSString stringWithFormat:@"%@.db",userId];
  26. NSURL *fileURL = [groupURL URLByAppendingPathComponent:fileName];
  27. //写入文件
  28. // [copyPath writeToURL:fileURL atomically:YES encoding:NSUTF8StringEncoding error:nil];
  29. // NSLog(@"------ path: %@",fileName.lastPathComponent);
  30. //读取文件
  31. NSString *path = [fileURL.absoluteString substringFromIndex:7];
  32. NSLog(@"str = %@", path);
  33. FMDatabase *dataBase = [FMDatabase databaseWithPath:path];
  34. [dataBase open];
  35. NSString *queryString=[NSString stringWithFormat:@"select * from friend where (status=8 or status=2) and length(content)>0 and userId != %@ order by topTime desc, timeSend desc", @"10001"];
  36. FMResultSet *result = [dataBase executeQuery:queryString];
  37. while ([result next]) {
  38. JXShareUser *user=[[JXShareUser alloc]init];
  39. [user userFromDataset:user rs:result];
  40. [listArr addObject:user];
  41. }
  42. return [listArr mutableCopy];
  43. }
  44. - (void)userFromDataset:(JXShareUser*)obj rs:(FMResultSet*)rs{
  45. obj.userId=[rs stringForColumn:@"userId"];
  46. obj.roomId=[rs stringForColumn:@"roomId"];
  47. obj.userNickname=[rs stringForColumn:@"userNickname"];
  48. obj.remarkName=[rs stringForColumn:@"remarkName"];
  49. obj.role=[rs objectForColumnName:@"role"];
  50. }
  51. // 搜索聊天记录
  52. -(NSArray <JXShareUser *>*)fetchSearchUserWithString:(NSString *)str {
  53. NSString *userId = [share_defaults objectForKey:kMY_ShareExtensionUserId];
  54. //获取分组的共享目录
  55. NSFileManager *manager = [NSFileManager defaultManager];
  56. NSURL *groupURL = [manager containerURLForSecurityApplicationGroupIdentifier:APP_GROUP_ID];
  57. NSString *fileName = [NSString stringWithFormat:@"%@.db",userId];
  58. NSURL *fileURL = [groupURL URLByAppendingPathComponent:fileName];
  59. //写入文件
  60. // [copyPath writeToURL:fileURL atomically:YES encoding:NSUTF8StringEncoding error:nil];
  61. // NSLog(@"------ path: %@",fileName.lastPathComponent);
  62. //读取文件
  63. NSString *path = [fileURL.absoluteString substringFromIndex:7];
  64. NSLog(@"str = %@", path);
  65. FMDatabase *dataBase = [FMDatabase databaseWithPath:path];
  66. [dataBase open];
  67. NSString *queryString=[NSString stringWithFormat:@"select * from friend where userNickname like '%%%@%%' order by timeSend desc", str];
  68. FMResultSet *rs=[dataBase executeQuery:queryString];
  69. NSMutableArray * resultArray = [NSMutableArray array];
  70. while ([rs next]) {
  71. JXShareUser *p=[[JXShareUser alloc]init];
  72. [p userFromDataset:p rs:rs];
  73. [resultArray addObject:p];
  74. }
  75. return resultArray;
  76. }
  77. @end