/// <summary> /// 查询记录 /// </summary> /// <param name="session_id"></param> /// <param name="userId"></param> /// <param name="targetid"></param> /// <param name="companyCode"></param> /// <param name="index"></param> /// <param name="pageSize"></param> /// <returns></returns> public DataTable GetDataTable(string session_id, string userId, string targetid, string companyCode, int index, int pageSize) { string selectStr = "select * from (select * from t_chat_message_group where sessionid='" + session_id + "' order by cast(chatindex as int) desc limit " + index + "," + pageSize + ") order by cast(chatindex as int); "; string dbPath = $@"{AntSdkService.SqliteLocalDbPath}{userId}\{userId}.db"; if (File.Exists(dbPath)) { return(AntSdkSqliteHelper.ExecuteDataTable(selectStr, dbPath)); } else { return(null); } }
/// <summary> /// 查询 /// </summary> /// <returns></returns> public string Select() { const string sqlStr = "select VERSION from C_Version"; string dbPath = $@"{AntSdkService.SqliteLocalDbPath}{AntSdkService.AntSdkLoginOutput.userId}\{AntSdkService.AntSdkLoginOutput.userId}.db"; var checkStr = AntSdkSqliteHelper.ExecuteScalar(sqlStr, dbPath); if (checkStr == null) { return(string.Empty); } var s = checkStr.ToString(); return(s); }
/// <summary> /// 查询记录总条数 /// </summary> /// <param name="session_id"></param> /// <param name="userId"></param> /// <param name="companyCode"></param> /// <returns></returns> public int GetMaxCount(string session_id, string userId, string companyCode) { string selectStr = "select count(*) from t_chat_message_group where sessionid='" + session_id + "'"; string dbPath = $@"{AntSdkService.SqliteLocalDbPath}{userId}\{userId}.db"; if (File.Exists(dbPath)) { return(Convert.ToInt32(AntSdkSqliteHelper.ExecuteScalar(selectStr, dbPath))); } else { return(0); } }
/// <summary> /// 群聊滚动第一次查询 /// </summary> /// <param name="session_id"></param> /// <param name="companyCode"></param> /// <param name="userId"></param> /// <param name="startChatIndex"></param> /// <returns></returns> public DataTable getDataByScroll(string session_id, string companyCode, string userId, string startChatIndex, int pageCount) { string selectStr = "select * from t_chat_message_group where sessionid='" + session_id + "' and cast(chatindex as int) <" + startChatIndex + " order by cast(chatindex as int) desc limit '" + 0 + "',10"; string dbPath = $@"{AntSdkService.SqliteLocalDbPath}{userId}\{userId}.db"; if (File.Exists(dbPath)) { return(AntSdkSqliteHelper.ExecuteDataTable(selectStr, dbPath)); } else { return(null); } }
/// <summary> /// 批量删除 /// </summary> /// <param name="modelList"></param> public void Delete(List <AntSdkGroupInfo> modelList) { var sqlList = new ArrayList(); foreach (var sqlStr in modelList.Select(GetDeleteSqlStr).Where(sqlStr => !string.IsNullOrEmpty(sqlStr))) { sqlList.Add(sqlStr); } if (sqlList.Count > 0) { AntSdkSqliteHelper.ExecuteCommand(sqlList, $@"{AntSdkService.AntSdkConfigInfo.AntSdkDatabaseAddress}localData\{AntSdkService.AntSdkConfigInfo.AntSdkCompanyCode}\{AntSdkService.AntSdkLoginOutput.userId}\{AntSdkService.AntSdkLoginOutput.userId}.db"); } }
/// <summary> /// 内容更改 /// </summary> /// <param name="messageid"></param> /// <param name="companyCode"></param> /// <param name="userId"></param> /// <param name="content"></param> /// <returns></returns> public int UpdateContent(string messageid, string companyCode, string userId, string content) { string updateStr = "update t_chat_message_groupburn set content='" + content + "' where messageid='" + messageid + "'"; string dbPath = $@"{AntSdkService.SqliteLocalDbPath}{userId}\{userId}.db"; if (File.Exists(dbPath)) { return(AntSdkSqliteHelper.ExecuteNonQuery(updateStr, companyCode, userId)); } else { return(0); } }
/// <summary> /// 更新数据库语音状态 0未读 1已读 /// </summary> /// <param name="messageid"></param> /// <returns></returns> public int UpdateVoiceState(string messageid) { string updateStr = "update t_chat_message_groupburn set voiceread='1' where messageid='" + messageid + "'"; string dbPath = $@"{AntSdkService.SqliteLocalDbPath}{AntSdkService.AntSdkLoginOutput.userId}\{AntSdkService.AntSdkLoginOutput.userId}.db"; if (File.Exists(dbPath)) { return(AntSdkSqliteHelper.ExecuteNonQuery(updateStr, AntSdkService.AntSdkLoginOutput.companyCode, AntSdkService.AntSdkLoginOutput.userId)); } else { return(0); } }
/// <summary> /// 删除阅后即焚对应的session会话内容 /// </summary> /// <param name="session_id"></param> /// <param name="companyCode"></param> /// <param name="userId"></param> /// <returns></returns> public int DeleteBurnData(string session_id, string companyCode, string userId) { string deleteStr = "delete from t_chat_message_groupburn where sessionid='" + session_id + "'"; string dbPath = $@"{AntSdkService.SqliteLocalDbPath}{userId}\{userId}.db"; if (File.Exists(dbPath)) { return(AntSdkSqliteHelper.ExecuteNonQuery(deleteStr, companyCode, userId)); } else { return(0); } }
/// <summary> /// 消息重发状态更改 /// </summary> /// <param name="messageid"></param> /// <param name="companyCode"></param> /// <param name="userId"></param> /// <returns></returns> public int UpdateReSendMsgState(string messageid, string companyCode, string userId, string chatindex) { string updateStr = "update t_chat_message_groupburn set sendsucessorfail='1',chatindex='" + chatindex + "' where messageid='" + messageid + "'"; string dbPath = $@"{AntSdkService.SqliteLocalDbPath}{userId}\{userId}.db"; if (File.Exists(dbPath)) { return(AntSdkSqliteHelper.ExecuteNonQuery(updateStr, companyCode, userId)); } else { return(0); } }
/// <summary> /// 根据messageId获取消息 /// </summary> /// <param name="sessionId"></param> /// <param name="messageId"></param> /// <returns></returns> public DataTable GetChatMessageByMsessageID(string sessionId, string messageId) { string selectStr = "select * from t_chat_message_group where sessionid='" + sessionId + "' and MESSAGEID='" + messageId + "'"; string dbPath = $@"{AntSdkService.SqliteLocalDbPath}{AntSdkService.AntSdkCurrentUserInfo.userId}\{AntSdkService.AntSdkCurrentUserInfo.userId}.db"; if (File.Exists(dbPath)) { return(AntSdkSqliteHelper.ExecuteDataTable(selectStr, dbPath)); } else { return(null); } }
public int UpdateTopIndex(string sessionId, int?topIndex) { string updateStr; if (topIndex.HasValue) { updateStr = @"update T_Session set TOPINDEX=" + topIndex.Value + " where SESSIONID='" + sessionId + "'"; } else { updateStr = @"update T_Session set TOPINDEX=null where SESSIONID='" + sessionId + "'"; } return(AntSdkSqliteHelper.ExecuteNonQuery(updateStr, AntSdkService.AntSdkConfigInfo.AntSdkCompanyCode, AntSdkService.AntSdkLoginOutput.userId)); }
/// <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 int DeleteGroupMsgByVoteOrActivityId(string voteOrActivityId, string sessionId, string msgType, string companyCode, string userId) { string updateStr = "delete from t_chat_message_group where MTP='" + msgType + "' AND SESSIONID='" + sessionId + "' AND SPARE1='" + voteOrActivityId + "' ;"; string dbPath = $@"{AntSdkService.SqliteLocalDbPath}{userId}\{userId}.db"; if (File.Exists(dbPath)) { return(AntSdkSqliteHelper.ExecuteNonQuery(updateStr, companyCode, userId)); } else { return(0); } }
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> /// 查询当天前N条聊天记录 /// </summary> /// <param name="session_id">会话ID</param> /// <param name="startTimestamp">开始时间戳</param> /// <param name="endTimestamp">结束时间戳</param> /// <param name="pageSize">页大小</param> /// <returns></returns> public DataTable GetCurrentDayHistoryMsg(string session_id, string startTimestamp, string endTimestamp, int pageSize) { string selectStr = "select * from (select * from t_chat_message_group where sessionid='" + session_id + "' and sendtime between '" + startTimestamp + "' and '" + endTimestamp + "' order by sendtime asc limit 0," + pageSize + ") order by sendtime; "; string dbPath = $@"{AntSdkService.SqliteLocalDbPath}{AntSdkService.AntSdkCurrentUserInfo.userId}\{ AntSdkService.AntSdkCurrentUserInfo.userId}.db"; if (File.Exists(dbPath)) { return(AntSdkSqliteHelper.ExecuteDataTable(selectStr, dbPath)); } else { return(null); } }
/// <summary> /// 发送消息入库 /// </summary> /// <param name="model"></param> /// <returns></returns> public int Insert(SDK.AntSdk.AntModels.AntSdkChatMsg.ChatBase model) { if (model.sourceContent != null) { model.sourceContent = model.sourceContent.Replace("'", "''"); } string insertStr = "insert into t_chat_message_groupburn(MTP,CHATINDEX,CONTENT,MESSAGEID,SENDTIME,SENDUSERID,SESSIONID,TARGETID,SENDORRECEIVE,SENDSUCESSORFAIL,uploadordownpath) values ('" + (int)model.MsgType + "','" + model.chatIndex + "','" + model.sourceContent + "','" + model.messageId + "','" + AntSdkDataConverter.ConvertDateTimeToIntLong(DateTime.Now) + "','" + model.sendUserId + "','" + model.sessionId + "','" + model.targetId + "','" + model.SENDORRECEIVE + "','" + model.sendsucessorfail + "','" + model.uploadOrDownPath + "')"; return(AntSdkSqliteHelper.ExecuteNonQuery(insertStr, AntSdkService.AntSdkConfigInfo.AntSdkCompanyCode, model.sendUserId)); }
/// <summary> /// 根据messsageID查询对应的数据是否存在 /// </summary> /// <param name="messageid"></param> /// <returns></returns> public bool MsgExit(string messageid) { string exitStr = "select count(messageid) from t_chat_message A where messageid='" + messageid + "'"; string dbPath = $@"{AntSdkService.SqliteLocalDbPath}{AntSdkService.AntSdkLoginOutput.userId}\{AntSdkService.AntSdkLoginOutput.userId}.db"; if (File.Exists(dbPath)) { var count = Convert.ToInt32(AntSdkSqliteHelper.ExecuteScalar(exitStr, dbPath)); return(count > 0); } else { return(false); } }
public int Update(AntSdkTsession model) { if (model.LastMsg != null) { model.LastMsg = model.LastMsg.Replace("'", "''"); } if (model.BurnLastMsg != null) { model.BurnLastMsg = model.BurnLastMsg.Replace("'", "''"); } string topIndex = model.TopIndex.HasValue ? model.TopIndex.Value.ToString() : "null"; string updateStr = $"update T_Session set UNREADCOUNT='{model.UnreadCount}',LASTMSG='{model.LastMsg}',LastMsgTimeStamp='{model.LastMsgTimeStamp}',LastChatIndex='{model.LastChatIndex}', BURNUNREADCOUNT='{model.BurnUnreadCount}',BURNLASTMSG='{model.BurnLastMsg}',BURNLastMsgTimeStamp='{model.BurnLastMsgTimeStamp}',BURNLastChatIndex='{model.BurnLastChatIndex}' ,ISBURNMODE='{model.IsBurnMode}',TopIndex={topIndex} where SESSIONID='{model.SessionId}'"; return(AntSdkSqliteHelper.ExecuteNonQuery(updateStr, AntSdkService.AntSdkConfigInfo.AntSdkCompanyCode, AntSdkService.AntSdkLoginOutput.userId)); }
public DataTable GetHistoryNext(string session_id, string end_index, int pageSize) { string selectStr = "select * from (select * from t_chat_message_group where sessionid='" + session_id + "' and chatindex> '" + end_index + "' order by chatindex asc limit 0," + pageSize + ") order by sendtime asc;"; string dbPath = $@"{AntSdkService.SqliteLocalDbPath}{AntSdkService.AntSdkCurrentUserInfo.userId}\{ AntSdkService.AntSdkCurrentUserInfo.userId}.db"; if (File.Exists(dbPath)) { return(AntSdkSqliteHelper.ExecuteDataTable(selectStr, dbPath)); } else { return(null); } }
/// <summary> /// 多端数据插入 /// </summary> /// <param name="model"></param> /// <returns></returns> public int InsertSelfData(SDK.AntSdk.AntModels.AntSdkChatMsg.ChatBase model) { if (model.sourceContent != null) { model.sourceContent = model.sourceContent.Replace("'", "''"); } var insertStr = "insert into T_Chat_Message(MTP,CHATINDEX,CONTENT,MESSAGEID,SENDTIME,SENDUSERID,SESSIONID,TARGETID,SENDORRECEIVE,SENDSUCESSORFAIL,flag) values ('" + (int)model.MsgType + "','" + model.chatIndex + "','" + model.sourceContent + "','" + model.messageId + "','" + model.sendTime + "','" + model.sendUserId + "','" + model.sessionId + "','" + model.targetId + "','" + model.SENDORRECEIVE + "','" + 1 + "','" + model.flag + "')"; return(AntSdkSqliteHelper.ExecuteNonQuery(insertStr, AntSdk.AntSdkService.AntSdkConfigInfo.AntSdkCompanyCode, model.sendUserId)); }
/// <summary> /// 查询选中日期返回的记录最后一条之后的记录条数 /// </summary> /// <param name="session_id"></param> /// <param name="end_index"></param> /// <returns></returns> public int GetHistoryCountNext(string session_id, string end_index) { string selectStr = "select count(*) from t_chat_message_group where sessionid='" + session_id + "' and chatindex>'" + end_index + "'"; string dbPath = $@"{AntSdkService.SqliteLocalDbPath}{AntSdkService.AntSdkCurrentUserInfo.userId}\{ AntSdkService.AntSdkCurrentUserInfo.userId}.db"; if (File.Exists(dbPath)) { return(Convert.ToInt32(AntSdkSqliteHelper.ExecuteScalar(selectStr, dbPath))); } else { return(0); } }
/// <summary> /// 接收文件之后更新文件路径和是否为阅后即焚消息 /// </summary> /// <param name="sessionId"></param> /// <param name="companyCode"></param> /// <param name="userId"></param> /// <param name="chatIndex"></param> /// <param name="path"></param> /// <returns></returns> public int UpdateFilePathAndFlag(string sessionId, string companyCode, string userId, string chatIndex, string path) { string updateStr = "update t_chat_message set uploadordownpath='" + path + "' where sessionid='" + sessionId + "' and messageid='" + chatIndex + "'"; string dbPath = $@"{AntSdkService.SqliteLocalDbPath}{userId}\{userId}.db"; if (File.Exists(dbPath)) { return(AntSdkSqliteHelper.ExecuteNonQuery(updateStr, companyCode, userId)); } else { return(0); } }
/// <summary> ///根据MessageID删除点对点对应的消息记录 /// </summary> /// <param name="session_id"></param> /// <param name="companyCode"></param> /// <param name="userId"></param> /// <param name="messageId"></param> public int DeleteByMessageId(string companyCode, string userId, string messageId) { string updateStr = "delete from t_chat_message where messageid='" + messageId + "'"; string dbPath = $@"{AntSdkService.SqliteLocalDbPath}{userId}\{userId}.db"; if (File.Exists(dbPath)) { return(AntSdkSqliteHelper.ExecuteNonQuery(updateStr, companyCode, userId)); } else { return(0); } }
/// <summary> /// 更新阅后即焚阅读时间 /// </summary> /// <param name="session_id"></param> /// <param name="companyCode"></param> /// <param name="userId"></param> /// <param name="chatIndex"></param> /// <returns></returns> public int UpdateAfterReadBurnTime(string session_id, string companyCode, string userId, string chatIndex, string readtime) { string updateStr = "update t_chat_message set readtime='" + readtime + "' where sessionid='" + session_id + "' and messageid='" + chatIndex + "';"; string dbPath = $@"{AntSdkService.SqliteLocalDbPath}{userId}\{userId}.db"; if (File.Exists(dbPath)) { return(AntSdkSqliteHelper.ExecuteNonQuery(updateStr, companyCode, userId)); } else { return(0); } }
/// <summary> /// 批量插入数据 /// </summary> /// <param name="modelList"></param> /// <returns></returns> public bool Insert(List <AntSdkGroupInfo> modelList) { #region 采用拼接方式 var sbSql = new StringBuilder(); sbSql.Append( "INSERT OR REPLACE INTO C_GROUP(groupId,groupName,groupPicture,COMPANY_CODE,groupOwnerId) values"); foreach (var list in modelList) { sbSql.Append("('" + list.groupId + "','" + list.groupName + "','" + list.groupPicture + "','" + AntSdkService.AntSdkLoginOutput.companyCode + "','" + list.groupOwnerId + "'),"); } var str = sbSql.ToString().Substring(0, sbSql.ToString().Length - 1); return(AntSdkSqliteHelper.InsertBigData(str, AntSdkService.AntSdkConfigInfo.AntSdkCompanyCode, AntSdkService.AntSdkCurrentUserInfo.userId)); #endregion }
public int Insert(AntSdkTsession model) { if (model.LastMsg != null) { model.LastMsg = model.LastMsg.Replace("'", "''"); } if (model.BurnLastMsg != null) { model.BurnLastMsg = model.BurnLastMsg.Replace("'", "''"); } string topIndex = model.TopIndex.HasValue ? model.TopIndex.Value.ToString() : "null"; //string createSessionTable = "(SESSIONID VARCHAR(64),USERID VARCHAR(64),GROUPID VARCHAR(64),UNREADCOUNT INT,LASTMSG VARCHAR(4000), LASTMSGTIME VARCHAR(64),LASTMODIFYTIME DATETIME,primary key(SESSIONID))"; string insertStr = $"INSERT INTO T_Session(SESSIONID,USERID,GROUPID,UNREADCOUNT,LASTMSG,LASTMSGTIMESTAMP,LASTCHATINDEX,BURNUNREADCOUNT,BURNLASTMSG,BURNLASTMSGTIMESTAMP,BURNLASTCHATINDEX,ISBURNMODE,TopIndex) VALUES " + $"('{model.SessionId}','{model.UserId}','{model.GroupId}','{model.UnreadCount}','{model.LastMsg}','{model.LastMsgTimeStamp}','{model.LastChatIndex}','{model.BurnUnreadCount}','{model.BurnLastMsg}','{model.BurnLastMsgTimeStamp}','{model.BurnLastChatIndex}','{model.IsBurnMode}',{topIndex})"; return(AntSdkSqliteHelper.ExecuteNonQuery(insertStr, AntSdkService.AntSdkConfigInfo.AntSdkCompanyCode, AntSdkService.AntSdkLoginOutput.userId)); }
/// <summary> /// 批量上传 /// </summary> /// <param name="list"></param> /// <returns></returns> public bool InsertBig(List <SDK.AntSdk.AntModels.AntSdkChatMsg.ChatBase> list) { StringBuilder sb = new StringBuilder(); sb.Append("insert into T_Chat_Message_Group(MTP,CHATINDEX,CONTENT,MESSAGEID,SENDTIME,SENDUSERID,SESSIONID,TARGETID,SENDORRECEIVE,SENDSUCESSORFAIL,uploadordownpath) values "); foreach (var model in list) { if (model.sourceContent != null) { model.sourceContent = model.sourceContent.Replace("'", "''"); } sb.Append("('" + (int)model.MsgType + "','" + model.chatIndex + "','" + model.sourceContent + "','" + model.messageId + "','" + AntSdkDataConverter.ConvertDateTimeToIntLong(DateTime.Now) + "','" + model.sendUserId + "','" + model.sessionId + "','" + model.targetId + "','" + model.SENDORRECEIVE + "','" + model.sendsucessorfail + "','" + model.uploadOrDownPath + "'),"); } var str = sb.ToString().Substring(0, sb.ToString().Length - 1); bool b = AntSdkSqliteHelper.InsertBigData(str, AntSdkService.AntSdkConfigInfo.AntSdkCompanyCode, AntSdkService.AntSdkCurrentUserInfo.userId); return(b); }
/// <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)); }
public int GetPreOneChatIndex(string userId, string sessionid) { int result = 0; var selectStr = "select max(cast(chatindex as int)) from t_chat_message_group where sessionid='" + sessionid + "'"; string dbpath = $@"{AntSdkService.SqliteLocalDbPath}{userId}\{userId}.db"; if (File.Exists(dbpath)) { var maxChatIndex = AntSdkSqliteHelper.ExecuteScalar(selectStr, dbpath).ToString().Trim(); if (maxChatIndex == "") { result = 0; } else { result = Convert.ToInt32(maxChatIndex); } } return(result); }
/// <summary> ///根据MessageID删除点对点对应的消息记录(一条或多条) /// </summary> /// <param name="session_id"></param> /// <param name="companyCode"></param> /// <param name="userId"></param> /// <param name="messageIds">messageId拼接串</param> public int DeleteByMessageIds(string companyCode, string userId, string messageIds) { if (string.IsNullOrEmpty(messageIds)) { return(0); } string updateStr = "delete from t_chat_message_group where messageid in(" + messageIds + ")"; string dbPath = $@"{AntSdkService.SqliteLocalDbPath}{userId}\{userId}.db"; if (File.Exists(dbPath)) { return(AntSdkSqliteHelper.ExecuteNonQuery(updateStr, companyCode, userId)); } else { return(0); } }