JXDevice.m 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. //
  2. // JXDevice.m
  3. // shiku_im
  4. //
  5. // Created by p on 2018/6/6.
  6. // Copyright © 2018年 Reese. All rights reserved.
  7. //
  8. #import "JXDevice.h"
  9. #import "FMDatabase.h"
  10. #import "FMResultSet.h"
  11. @implementation JXDevice
  12. static JXDevice *sharedUser;
  13. +(JXDevice*)sharedInstance{
  14. static dispatch_once_t onceToken;
  15. dispatch_once(&onceToken, ^{
  16. sharedUser=[[JXDevice alloc]init];
  17. });
  18. return sharedUser;
  19. }
  20. -(id)init{
  21. self = [super init];
  22. if(self){
  23. }
  24. return self;
  25. }
  26. // 更新其他端isOnLine
  27. - (BOOL) updateIsOnLine:(NSNumber *)isOnLine userId:(NSString *)userId {
  28. NSString* myUserId = g_myself.userId;
  29. FMDatabase* db = [[JXXMPP sharedInstance] openUserDb:myUserId];
  30. NSString* sql = [NSString stringWithFormat:@"update %@ set isOnLine=? where userId=?",@"friend"];
  31. BOOL worked = [db executeUpdate:sql,isOnLine,userId];
  32. return worked;
  33. }
  34. // 更新其他端isSendRecipt
  35. - (BOOL) updateIsSendRecipt:(NSNumber *)isSendRecipt userId:(NSString *)userId {
  36. NSString* myUserId = g_myself.userId;
  37. FMDatabase* db = [[JXXMPP sharedInstance] openUserDb:myUserId];
  38. NSString* sql = [NSString stringWithFormat:@"update %@ set isSendRecipt=? where userId=?",@"friend"];
  39. BOOL worked = [db executeUpdate:sql,isSendRecipt,userId];
  40. return worked;
  41. }
  42. // 查找我的设备
  43. -(NSMutableArray*)fetchAllDeviceFromLocal {
  44. NSString* sql = @"select * from friend where isDevice = 1";
  45. return [self doFetch:sql];
  46. }
  47. -(NSMutableArray*)doFetch:(NSString*)sql
  48. {
  49. NSMutableArray *resultArr=[[NSMutableArray alloc]init];
  50. NSString* myUserId = g_myself.userId;
  51. FMDatabase* db = [[JXXMPP sharedInstance] openUserDb:myUserId];
  52. [super checkTableCreatedInDb:db];
  53. FMResultSet *rs=[db executeQuery:sql];
  54. while ([rs next]) {
  55. JXDevice *user=[[JXDevice alloc] init];
  56. [self userFromDataset:user rs:rs];
  57. // [self userFromDataset:rs];
  58. [resultArr addObject:user];
  59. // [user release];
  60. }
  61. [rs close];
  62. if([resultArr count]==0){
  63. // [resultArr release];
  64. resultArr = nil;
  65. }
  66. return resultArr;
  67. }
  68. @end