97 lines
2.7 KiB
Objective-C
97 lines
2.7 KiB
Objective-C
//
|
|
// TLDBUserStore.m
|
|
// TLChat
|
|
//
|
|
// Created by 李伯坤 on 2017/3/21.
|
|
// Copyright © 2017年 李伯坤. All rights reserved.
|
|
//
|
|
|
|
#import "TLDBUserStore.h"
|
|
#import "TLDBUserStoreSQL.h"
|
|
#import "TLUser.h"
|
|
|
|
@implementation TLDBUserStore
|
|
|
|
- (id)init
|
|
{
|
|
if (self = [super init]) {
|
|
self.dbQueue = [TLDBManager sharedInstance].commonQueue;
|
|
BOOL ok = [self createTable];
|
|
if (!ok) {
|
|
DDLogError(@"DB: 用户表创建失败");
|
|
}
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (BOOL)createTable
|
|
{
|
|
NSString *sqlString = [NSString stringWithFormat:SQL_CREATE_USER_TABLE, USER_TABLE_NAME];
|
|
return [self createTable:USER_TABLE_NAME withSQL:sqlString];
|
|
}
|
|
|
|
|
|
- (BOOL)updateUser:(TLUser *)user
|
|
{
|
|
NSString *sqlString = [NSString stringWithFormat:SQL_UPDATE_USER, USER_TABLE_NAME];
|
|
NSArray *arrPara = [NSArray arrayWithObjects:
|
|
TLNoNilString(user.userID),
|
|
TLNoNilString(user.username),
|
|
TLNoNilString(user.nikeName),
|
|
TLNoNilString(user.avatarURL),
|
|
TLNoNilString(user.remarkName),
|
|
@"", @"", @"", @"", @"", nil];
|
|
BOOL ok = [self excuteSQL:sqlString withArrParameter:arrPara];
|
|
return ok;
|
|
}
|
|
|
|
- (TLUser *)userByID:(NSString *)userID
|
|
{
|
|
NSString *sqlString = [NSString stringWithFormat:SQL_SELECT_USER_BY_ID, USER_TABLE_NAME, userID];
|
|
__block TLUser * user;
|
|
[self excuteQuerySQL:sqlString resultBlock:^(FMResultSet *retSet) {
|
|
while ([retSet next]) {
|
|
user = [self p_createUserByFMResultSet:retSet];
|
|
}
|
|
[retSet close];
|
|
}];
|
|
return user;
|
|
}
|
|
|
|
- (NSArray *)userData
|
|
{
|
|
__block NSMutableArray *data = [[NSMutableArray alloc] init];
|
|
NSString *sqlString = [NSString stringWithFormat:SQL_SELECT_USERS, USER_TABLE_NAME];
|
|
|
|
[self excuteQuerySQL:sqlString resultBlock:^(FMResultSet *retSet) {
|
|
while ([retSet next]) {
|
|
TLUser *user = [self p_createUserByFMResultSet:retSet];
|
|
[data addObject:user];
|
|
}
|
|
[retSet close];
|
|
}];
|
|
|
|
return data;
|
|
}
|
|
|
|
- (BOOL)deleteUsersByUid:(NSString *)uid
|
|
{
|
|
NSString *sqlString = [NSString stringWithFormat:SQL_DELETE_USER, USER_TABLE_NAME, uid];
|
|
BOOL ok = [self excuteSQL:sqlString, nil];
|
|
return ok;
|
|
}
|
|
|
|
#pragma mark - # Private Methods
|
|
- (TLUser *)p_createUserByFMResultSet:(FMResultSet *)retSet
|
|
{
|
|
TLUser *user = [[TLUser alloc] init];
|
|
user.userID = [retSet stringForColumn:@"uid"];
|
|
user.username = [retSet stringForColumn:@"username"];
|
|
user.nikeName = [retSet stringForColumn:@"nikename"];
|
|
user.avatarURL = [retSet stringForColumn:@"avatar"];
|
|
user.remarkName = [retSet stringForColumn:@"remark"];
|
|
return user;
|
|
}
|
|
|
|
@end
|