/// <summary> /// 页面请求对话 /// </summary> /// <param name="CurrentVisitor"></param> /// <returns>ChatId</returns> public static string ChatPageRequestChat(Visitor visitor) { Trace.WriteLine(string.Format("ChatService.ChatPageRequestChat(Visitor = {0})", visitor)); if (!string.IsNullOrEmpty(visitor.Name)) { Visitor vs = VisitorService.GetVisitorById(visitor.VisitorId); vs.Name = visitor.Name; VisitorService.UpdateVisitor(vs); } Chat chatRequest = new Chat(); chatRequest.AccountId = visitor.AccountId; chatRequest.CreateTime = DateTime.Now; chatRequest.Status = ChatStatus.Requested; chatRequest.VisitorId = visitor.VisitorId; chats.Add(chatRequest); Provider.AddChat(chatRequest); VisitSession s = VisitSessionService.GetSessionById(visitor.CurrentSessionId); s.ChatRequestTime = DateTime.Now; s.Status = VisitSessionStatus.ChatRequesting; Message m = new Message(); m.ChatId = chatRequest.ChatId; m.Text = "正在接入客服,请稍等..."; m.Type = MessageType.SystemMessage_ToVisitor; m.Source = "系统"; m.Destination = "访客"; SendMessage(m, DateTime.Now.AddMilliseconds(100)); if (VisitorChatRequest != null) { VisitorChatRequestEventArgs req = new VisitorChatRequestEventArgs(visitor.VisitorId, chatRequest); visitorChatRequests.Add(req); VisitorChatRequest(null, req); } return(chatRequest.ChatId); }