Files
2026-07-13 12:35:01 +08:00

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