/// <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); }
/// <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); } }