//public MassMsgViewModel(MassMsgModel massMsgModel) //{ // MessageId = massMsgModel.MessageId; // this.SendTime = DataConverter.FormatTimeByTimeStamp(massMsgModel.SendTime);//从消息来的为时间戳 // //this.SendStateImage= massMsgModel.SendStateImage; // this.MsgContent = massMsgModel.MsgContent; // this.TargetUsers = massMsgModel.TargetUsers; // this.OperateMode = massMsgModel.OperateMode; // this.names = this.TargetUsers; // if (massMsgModel.SendMsgState == GlobalVariable.SendMsgState.Sending) // { // this.SendFailureImageVisibility = Visibility.Collapsed; // this.SendingAnimationVisible = Visibility.Visible; // StartWaitingTimer(); // } // else if (massMsgModel.SendMsgState == GlobalVariable.SendMsgState.Failure) // { // this.SendFailureImageVisibility = Visibility.Visible; // this.SendingAnimationVisible = Visibility.Collapsed; // } // else // { // this.SendFailureImageVisibility = Visibility.Collapsed; // this.SendingAnimationVisible = Visibility.Collapsed; // } //} public MassMsgViewModel(AntSdkMassMsgCtt msg, GlobalVariable.SendMsgState sendMsgState) { this.MassMsgCtt = msg; MessageId = msg.messageId; if (string.IsNullOrEmpty(msg.sendTime)) { this.SendTime = DataConverter.FormatTimeByTimeStamp(DataConverter.ConvertDateTimeInt(DateTime.Now).ToString() + "000"); } else { this.SendTime = DataConverter.FormatTimeByTimeStamp(msg.sendTime);//从消息来的为时间戳 } string[] userIds = msg.targetId.Split(','); string[] userNames = AntSdkService.AntSdkListContactsEntity.users.Where((c => userIds.Contains(c.userId))).Select(c => c.userName).ToArray(); this.TargetUsers = string.Join(",", userNames); this.MsgContent = msg.content; this.OperateMode = userIds.Length + "人"; this.names = this.TargetUsers; if (sendMsgState == GlobalVariable.SendMsgState.Sending) { this.SendFailureImageVisibility = Visibility.Collapsed; this.SendingAnimationVisible = Visibility.Visible; StartWaitingTimer(); } else if (sendMsgState == GlobalVariable.SendMsgState.Failure) { this.SendFailureImageVisibility = Visibility.Visible; this.SendingAnimationVisible = Visibility.Collapsed; } else { this.SendFailureImageVisibility = Visibility.Collapsed; this.SendingAnimationVisible = Visibility.Collapsed; } }
/// <summary> /// 发送新的群发消息 /// </summary> public void AddNewMassMsg(AntSdkMassMsgCtt msg) { MassMsgViewModel controlVm = new MassMsgViewModel(msg, GlobalVariable.SendMsgState.Sending); MassMsgControlList.Add(controlVm); controlVm.IsSelected = true; }
/// <summary> /// 群发助手 /// </summary> public SessionInfoViewModel(AntSdkMassMsgCtt massMsg) { this.LastChatIndex = massMsg.chatIndex; this.SessionId = DataConverter.GetSessionID(AntSdkService.AntSdkCurrentUserInfo.userId, GlobalVariable.MassAssistantId); _SessionType = SessionType.MassAssistant; this.LastMessage = massMsg.content; this.LastMsgTimeStamp = DataConverter.ConvertDateTimeInt(DateTime.Now).ToString() + "000"; this.LastTime = DataConverter.FormatTimeByTimeStamp(LastMsgTimeStamp);//从消息来的为时间戳 this.Photo = DefaultImage.MassAssistantDefaultImage; //var tempHeadPicBitmapImage = new BitmapImage(); //tempHeadPicBitmapImage.BeginInit(); //tempHeadPicBitmapImage.CacheOption = BitmapCacheOption.OnLoad; //tempHeadPicBitmapImage.UriSource = new Uri(this.Photo); //tempHeadPicBitmapImage.EndInit(); //ContactPhoto = tempHeadPicBitmapImage; this.Name = "群发助手"; this.ImageSendingVisibility = string.IsNullOrEmpty(massMsg.chatIndex) ? Visibility.Visible : Visibility.Collapsed; SetUnreadCount(0); }
/// <summary> /// 发送消息 /// </summary> /// <param name="o"></param> private void SendMassMsg(object o) { if (ContactUsers == null || ContactUsers.Count == 0) { MessageBoxWindow.Show("请先选择消息接收人!", GlobalVariable.WarnOrSuccess.Warn); return; } else if (string.IsNullOrWhiteSpace(MsgContent)) { MessageBoxWindow.Show("消息内容不能为空!", GlobalVariable.WarnOrSuccess.Warn); return; } else if (MsgContent.Length > 500) { MessageBoxWindow.Show("消息内容不能超过500个字符!", GlobalVariable.WarnOrSuccess.Warn); return; } MassMsg msg = new MassMsg(); msg.mtp = (int)GlobalVariable.MsgType.MassMsg; //TODO:AntSdk_Modify AntSdkMassMsgCtt ctt = new AntSdkMassMsgCtt(); //ctt.messageId = PublicTalkMothed.timeStampAndRandom(); ctt.sendUserId = AntSdkService.AntSdkCurrentUserInfo.userId; if (ContactUsers != null && ContactUsers.Count > 0) { ctt.targetId = string.Join(",", ContactUsers.Where(m => m.userId != AntSdkService.AntSdkCurrentUserInfo.userId).Select(c => c.userId).ToArray()); } ctt.companyCode = GlobalVariable.CompanyCode; ctt.content = MsgContent; ctt.os = (int)GlobalVariable.OSType.PC; ctt.sessionId = DataConverter.GetSessionID(AntSdkService.AntSdkCurrentUserInfo.userId, GlobalVariable.MassAssistantId); ctt.chatIndex = null; ctt.sendTime = null; string errMsg = ""; //DONE:AntSdk_Modify AntSdkChatMsg.MultiSend massMsg = new AntSdkChatMsg.MultiSend(); massMsg.sendUserId = AntSdkService.AntSdkCurrentUserInfo.userId; if (ContactUsers != null && ContactUsers.Count > 0) { massMsg.targetId = string.Join(",", ContactUsers.Where(m => m.userId != AntSdkService.AntSdkCurrentUserInfo.userId).Select(c => c.userId).ToArray()); } massMsg.content = MsgContent; massMsg.chatType = (int)AntSdkchatType.Point; massMsg.messageId = PublicTalkMothed.timeStampAndRandom(); massMsg.sessionId = DataConverter.GetSessionID(AntSdkService.AntSdkCurrentUserInfo.userId, GlobalVariable.MassAssistantId); var isResult = AntSdkService.SdkPublishChatMsg(massMsg, ref errMsg); // AntSdkMassMsgCtt if (isResult) { ctt.messageId = massMsg.messageId; LogHelper.WriteWarn("---------------------------消息助手群发消息已发送---------------------"); SendMassMsgEvent?.Invoke(ctt); (o as System.Windows.Window)?.Close(); } else { MessageBoxWindow.Show("消息发送失败!" + errMsg, GlobalVariable.WarnOrSuccess.Warn); } }