Beispiel #1
0
        /// <summary>
        /// 方法说明:触角SDK聊天消息和SDK聊天消息转换
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="entity"></param>
        /// <returns></returns>
        private static T GetReceiveAntSdkChatBaseInfo <T>(MsSdkMessageRoomBase entity)
            where T : RoomBase, new()
        {
            var sdkreceivemsgtypeValue = (long)entity.MsgType;
            var antsdkreceivemsgType   = (AntSdkMsgType)sdkreceivemsgtypeValue;
            var result = new T
            {
                MsgType   = antsdkreceivemsgType,
                sessionId = entity.sessionId,
                chatIndex = entity.chatIndex,
                sendTime  = entity.sendTime
            };

            return(result);
        }
Beispiel #2
0
 /// <summary>
 /// 方法说明:获取接收到的平台SDK聊天消息,转化为触角SDK聊天消息
 /// </summary>
 /// <param name="entity">SDK聊天信息</param>
 /// <returns>触角SDK聊天信息</returns>
 internal static RoomBase GetReceiveAntSdkRoomInfo(MsSdkMessageRoomBase entity)
 {
     try
     {
         var sdkcreateObj = entity as MsCreateChatRoom;
         if (sdkcreateObj != null)
         {
             var antsdkchatroomMsg = GetReceiveAntSdkChatBaseInfo <Create>(sdkcreateObj);
             antsdkchatroomMsg.content = new Create_content
             {
                 operateId = sdkcreateObj.content?.operateId,
                 roomId    = sdkcreateObj.content?.roomId,
                 roomName  = sdkcreateObj.content?.roomName,
                 desc      = sdkcreateObj.content?.desc,
                 remark    = sdkcreateObj.content?.remark,
                 attr1     = sdkcreateObj.content?.attr1,
                 attr2     = sdkcreateObj.content?.attr2,
                 attr3     = sdkcreateObj.content?.attr3,
                 robotFlag = sdkcreateObj.content?.robotFlag,
                 robotType = sdkcreateObj.content?.robotType
             };
             return(antsdkchatroomMsg);
         }
         var sdkmodifyObj = entity as MsModifyChatRoom;
         if (sdkmodifyObj != null)
         {
             var antsdkchatroomMsg = GetReceiveAntSdkChatBaseInfo <Modify>(sdkmodifyObj);
             antsdkchatroomMsg.content = new Modify_content
             {
                 operateId = sdkmodifyObj.content?.operateId,
                 roomId    = sdkmodifyObj.content?.roomId,
                 roomName  = sdkmodifyObj.content?.roomName,
                 desc      = sdkmodifyObj.content?.desc,
                 remark    = sdkmodifyObj.content?.remark,
                 attr1     = sdkmodifyObj.content?.attr1,
                 attr2     = sdkmodifyObj.content?.attr2,
                 attr3     = sdkmodifyObj.content?.attr3,
                 robotFlag = sdkmodifyObj.content?.robotFlag,
                 robotType = sdkmodifyObj.content?.robotType
             };
             return(antsdkchatroomMsg);
         }
         var sdkdeleteObj = entity as MsDeleteChatRoom;
         if (sdkdeleteObj != null)
         {
             var antsdkchatroomMsg = GetReceiveAntSdkChatBaseInfo <Delete>(sdkdeleteObj);
             antsdkchatroomMsg.content = new Delete_content
             {
                 operateId = sdkdeleteObj.content?.operateId,
                 roomId    = sdkdeleteObj.content?.roomId,
                 roomName  = sdkdeleteObj.content?.roomName,
                 desc      = sdkdeleteObj.content?.desc,
                 remark    = sdkdeleteObj.content?.remark,
                 attr1     = sdkdeleteObj.content?.attr1,
                 attr2     = sdkdeleteObj.content?.attr2,
                 attr3     = sdkdeleteObj.content?.attr3,
                 robotFlag = sdkdeleteObj.content?.robotFlag,
                 robotType = sdkdeleteObj.content?.robotType
             };
             return(antsdkchatroomMsg);
         }
         var sdkaddmembersObj = entity as MsAddChatRoomMembers;
         if (sdkaddmembersObj != null)
         {
             var antsdkchatroomMsg = GetReceiveAntSdkChatBaseInfo <AddMembers>(sdkaddmembersObj);
             var addmemberList     = new List <Member>();
             if (sdkaddmembersObj.content?.members?.Count > 0)
             {
                 addmemberList.AddRange(sdkaddmembersObj.content.members.Select(c => new Member
                 {
                     userId   = c.userId,
                     userName = c.userName
                 }));
             }
             antsdkchatroomMsg.content = new AddMembers_content
             {
                 operateId = sdkaddmembersObj.content?.operateId,
                 members   = addmemberList
             };
             return(antsdkchatroomMsg);
         }
         var sdkdeletemembersObj = entity as MsDeleteChatRoomMembers;
         if (sdkdeletemembersObj != null)
         {
             var antsdkchatroomMsg = GetReceiveAntSdkChatBaseInfo <DeleteMembers>(sdkdeletemembersObj);
             var addmemberList     = new List <Member>();
             if (sdkdeletemembersObj.content?.members?.Count > 0)
             {
                 addmemberList.AddRange(sdkdeletemembersObj.content.members.Select(c => new Member
                 {
                     userId   = c.userId,
                     userName = c.userName
                 }));
             }
             antsdkchatroomMsg.content = new DeleteMembers_content
             {
                 operateId = sdkdeletemembersObj.content?.operateId,
                 members   = addmemberList
             };
             return(antsdkchatroomMsg);
         }
         var sdkquitmembersObj = entity as MsQuitChatRoomMember;
         if (sdkquitmembersObj != null)
         {
             var antsdkchatroomMsg = GetReceiveAntSdkChatBaseInfo <QuitMember>(sdkquitmembersObj);
             antsdkchatroomMsg.content = new Member
             {
                 userId   = sdkquitmembersObj.content?.userId,
                 userName = sdkquitmembersObj.content?.userName
             };
             return(antsdkchatroomMsg);
         }
         var sdkmodifymembersObj = entity as MsModifyChatRoomMember;
         if (sdkmodifymembersObj != null)
         {
             var antsdkchatroomMsg = GetReceiveAntSdkChatBaseInfo <ModifyMember>(sdkmodifymembersObj);
             antsdkchatroomMsg.content = new ModifMember_content
             {
                 operateId = sdkmodifymembersObj.content?.operateId,
                 userId    = sdkmodifymembersObj.content?.userId,
                 userName  = sdkmodifymembersObj.content?.userName,
                 desc      = sdkmodifymembersObj.content?.desc,
                 remark    = sdkmodifymembersObj.content?.remark,
                 attr1     = sdkmodifymembersObj.content?.attr1,
                 attr2     = sdkmodifymembersObj.content?.attr2,
                 attr3     = sdkmodifymembersObj.content?.attr3
             };
             return(antsdkchatroomMsg);
         }
         //返回空
         return(null);
     }
     catch (Exception ex)
     {
         LogHelper.WriteError(
             $"[AntSdkChatRoomMsg.GetReceiveAntSdkChatRoomInfo]:{Environment.NewLine}{ex.Message}{ex.StackTrace}");
         return(null);
     }
 }