Пример #1
0
        public object getRegisterRadar(Dictionary <string, object> dicParas)
        {
            try
            {
                string        storeId       = dicParas.ContainsKey("storeId") ? dicParas["storeId"].ToString() : string.Empty;
                string        errMsg        = string.Empty;
                string        storeName     = string.Empty;
                StoreBusiness storeBusiness = new StoreBusiness();
                List <UDPClientItemBusiness.ClientItem> clientList  = XCCloudService.SocketService.UDP.ClientList.ClientListObj;
                List <XCGameManaRadarMonitor>           monitorList = new List <XCGameManaRadarMonitor>();

                if (!string.IsNullOrEmpty(storeId))
                {
                    clientList = clientList.Where <UDPClientItemBusiness.ClientItem>(p => p.StoreID.Equals(storeId)).ToList <UDPClientItemBusiness.ClientItem>();
                }

                for (int i = 0; i < clientList.Count; i++)
                {
                    XCGameManaRadarMonitor monitor = new XCGameManaRadarMonitor();
                    monitor.StoreId = clientList[i].StoreID;
                    if (storeBusiness.GetStoreName(monitor.StoreId, out storeName, out errMsg))
                    {
                        monitor.StoreName = storeName;
                    }
                    else
                    {
                        monitor.StoreName = "门店不存在";
                    }
                    monitor.Segment      = clientList[i].Segment;
                    monitor.Token        = clientList[i].gID;
                    monitor.RegisterTime = clientList[i].curTime.ToString("yyyy-MM-dd HH:mm:ss");
                    monitor.HeatTime     = clientList[i].HeatTime.ToString("yyyy-MM-dd HH:mm:ss");
                    monitor.Address      = ((IPEndPoint)(clientList[i].remotePoint)).Address.ToString();
                    monitor.Port         = ((IPEndPoint)(clientList[i].remotePoint)).Port;
                    monitor.StateName    = getStateName(clientList[i].HeatTime);
                    monitorList.Add(monitor);
                }
                return(ResponseModelFactory.CreateSuccessModel <List <XCGameManaRadarMonitor> >(isSignKeyReturn, monitorList));
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Пример #2
0
        private void GetRadarList(CurrentUser user, ref List <XCGameManaRadarMonitor> monitorList, int type = 0)
        {
            string        errMsg        = string.Empty;
            string        storeName     = string.Empty;
            StoreBusiness storeBusiness = new StoreBusiness();
            List <UDPClientItemBusiness.ClientItem> storeFilterClientList   = null;
            List <UDPClientItemBusiness.ClientItem> segmentFilterClientList = null;

            if (user.StoreList.Count > 0)
            {
                storeFilterClientList = new List <UDPClientItemBusiness.ClientItem>();
                for (int i = 0; i < UDPClientItemBusiness.ClientList.Count; i++)
                {
                    for (int j = 0; j < user.StoreList.Count; j++)
                    {
                        if (UDPClientItemBusiness.ClientList[i].StoreID.Equals(user.StoreList[j]))
                        {
                            storeFilterClientList.Add(UDPClientItemBusiness.ClientList[i]);
                        }
                    }
                }
            }
            else
            {
                storeFilterClientList = UDPClientItemBusiness.ClientList;
            }

            if (user.SegmentList.Count > 0)
            {
                segmentFilterClientList = new List <UDPClientItemBusiness.ClientItem>();
                for (int i = 0; i < storeFilterClientList.Count; i++)
                {
                    for (int j = 0; j < user.SegmentList.Count; j++)
                    {
                        if (storeFilterClientList[i].Segment.Equals(user.SegmentList[j]))
                        {
                            segmentFilterClientList.Add(storeFilterClientList[i]);
                        }
                    }
                }
            }
            else
            {
                segmentFilterClientList = storeFilterClientList;
            }

            if (type == 1)
            {
                monitorList = new List <XCGameManaRadarMonitor>();
                for (int i = 0; i < segmentFilterClientList.Count; i++)
                {
                    XCGameManaRadarMonitor monitor = new XCGameManaRadarMonitor();
                    monitor.StoreId = segmentFilterClientList[i].StoreID;
                    if (storeBusiness.GetStoreName(monitor.StoreId, out storeName, out errMsg))
                    {
                        monitor.StoreName = storeName;
                    }
                    else
                    {
                        monitor.StoreName = "门店不存在";
                    }
                    monitor.Segment      = segmentFilterClientList[i].Segment;
                    monitor.Token        = segmentFilterClientList[i].gID;
                    monitor.RegisterTime = segmentFilterClientList[i].curTime.ToString("yyyy-MM-dd HH:mm:ss");
                    monitor.HeatTime     = segmentFilterClientList[i].HeatTime.ToString("yyyy-MM-dd HH:mm:ss");
                    monitor.Address      = ((IPEndPoint)(segmentFilterClientList[i].remotePoint)).Address.ToString();
                    monitor.Port         = ((IPEndPoint)(segmentFilterClientList[i].remotePoint)).Port;
                    monitor.StateName    = getStateName(segmentFilterClientList[i].HeatTime);
                    monitorList.Add(monitor);
                }
            }

            for (int i = 0; i < segmentFilterClientList.Count; i++)
            {
                user.RadarTokenList.Add(segmentFilterClientList[i].gID);
            }
        }