Commit 5970a5f5 by zhangyunjie

数据库

parent 276beb8f
......@@ -207,8 +207,8 @@
A9D1B31B24F34C25000F4662 /* OffcnIMSocketManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A9D1B31A24F34C25000F4662 /* OffcnIMSocketManager.m */; };
A9D1B32224F50973000F4662 /* OffcnIMModel.m in Sources */ = {isa = PBXBuildFile; fileRef = A9D1B32124F50973000F4662 /* OffcnIMModel.m */; };
A9D1B32E24F7BE7B000F4662 /* OffcnZYJTestDataStorageView.m in Sources */ = {isa = PBXBuildFile; fileRef = A9D1B32C24F7BE7B000F4662 /* OffcnZYJTestDataStorageView.m */; };
A9D1B33124F8996E000F4662 /* oimcore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9D1B32F24F89964000F4662 /* oimcore.framework */; };
A9D1B33224F8996E000F4662 /* oimcore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A9D1B32F24F89964000F4662 /* oimcore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
A9D1B33624FE1652000F4662 /* oimcore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9D1B33424FE164C000F4662 /* oimcore.framework */; };
A9D1B33724FE1652000F4662 /* oimcore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A9D1B33424FE164C000F4662 /* oimcore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
B94FCB1053F8932068A11CC9 /* libPods-OffcnIMSDKiOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 49CE5E230A14D9B821170F61 /* libPods-OffcnIMSDKiOS.a */; };
/* End PBXBuildFile section */
......@@ -219,7 +219,7 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
A9D1B33224F8996E000F4662 /* oimcore.framework in Embed Frameworks */,
A9D1B33724FE1652000F4662 /* oimcore.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
......@@ -646,7 +646,7 @@
A9D1B32124F50973000F4662 /* OffcnIMModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OffcnIMModel.m; sourceTree = "<group>"; };
A9D1B32C24F7BE7B000F4662 /* OffcnZYJTestDataStorageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OffcnZYJTestDataStorageView.m; sourceTree = "<group>"; };
A9D1B32D24F7BE7B000F4662 /* OffcnZYJTestDataStorageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OffcnZYJTestDataStorageView.h; sourceTree = "<group>"; };
A9D1B32F24F89964000F4662 /* oimcore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = oimcore.framework; sourceTree = "<group>"; };
A9D1B33424FE164C000F4662 /* oimcore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = oimcore.framework; sourceTree = "<group>"; };
D7DCDED1DEE7F99F223D5C73 /* Pods-OffcnIMSDKiOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OffcnIMSDKiOS.release.xcconfig"; path = "Target Support Files/Pods-OffcnIMSDKiOS/Pods-OffcnIMSDKiOS.release.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
......@@ -659,7 +659,7 @@
A96621F624EA84230024EB54 /* libsqlite3.tbd in Frameworks */,
A96621F524EA84160024EB54 /* libxml2.tbd in Frameworks */,
A96621EF24EA83A80024EB54 /* SystemConfiguration.framework in Frameworks */,
A9D1B33124F8996E000F4662 /* oimcore.framework in Frameworks */,
A9D1B33624FE1652000F4662 /* oimcore.framework in Frameworks */,
A96621F124EA83B10024EB54 /* CoreTelephony.framework in Frameworks */,
B94FCB1053F8932068A11CC9 /* libPods-OffcnIMSDKiOS.a in Frameworks */,
);
......@@ -698,8 +698,8 @@
A9661B4224EA64EE0024EB54 /* OffcnIMSDKiOS */ = {
isa = PBXGroup;
children = (
A9D1B33424FE164C000F4662 /* oimcore.framework */,
A9662CBF24ECD98B0024EB54 /* OffcnIMSDKiOS.entitlements */,
A9D1B32F24F89964000F4662 /* oimcore.framework */,
A966274724EBA36A0024EB54 /* ExposedInterface-(外放接口) */,
A9661FC824EA7AD10024EB54 /* Common-(宏) */,
A9661F8124EA7AD10024EB54 /* Tools-(工具) */,
......
//
//
......@@ -26,6 +26,8 @@ typedef void(^OffcnIMReceiveConnectStatus)(OffcnIMConnectStatus status,NSString
@interface OffcnIMSocketManager : NSObject
@property (nonatomic, copy) NSString *msg_fromId;//发送消息的用户id
@property (nonatomic, assign) OffcnIMConnectStatus IMConnectStatus;
@property (nonatomic, copy) OffcnIMConnectReceiveMessage connectReceiveMessage;
......
//
//
......@@ -49,9 +49,11 @@ static OffcnIMSocketManager *socketManager;
//建立连接
-(void)connectIMServerWithAccount_id:(NSString *)account_id token:(NSString *)token{
// connection_type = ["kcp", "websocket"]
// connection_type = ["kcp,1281", "websocket,1280"]
// tls = ["disable", "enable"]
self.msg_fromId = account_id;
NSMutableDictionary *dic = [NSMutableDictionary dictionary];
[dic setObjectOnSafe:@"39.102.42.185" forKey:@"server_ip"];
[dic setObjectOnSafe:[NSNumber numberWithInteger:1280] forKey:@"server_port"];
......@@ -82,6 +84,11 @@ static OffcnIMSocketManager *socketManager;
NSString *revStr = [NSString stringWithUTF8String:message];
OffcnIMModel *IMModel = [OffcnIMModel mj_ZYJobjectWithKeyValues:revStr];
if ([self.msg_fromId isEqualToString:IMModel.body.msg_from]) {
return;
}
NSString *msg_id = IMModel.body.msg_id;
if (!msg_id) {
return;
......
//
//
......@@ -44,9 +44,9 @@ static OffcnIMZYJFMDBHandler *FMDBHandler;
_database = getFMDBInstance();
}
NSString *creatChatListSqlStr = @"create table chatlist(msg_fromId varchar(100), msg_toId 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),primary key(msg_fromId))";
NSString *creatChatInfoSqlStr = @"create table chatinfo(ID integer PRIMARY KEY AUTOINCREMENT,msg_fromId varchar(100),msg_toId 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,tid varchar(100))";
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)";
[_database inDatabase:^(ZYJZYJFMDatabase *db) {
if (![db tableExists:@"chatlist"] && ![db tableExists:@"chatinfo"]) {
......@@ -69,8 +69,8 @@ static OffcnIMZYJFMDBHandler *FMDBHandler;
}
[_database inDatabase:^(ZYJZYJFMDatabase *db) {
NSString *sqlStr = @"insert into chatinfo(msg_fromId,msg_toId,session_id,msg_id,version,send_time,msg_seq,msg_scope,msg_type,msg,dur,name,md5,url,thumb_url,cover_url,ext,w,h,size,isSentSuccess,bymyself,isRead,tid) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
BOOL result = [db executeUpdate:sqlStr,chatModel.msg_from,chatModel.msg_to,chatModel.session_id,chatModel.msg_id,chatModel.version,chatModel.send_time,[NSNumber numberWithInteger:chatModel.msg_seq],[NSNumber numberWithInteger:chatModel.msg_scope],[NSNumber numberWithInteger:chatModel.msg_type],chatModel.msg.msg,chatModel.msg.dur,chatModel.msg.name,chatModel.msg.md5,chatModel.msg.url,chatModel.msg.thumb_url,chatModel.msg.cover_url,chatModel.msg.ext,chatModel.msg.w,chatModel.msg.h,chatModel.msg.size,[NSNumber numberWithInteger:chatModel.isSentSuccess],[NSNumber numberWithInteger:chatModel.bymyself],[NSNumber numberWithInteger:chatModel.isRead],chatModel.tid];
NSString *sqlStr = @"insert into chatinfo(msg_fromId,msg_toId,tid,session_id,msg_id,version,send_time,msg_seq,msg_scope,msg_type,msg,dur,name,md5,url,thumb_url,cover_url,ext,w,h,size,isSentSuccess,bymyself,isRead) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
BOOL result = [db executeUpdate:sqlStr,chatModel.msg_from,chatModel.msg_to,chatModel.tid,chatModel.session_id,chatModel.msg_id,chatModel.version,chatModel.send_time,[NSNumber numberWithInteger:chatModel.msg_seq],[NSNumber numberWithInteger:chatModel.msg_scope],[NSNumber numberWithInteger:chatModel.msg_type],chatModel.msg.msg,chatModel.msg.dur,chatModel.msg.name,chatModel.msg.md5,chatModel.msg.url,chatModel.msg.thumb_url,chatModel.msg.cover_url,chatModel.msg.ext,chatModel.msg.w,chatModel.msg.h,chatModel.msg.size,[NSNumber numberWithInteger:chatModel.isSentSuccess],[NSNumber numberWithInteger:chatModel.bymyself],[NSNumber numberWithInteger:chatModel.isRead]];
if (!result) {
NSLog(@"error when insert into database table");
......@@ -122,18 +122,20 @@ static OffcnIMZYJFMDBHandler *FMDBHandler;
BOOL result = NO;
if (tmpDataArray.count) {
NSString *sqlStr = @"update chatlist set lastmessage = ?,lastSendtime = ?,msg_type = ? where msg_fromId = ? and msg_toId = ?";
NSString *sqlStr = @"update chatlist set lastmessage = ?,lastSendtime = ?,session_id = ? where tid = ? or msg_id = ?";
NSString *lastmessage = [self lastMessage:chatlistModel];
result = [db executeUpdate:sqlStr,lastmessage,chatlistModel.send_time,[NSNumber numberWithInteger:chatlistModel.msg_type],chatlistModel.msg_from,chatlistModel.msg_to];
result = [db executeUpdate:sqlStr,lastmessage,chatlistModel.send_time,chatlistModel.session_id,chatlistModel.tid,chatlistModel.msg_id];
//不存在,插库
}else{
NSString *sqlStr = @"insert into chatlist(msg_fromId,msg_toId,msg_type,lastmessage,lastSendtime)values(?,?,?,?,?)";
NSString *sqlStr = @"insert into chatlist(msg_fromId,msg_toId,tid,session_id,msg_id,msg_type,lastmessage,lastSendtime)values(?,?,?,?,?,?,?,?)";
NSString *lastmessage = [self lastMessage:chatlistModel];
result = [db executeUpdate:sqlStr,chatlistModel.msg_from,chatlistModel.msg_to,[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];
}
[rs close];
if (isSucess) {
isSucess(result);
}
......@@ -241,9 +243,9 @@ static OffcnIMZYJFMDBHandler *FMDBHandler;
OffcnIMBodyModel *lastModel = array[index];
if (lastModel.isSentSuccess) {
NSString *sqlStr = @"update chatlist set lastmessage = ?,lastSendtime = ?,msg_type = ? where msg_fromId =? and msg_toId = ?";
NSString *sqlStr = @"update chatlist set lastmessage = ?,lastSendtime = ?,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.msg_from,lastModel.msg_to];
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];
if (isSuccess) {
isSuccess(updateSucceed);
......@@ -288,6 +290,7 @@ static OffcnIMZYJFMDBHandler *FMDBHandler;
OffcnIMMsgModel *tmpContentModel = [[OffcnIMMsgModel alloc]init];
tmpModel.msg_from = [rs stringForColumn:@"msg_fromId"];
tmpModel.msg_to = [rs stringForColumn:@"msg_toId"];
tmpModel.tid = [rs stringForColumn:@"tid"];
tmpModel.session_id = [rs stringForColumn:@"session_id"];
tmpModel.msg_id = [rs stringForColumn:@"msg_id"];
tmpModel.version = [rs stringForColumn:@"version"];
......@@ -313,6 +316,8 @@ static OffcnIMZYJFMDBHandler *FMDBHandler;
tmpModel.msg = tmpContentModel;
[tmpArray addObject:tmpModel];
}
[rs close];
//回调历史消息记录
if (messagesBack) {
// NSArray* reversedArray = [[tmpArray reverseObjectEnumerator] allObjects];
......@@ -339,8 +344,13 @@ static OffcnIMZYJFMDBHandler *FMDBHandler;
tmpModel.msg_type = [rs intForColumn:@"msg_type"];
tmpModel.lastmessage = [rs stringForColumn:@"lastmessage"];
tmpModel.lastSendtime = [rs stringForColumn:@"lastSendtime"];
tmpModel.tid = [rs stringForColumn:@"tid"];
tmpModel.session_id = [rs stringForColumn:@"session_id"];
tmpModel.msg_id = [rs stringForColumn:@"msg_id"];
[tmpArray addObject:tmpModel];
}
[rs close];
//回调历史消息记录
if (messagesBack) {
......
//
//
......@@ -52,25 +52,19 @@
OffcnIMSendMsgModel *SendMsgModel = [OffcnIMSendMsgModel mj_ZYJobjectWithKeyValues:baseResponse.responseObject];
OffcnIMBodyModel *BodyModel = [[OffcnIMBodyModel alloc] init];
BodyModel.msg_from = msg_fromID;
BodyModel.msg_to = msg_toID;
BodyModel.msg_id = SendMsgModel.msg_id;
BodyModel.send_time = SendMsgModel.send_time;
BodyModel.session_id = SendMsgModel.session_id;
BodyModel.tid = tid;
BodyModel.tid = SendMsgModel.tid;
BodyModel.isSentSuccess = 1;
[[OffcnIMZYJFMDBHandler sharedInstance] updateChatInfoIsSendStatusToFMDBWithModel:BodyModel isSuccess:nil];
[[OffcnIMZYJFMDBHandler sharedInstance] chatlistCacheInfo:BodyModel callback:nil];
finished(YES,SendMsgModel,nil);
}else{
OffcnIMBodyModel *BodyModel = [[OffcnIMBodyModel alloc] init];
BodyModel.msg_id = @"";
BodyModel.send_time = @"";
BodyModel.session_id = @"";
BodyModel.tid = tid;
BodyModel.isSentSuccess = 0;
[[OffcnIMZYJFMDBHandler sharedInstance] updateChatInfoIsSendStatusToFMDBWithModel:BodyModel isSuccess:nil];
finished(NO,nil,baseResponse);
}
}];
......
......@@ -36,9 +36,9 @@
self.changeEnvironmentBtn.selected = [OffcnIMSDKiOS defaultService].isTest;
self.sendIDTextField.text = @"jfdfjei0343";
self.recvIDTextField.text = @"ce0819db8391f1e7258a71cc9e2c3235";
self.sendIDTextField.text = @"ce0819db8391f1e7258a71cc9e2c3235";
self.sendTokenTextField.text = @"fadbce3f4929b6bdee0617fee34e32ae";
self.recvIDTextField.text = @"ceb7383519c5b6a1c8579553f01ad9c4";
self.fromId = self.sendIDTextField.text;
self.toId = self.recvIDTextField.text;
......@@ -60,7 +60,7 @@
}
- (IBAction)connectAction:(UIButton *)sender {
//建立连接
[[OffcnIMSocketManager defaultService] connectIMServerWithAccount_id:self.toId token:self.sendTokenTextField.text];
[[OffcnIMSocketManager defaultService] connectIMServerWithAccount_id:self.fromId token:self.sendTokenTextField.text];
__weak typeof(self) weakSelf = self;
[OffcnIMSocketManager defaultService].connectReceiveMessage = ^(OffcnIMModel *IMModel) {
......
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