Exemple #1
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);
     }
 }
Exemple #2
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));
        }