Commit 60e090ba by zhangyunjie

时序排序

parent cf0bfd16
//
//
......@@ -114,7 +114,9 @@ static OffcnIMSDKiOS *liveTelecastSDK;
-(void)sendMsgWithMsg_fromID:(NSString *)msg_fromID msg_toID:(NSString *)msg_toID msg_type:(OffcnSDKMsgType)msg_type text:(NSString *)text filePath:(NSString *)filePath Finished:(void(^)(BOOL success,OffcnIMSendMsgModel *sendMsgModel,NSString *errorMessage))finished ProgressPercent:(void(^)(NSString *key, float percent))progressPercent{
KWeakSelf
NSString *tidStr = [NSString stringWithFormat:@"%@_%@",msg_toID,[SDGeneralTool getNowSSSTimeTimestamp]];
NSString *msg_seqStr = [SDGeneralTool getNowSSSTimeTimestamp];
NSString *send_timeStr = [SDGeneralTool getIMAllTimeWithSeconds:[msg_seqStr integerValue]];
NSString *tidStr = [NSString stringWithFormat:@"%@__%@",msg_toID,msg_seqStr];
if (msg_type == OffcnSDKMsgTypeText) {
if (!text || !text.length) {
......@@ -127,6 +129,8 @@ static OffcnIMSDKiOS *liveTelecastSDK;
BodyModel.msg_to = msg_toID;
BodyModel.msg_type = msg_type;
BodyModel.tid = tidStr;
BodyModel.msg_seq = [msg_seqStr integerValue];
BodyModel.send_time = send_timeStr;
MsgModel.msg = text;
BodyModel.msg = MsgModel;
BodyModel.isSentSuccess = 0;
......@@ -152,6 +156,8 @@ static OffcnIMSDKiOS *liveTelecastSDK;
BodyModel.msg_to = msg_toID;
BodyModel.msg_type = msg_type;
BodyModel.tid = tidStr;
BodyModel.msg_seq = [msg_seqStr integerValue];
BodyModel.send_time = send_timeStr;
BodyModel.isSentSuccess = 0;
BodyModel.bymyself = 1;
BodyModel.isRead = 0;
......@@ -227,6 +233,8 @@ static OffcnIMSDKiOS *liveTelecastSDK;
BodyModel.msg_to = msg_toID;
BodyModel.msg_type = msg_type;
BodyModel.tid = tidStr;
BodyModel.msg_seq = [msg_seqStr integerValue];
BodyModel.send_time = send_timeStr;
BodyModel.isSentSuccess = 0;
BodyModel.bymyself = 1;
BodyModel.isRead = 0;
......
//
//
......@@ -44,7 +44,7 @@ static OffcnIMZYJFMDBHandler *FMDBHandler;
_database = getFMDBInstance();
}
NSString *creatChatListSqlStr = @"create table chatlist(msg_fromId varchar(100), msg_toId varchar(100),tid varchar(100),session_id varchar(100),msg_id varchar (100),msg_type varchar(10),lastmessage varchar (500),lastSendtime varchar (50),primary key(msg_fromId))";
NSString *creatChatListSqlStr = @"create table chatlist(msg_fromId varchar(100), msg_toId varchar(100),tid varchar(100),session_id varchar(100),msg_id varchar (100),msg_type varchar(10),lastmessage varchar (500),lastSendtime varchar (50),msg_seq varchar(100),primary key(msg_fromId))";
NSString *creatChatInfoSqlStr = @"create table chatinfo(ID integer PRIMARY KEY AUTOINCREMENT,msg_fromId varchar(100),msg_toId varchar(100),tid varchar(100),session_id varchar(100),msg_id varchar (100),version varchar(10),send_time varchar(50),msg_seq varchar(100),msg_scope varchar (10),msg_type varchar(10),msg varchar(500),dur varchar(30),name varchat(500),md5 varchar(500),url varchar (500),thumb_url varchar(500),cover_url varchar(500),ext varchar(30),w varchar (10),h varchar(10),size varchar(10),isSentSuccess integer,bymyself integer,isRead integer)";
......@@ -87,8 +87,8 @@ static OffcnIMZYJFMDBHandler *FMDBHandler;
}
[_database inDatabase:^(ZYJZYJFMDatabase *db) {
NSString *sql = @"update chatinfo set isSentSuccess = ?,msg_id = ?,send_time = ?,session_id = ?,msg = ?,name = ?,md5 = ?,url = ?,thumb_url = ?,cover_url = ?,ext = ?,w = ?,h = ?,size = ?,dur = ? where tid = ?";
BOOL result = [db executeUpdate:sql,[NSNumber numberWithInteger:messageModel.isSentSuccess],messageModel.msg_id,messageModel.send_time,messageModel.session_id,messageModel.msg.msg,messageModel.msg.name,messageModel.msg.md5,messageModel.msg.url,messageModel.msg.thumb_url,messageModel.msg.cover_url,messageModel.msg.ext,[NSNumber numberWithInteger:messageModel.msg.w],[NSNumber numberWithInteger:messageModel.msg.h],[NSNumber numberWithInteger:messageModel.msg.size],[NSNumber numberWithInteger:messageModel.msg.dur],messageModel.tid];
NSString *sql = @"update chatinfo set isSentSuccess = ?,msg_id = ?,send_time = ?,msg_seq = ?,session_id = ?,msg = ?,name = ?,md5 = ?,url = ?,thumb_url = ?,cover_url = ?,ext = ?,w = ?,h = ?,size = ?,dur = ? where tid = ?";
BOOL result = [db executeUpdate:sql,[NSNumber numberWithInteger:messageModel.isSentSuccess],messageModel.msg_id,messageModel.send_time,[NSNumber numberWithInteger:messageModel.msg_seq],messageModel.session_id,messageModel.msg.msg,messageModel.msg.name,messageModel.msg.md5,messageModel.msg.url,messageModel.msg.thumb_url,messageModel.msg.cover_url,messageModel.msg.ext,[NSNumber numberWithInteger:messageModel.msg.w],[NSNumber numberWithInteger:messageModel.msg.h],[NSNumber numberWithInteger:messageModel.msg.size],[NSNumber numberWithInteger:messageModel.msg.dur],messageModel.tid];
if (!result) {
NSLog(@"error when insert into database table");
......@@ -123,16 +123,16 @@ static OffcnIMZYJFMDBHandler *FMDBHandler;
BOOL result = NO;
if (tmpDataArray.count) {
NSString *sqlStr = @"update chatlist set lastmessage = ?,lastSendtime = ?,session_id = ?,tid = ?,msg_id = ?,msg_type = ? where msg_fromId = ? and msg_toId = ?";
NSString *sqlStr = @"update chatlist set lastmessage = ?,lastSendtime = ?,msg_seq = ?,session_id = ?,tid = ?,msg_id = ?,msg_type = ? where msg_fromId = ? and msg_toId = ?";
NSString *lastmessage = [self lastMessage:chatlistModel];
result = [db executeUpdate:sqlStr,lastmessage,chatlistModel.send_time,chatlistModel.session_id,chatlistModel.tid,chatlistModel.msg_id,[NSNumber numberWithInteger:chatlistModel.msg_type],chatlistModel.msg_from,chatlistModel.msg_to];
result = [db executeUpdate:sqlStr,lastmessage,chatlistModel.send_time,[NSNumber numberWithInteger:chatlistModel.msg_seq],chatlistModel.session_id,chatlistModel.tid,chatlistModel.msg_id,[NSNumber numberWithInteger:chatlistModel.msg_type],chatlistModel.msg_from,chatlistModel.msg_to];
//不存在,插库
}else{
NSString *sqlStr = @"insert into chatlist(msg_fromId,msg_toId,tid,session_id,msg_id,msg_type,lastmessage,lastSendtime)values(?,?,?,?,?,?,?,?)";
NSString *sqlStr = @"insert into chatlist(msg_fromId,msg_toId,tid,session_id,msg_id,msg_type,lastmessage,lastSendtime,msg_seq)values(?,?,?,?,?,?,?,?,?)";
NSString *lastmessage = [self lastMessage:chatlistModel];
result = [db executeUpdate:sqlStr,chatlistModel.msg_from,chatlistModel.msg_to,chatlistModel.tid,chatlistModel.session_id,chatlistModel.msg_id,[NSNumber numberWithInteger:chatlistModel.msg_type],lastmessage,chatlistModel.send_time];
result = [db executeUpdate:sqlStr,chatlistModel.msg_from,chatlistModel.msg_to,chatlistModel.tid,chatlistModel.session_id,chatlistModel.msg_id,[NSNumber numberWithInteger:chatlistModel.msg_type],lastmessage,chatlistModel.send_time,[NSNumber numberWithInteger:chatlistModel.msg_seq]];
}
[rs close];
......@@ -170,7 +170,7 @@ static OffcnIMZYJFMDBHandler *FMDBHandler;
getFMDBInstance();
}
NSString *updateStr = @"update chatlist set lastmessage = ?,lastSendtime = ?,msg_type = ? where msg_fromId = ? and msg_toId = ?";
NSString *updateStr = @"update chatlist set lastmessage = ?,lastSendtime = ?,msg_seq = ?,msg_type = ? where msg_fromId = ? and msg_toId = ?";
NSString * listSql = [NSString stringWithFormat:@"delete FROM chatlist where msg_fromId = ? and msg_toId = ?"];
NSString * infoSql = [NSString stringWithFormat:@"delete FROM chatinfo where (msg_fromId =? and msg_toId = ?) or (msg_fromId =? and msg_toId = ?)"];
[_database inDatabase:^(ZYJZYJFMDatabase *db) {
......@@ -190,7 +190,7 @@ static OffcnIMZYJFMDBHandler *FMDBHandler;
break;
case UIClearStylePart: {
[db executeUpdate:updateStr,@"",@"",@"",fromUser,toUser];
[db executeUpdate:updateStr,@"",@"",@"",@"",fromUser,toUser];
[db executeUpdate:infoSql,fromUser,toUser,toUser,fromUser];
}
break;
......@@ -232,8 +232,8 @@ static OffcnIMZYJFMDBHandler *FMDBHandler;
[array removeObject:messageModel];
if (!array.count) {
NSString *sqlStr = @"update chatlist set lastmessage = ?,lastSendtime = ?,msg_type = ? where msg_fromId =? and msg_toId = ?";
BOOL updateSucceed = [db executeUpdate:sqlStr,@"",@"",@"",messageModel.msg_from,messageModel.msg_to];
NSString *sqlStr = @"update chatlist set lastmessage = ?,lastSendtime = ?,msg_seq = ?,msg_type = ? where msg_fromId =? and msg_toId = ?";
BOOL updateSucceed = [db executeUpdate:sqlStr,@"",@"",@"",@"",messageModel.msg_from,messageModel.msg_to];
if (isSuccess) {
isSuccess(updateSucceed);
}
......@@ -244,9 +244,9 @@ static OffcnIMZYJFMDBHandler *FMDBHandler;
OffcnIMBodyModel *lastModel = array[index];
if (lastModel.isSentSuccess) {
NSString *sqlStr = @"update chatlist set lastmessage = ?,lastSendtime = ?,msg_type = ?,tid = ?,session_id = ?,msg_id = ? where msg_fromId =? and msg_toId = ?";
NSString *sqlStr = @"update chatlist set lastmessage = ?,lastSendtime = ?,msg_seq = ?,msg_type = ?,tid = ?,session_id = ?,msg_id = ? where msg_fromId =? and msg_toId = ?";
NSString *lastmessage = [self lastMessage:lastModel];
BOOL updateSucceed = [db executeUpdate:sqlStr,lastmessage,lastModel.send_time,[NSNumber numberWithInteger:lastModel.msg_type],lastModel.tid,lastModel.session_id,lastModel.msg_id,lastModel.msg_from,lastModel.msg_to];
BOOL updateSucceed = [db executeUpdate:sqlStr,lastmessage,lastModel.send_time,[NSNumber numberWithInteger:lastModel.msg_seq],[NSNumber numberWithInteger:lastModel.msg_type],lastModel.tid,lastModel.session_id,lastModel.msg_id,lastModel.msg_from,lastModel.msg_to];
if (isSuccess) {
isSuccess(updateSucceed);
......@@ -282,7 +282,7 @@ static OffcnIMZYJFMDBHandler *FMDBHandler;
getFMDBInstance();
}
NSString * sql = [NSString stringWithFormat:@"SELECT * FROM chatinfo where (msg_fromId =? and msg_toId = ?) or (msg_fromId =? and msg_toId = ?) order by send_time desc limit ?,?"];
NSString * sql = [NSString stringWithFormat:@"SELECT * FROM chatinfo where (msg_fromId =? and msg_toId = ?) or (msg_fromId =? and msg_toId = ?) order by msg_seq desc limit ?,?"];
[_database inDatabase:^(ZYJZYJFMDatabase *db) {
ZYJZYJFMResultSet *rs = [db executeQuery:sql,fromUser,toUser,toUser,fromUser,startIndex,limit];
NSMutableArray *tmpArray = [NSMutableArray array];
......@@ -333,7 +333,7 @@ static OffcnIMZYJFMDBHandler *FMDBHandler;
getFMDBInstance();
}
NSString * sql = [NSString stringWithFormat:@"SELECT * FROM chatlist order by lastSendtime asc"];
NSString * sql = [NSString stringWithFormat:@"SELECT * FROM chatlist order by msg_seq asc"];
[_database inDatabase:^(ZYJZYJFMDatabase *db) {
ZYJZYJFMResultSet *rs = [db executeQuery:sql];
NSMutableArray *tmpArray = [NSMutableArray array];
......@@ -348,6 +348,7 @@ static OffcnIMZYJFMDBHandler *FMDBHandler;
tmpModel.tid = [rs stringForColumn:@"tid"];
tmpModel.session_id = [rs stringForColumn:@"session_id"];
tmpModel.msg_id = [rs stringForColumn:@"msg_id"];
tmpModel.msg_seq = [rs longLongIntForColumn:@"msg_seq"];
[tmpArray addObject:tmpModel];
}
......
//
//
......@@ -42,6 +42,8 @@
+(NSString *)getHHTimeWithSeconds:(NSTimeInterval)s;
+(NSString *)getIMAllTimeWithSeconds:(NSTimeInterval)s;
+ (NSString *)getTimeWithSeconds:(NSTimeInterval)s;
+(NSString *)getTimeWithDate:(NSDate *)date;
......
//
//
......@@ -245,6 +245,12 @@
NSDate *date = [NSDate dateWithTimeIntervalSince1970:s/1000];
return [format stringFromDate:date];
}
+(NSString *)getIMAllTimeWithSeconds:(NSTimeInterval)s{
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [NSDate dateWithTimeIntervalSince1970:s/1000];
return [format stringFromDate:date];
}
+(NSString *)getTimeWithSeconds:(NSTimeInterval)s{
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
......
//
//
......@@ -59,6 +59,7 @@
BodyModel.send_time = SendMsgModel.send_time;
BodyModel.session_id = SendMsgModel.session_id;
BodyModel.tid = SendMsgModel.tid;
BodyModel.msg_seq = [[[tid componentsSeparatedByString:@"__"] lastObject] integerValue];
BodyModel.isSentSuccess = 1;
BodyModel.msg_type = msg_type;
if (msg_type == 1) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment