123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- //
- // JXUserPublicKeyObj.m
- // shiku_im
- //
- // Created by p on 2019/8/7.
- // Copyright © 2019 Reese. All rights reserved.
- //
- #import "JXUserPublicKeyObj.h"
- #import "FMDatabase.h"
- #import "FMResultSet.h"
- @interface JXUserPublicKeyObj()
- @property (nonatomic, copy) NSString *tableName;
- @end
- @implementation JXUserPublicKeyObj
- +(instancetype)sharedManager {
- static dispatch_once_t onceToken;
- static JXUserPublicKeyObj *instance;
- dispatch_once(&onceToken, ^{
- instance = [[JXUserPublicKeyObj alloc] init];
- });
- return instance;
- }
- - (instancetype)init {
- if ([super init]) {
- _tableName = @"PublicKey";
- }
-
- return self;
- }
- -(NSString*)getTableName{
- return @"PublicKey";
- }
- -(BOOL)checkTableCreatedInDb:(FMDatabase *)db
- {
- NSString *createStr=[NSString stringWithFormat:@"CREATE TABLE IF NOT EXISTS '%@' ('userId' VARCHAR,'publicKey' VARCHAR,'keyCreateTime' DATETIME DEFAULT 0)",[self getTableName]];
-
- BOOL worked = [db executeUpdate:createStr];
- return worked;
- }
- //数据库增删改查
- -(BOOL)insert {
- NSString* myUserId = MY_USER_ID;
- FMDatabase* db = [[JXXMPP sharedInstance] openUserDb:myUserId];
- [self checkTableCreatedInDb:db];
-
- NSString *insertStr=[NSString stringWithFormat:@"INSERT INTO '%@' ('userId','publicKey','keyCreateTime') VALUES (?,?,?)",[self getTableName]];
- BOOL worked = [db executeUpdate:insertStr,self.userId,self.publicKey,self.keyCreateTime];
-
- return worked;
- }
- -(BOOL)delete {
-
- NSString* myUserId = MY_USER_ID;
- FMDatabase* db = [[JXXMPP sharedInstance] openUserDb:myUserId];
- [self checkTableCreatedInDb:db];
- NSString *sql = [NSString stringWithFormat:@"delete from %@ where publicKey=?",[self getTableName]];
- BOOL worked=[db executeUpdate:sql,self.publicKey];
- return worked;
- }
- // 获取好友的公钥列表
- - (NSMutableArray *)fetchPublicKeyWithUserId:(NSString *)userId {
- NSMutableArray *resultArr=[[NSMutableArray alloc]init];
- NSString* myUserId = MY_USER_ID;
- FMDatabase* db = [[JXXMPP sharedInstance] openUserDb:myUserId];
- [self checkTableCreatedInDb:db];
- NSString *sql = @"select * from PublicKey where userId = ? order by keyCreateTime desc";
- FMResultSet *rs=[db executeQuery:sql,userId];
- while ([rs next]) {
- JXUserPublicKeyObj *obj=[[JXUserPublicKeyObj alloc] init];
- obj.userId = [rs stringForColumn:@"userId"];
- obj.publicKey = [rs stringForColumn:@"publicKey"];
- obj.keyCreateTime = [rs dateForColumn:@"keyCreateTime"];
- [resultArr addObject:obj];
- }
-
- return resultArr;
- }
- // 删除好友的公钥列表
- - (BOOL)deletePublicKeyWIthUserId:(NSString *)userId {
-
- NSString* myUserId = MY_USER_ID;
- FMDatabase* db = [[JXXMPP sharedInstance] openUserDb:myUserId];
- [self checkTableCreatedInDb:db];
- NSString *sql = [NSString stringWithFormat:@"delete from %@ where userId=?",[self getTableName]];
- BOOL worked=[db executeUpdate:sql,userId];
- return worked;
- }
- @end
|