public AntSdkTsession GetModelByKey(string key) { try { AntSdkTsession session = null; string selectStr = string.Format("select * from T_Session where SessionId= '{0}'", key); using (SQLiteConnection conn = new SQLiteConnection(AntSdkSqliteHelper.ConnStr(AntSdkService.AntSdkConfigInfo.AntSdkCompanyCode, AntSdkService.AntSdkLoginOutput.userId))) { SQLiteDataReader dataReader = AntSdkSqliteHelper.ExecuteReader(conn, selectStr); if (dataReader == null) { return(null); } if (dataReader.Read()) { //"(SESSIONID VARCHAR(64),USERID VARCHAR(64),GROUPID VARCHAR(64),UNREADCOUNT INT, LASTMSG VARCHAR(4000), LASTMSGTIMESTAMP VARCHAR(64),LASTCHATINDEX VARCHAR(64),BURNUNREADCOUNT INT, BURNLASTMSG VARCHAR(4000), BURNLASTMSGTIMESTAMP VARCHAR(64),BURNLASTCHATINDEX VARCHAR(64),PRIMARY KEY(SESSIONID))"; session = new AntSdkTsession(); session.SessionId = dataReader.GetValue(0).ToString(); session.UserId = dataReader.GetValue(1).ToString(); session.GroupId = dataReader.GetValue(2).ToString(); session.UnreadCount = dataReader.GetInt32(3); session.LastMsg = dataReader.GetValue(4).ToString(); session.LastMsgTimeStamp = dataReader.GetValue(5).ToString(); session.LastChatIndex = dataReader.GetValue(6).ToString(); session.BurnUnreadCount = dataReader.GetInt32(7); session.BurnLastMsg = dataReader.GetValue(8).ToString(); session.BurnLastMsgTimeStamp = dataReader.GetValue(9).ToString(); session.BurnLastChatIndex = dataReader.GetValue(10).ToString(); session.IsBurnMode = dataReader.GetInt32(11); if (dataReader["topIndex"] == DBNull.Value) { session.TopIndex = null; } else { session.TopIndex = dataReader.GetInt32(12); } } dataReader.Close(); return(session); } } catch (Exception ex) { LogHelper.WriteError("[T_SessionDAL_GetModelByKey]" + ex.Message); return(null); } }
/// <summary> /// 方法说明:获取上一条消息 /// </summary> /// <param name="chatIndex">消息索引</param> /// <param name="sessionId"></param> /// <returns></returns> public AntSdkChatMsg.ChatBase GetBeforeRecordByChatIndex(string chatIndex, string sessionId) { var selectStr = $"select * from t_chat_message where chatIndex<>'{chatIndex}' and sendtime<>'' and sendtime not null and sessionId='{sessionId}' order by rowid desc limit 0,1"; AntSdkChatMsg.ChatBase chatMsg = null; using ( SQLiteConnection conn = new SQLiteConnection(AntSdkSqliteHelper.ConnStr(AntSdkService.AntSdkConfigInfo.AntSdkCompanyCode, AntSdkService.AntSdkLoginOutput.userId))) { var dataReader = AntSdkSqliteHelper.ExecuteReader(conn, selectStr); if (dataReader == null) { return(null); } if (dataReader.Read()) { chatMsg = new AntSdkChatMsg.ChatBase { MsgType = (AntSdkMsgType)long.Parse(dataReader.GetValue(0).ToString()), chatIndex = dataReader.GetValue(1).ToString(), sourceContent = dataReader.GetValue(2).ToString(), messageId = dataReader.GetValue(3).ToString(), sendTime = dataReader.GetValue(4).ToString(), sendUserId = dataReader.GetValue(5).ToString(), sessionId = dataReader.GetValue(6).ToString(), targetId = dataReader.GetValue(7).ToString(), SENDORRECEIVE = dataReader.GetValue(8).ToString(), sendsucessorfail = int.Parse(dataReader.GetValue(9).ToString()), flag = int.Parse(dataReader.GetValue(10).ToString()), readtime = dataReader.GetValue(11).ToString(), uploadOrDownPath = dataReader.GetValue(12).ToString(), }; dataReader.Close(); } } if (chatMsg == null) { return(null); } //处理返回 return(AntSdkChatMsg.GetAntSdkSpecificChatMsg(chatMsg)); }
/// <summary> /// 方法说明:根据投票或活动ID获取一条消息 /// </summary> /// <param name="voteOrActivityId">投票或活动ID</param> /// <param name="sessionId"></param> /// <param name="msgType">消息类型码</param> /// <param name="companyCode"></param> /// <param name="userId"></param> /// <returns></returns> public AntSdkChatMsg.ChatBase GetGroupMsgByVoteOrActivityId(string voteOrActivityId, string sessionId, string msgType, string companyCode, string userId) { var selectStr = $"select * from t_chat_message_group where MTP='" + msgType + "' AND SESSIONID='" + sessionId + "' AND SPARE1='" + voteOrActivityId + "'"; AntSdkChatMsg.ChatBase chatMsg = null; using ( SQLiteConnection conn = new SQLiteConnection(AntSdkSqliteHelper.ConnStr(AntSdkService.AntSdkConfigInfo.AntSdkCompanyCode, AntSdkService.AntSdkLoginOutput.userId))) { var dataReader = AntSdkSqliteHelper.ExecuteReader(conn, selectStr); if (dataReader == null) { return(null); } if (dataReader.Read()) { chatMsg = new AntSdkChatMsg.ChatBase { MsgType = (AntSdkMsgType)long.Parse(dataReader.GetValue(0).ToString()), chatIndex = dataReader.GetValue(1).ToString(), sourceContent = dataReader.GetValue(2).ToString(), messageId = dataReader.GetValue(3).ToString(), sendTime = dataReader.GetValue(4).ToString(), sendUserId = dataReader.GetValue(5).ToString(), sessionId = dataReader.GetValue(6).ToString(), targetId = dataReader.GetValue(7).ToString(), SENDORRECEIVE = dataReader.GetValue(8).ToString(), sendsucessorfail = int.Parse(dataReader.GetValue(9).ToString()), //flag = int.Parse(dataReader.GetValue(10).ToString()), //readtime = dataReader.GetValue(11).ToString(), //uploadOrDownPath = dataReader.GetValue(12).ToString() }; dataReader.Close(); } } if (chatMsg == null) { return(null); } //处理返回 return(AntSdkChatMsg.GetAntSdkSpecificChatMsg(chatMsg)); }