예제 #1
0
            public static Dictionary <string, LoginedSeller> Update(Dictionary <string, LoginedSeller> sellers, out HashSet <string> closed)
            {
                closed = new HashSet <string>();
                var newNicks = new Dictionary <string, LoginedSeller>();

                foreach (var skv in sellers)
                {
                    if (!_cachedSellers.ContainsKey(skv.Key))
                    {
                        var chatDesk = ChatDesk.GetDeskFromCache(skv.Key);
                        if (chatDesk != null)
                        {
                            chatDesk.CheckAlive();
                            closed.Add(skv.Key);
                            Log.Error("Detected, 检测到异常的ChatDesk");
                        }
                        else
                        {
                            newNicks[skv.Key] = skv.Value;
                        }
                    }
                    QnHelper.Detected._sellerHistory[skv.Key] = DateTime.Now;
                }
                foreach (var oldNick in _cachedSellers)
                {
                    if (!sellers.ContainsKey(oldNick.Key))
                    {
                        closed.Add(oldNick.Key);
                    }
                }
                _cachedSellers = sellers;
                return(newNicks);
            }
예제 #2
0
        public static void Close(string nick)
        {
            var desk = ChatDesk.GetDeskFromCache(nick);

            if (desk == null)
            {
                Log.Error("AssistModeHelper.Close,desk不存在,nick=" + nick);
            }
            else
            {
                desk.Dispose();
            }
        }