/// <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);
            }
        }
Exemple #2
0
        /// <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);
            }
        }
Exemple #5
0
        /// <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);
            }
        }
Exemple #11
0
        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);
            }
        }
Exemple #13
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));
        }
Exemple #16
0
        /// <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);
            }
        }
Exemple #17
0
        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);
            }
        }
Exemple #19
0
        /// <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);
            }
        }
Exemple #21
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);
            }
        }
Exemple #22
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);
            }
        }
Exemple #23
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);
            }
        }
Exemple #24
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
        }
Exemple #25
0
        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);
        }
Exemple #27
0
        /// <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);
            }
        }