/// <summary>
        /// user singin
        /// 为什么采用整形返回设计:1、必须有回执 2、便于处理异常并准确提示错误
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="port"></param>
        /// <returns></returns>
        public static int Singin(ref string ip, ref string port)
        {
            int res   = 505;
            int _port = Convert.ToInt32(port);

            BusinessServer.Client bServerClient = null;
            TTransport            transport     = SocketOpter.Init(ip, _port, 800, ref bServerClient);

            if (!transport.IsOpen)
            {
                try
                {
                    transport.Open();
                    if (transport.IsOpen)
                    {
                        GlobalCache.Host = ip;
                        GlobalCache.Port = _port;
                        res = 200;
                    }
                }
                catch (System.Exception ex)
                {
                    Logger <ThriftServiceBasic> .Log.Error("Singin", ex);

                    res = 404;
                }
                finally
                {
                    transport.Close();
                }
            }
            return(res);
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public List <string> SC_GetAnalysisStoreFromSanpStore()
        {
            BusinessServer.Client bServerClient = null;
            TTransport            transport     = SocketOpter.Init(GlobalCache.Host, GlobalCache.Port, 0, ref bServerClient);

            return(SocketOpter.GetResult <ThirftService, List <string> >(
                       transport,
                       bServerClient.QueryDefFaceObjType,
                       "SC_GetAnalysisStoreFromSanpStore", true
                       ));
        }
Exemplo n.º 3
0
        /// <summary>
        /// Get analysis result
        /// </summary>
        /// <param name="capId"></param>
        /// <param name="capImage"></param>
        /// <param name="btime"></param>
        /// <param name="etime"></param>
        /// <param name="threshold"></param>
        /// <param name="maxcount"></param>
        /// <param name="template"></param>
        /// <returns></returns>
        public IList <CameraSnapPerson> SC_GetAnalysisResult(string capId, byte[] capImage, long btime, long etime, int threshold, int maxcount, string template)
        {
            BusinessServer.Client     bServerClient = null;
            TTransport                transport     = SocketOpter.Init(GlobalCache.Host, GlobalCache.Port, 0, ref bServerClient);
            List <RealtimeCapInfoLBS> caplist       = SocketOpter.GetResult <ThirftService, List <RealtimeCapInfoLBS>, string, byte[], long, long, int, int>(
                transport,
                bServerClient.QueryStaticAnalysis,
                "SC_GetAnalysisResult", true,
                capId, capImage, btime, etime, threshold, maxcount
                );

            IList <CameraSnapPerson> result = new List <CameraSnapPerson>();

            try
            {
                #region Data Convert

                int row = 0;
                foreach (var item in caplist)
                {
                    DateTime time = new DateTime(1970, 1, 1);
                    time = time.AddSeconds(item.Time);
                    result.Add(new CameraSnapPerson
                    {
                        DataIndex      = ++row,
                        NameTitle      = "通 道:",
                        PhotoByteArray = item.Image,
                        Photo          = ImageConvert.ToBitmapImage(item.Image),
                        Name           = item.Channelname,
                        Datetime       = time.ToString(),
                        SnapDate       = time.ToShortDateString(),
                        SnapTime       = time.ToShortTimeString(),
                        Source         = template,
                        Score          = item.Score,
                        CameraInfo     = new Camera
                        {
                            Id        = item.Id,
                            Name      = item.Channelname,
                            Longitude = item.Longitude,
                            Latitude  = item.Latitude,
                            Location  = item.Address
                        }
                    });
                }

                #endregion
            }
            catch (Exception ex)
            {
                Logger <ThirftService> .Log.Error("SC_GetAnalysisResult", ex);
            }
            return(result);
        }
Exemplo n.º 4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="btiem"></param>
        /// <param name="etime"></param>
        public List <TargetedAnalysis> GetNoTargetAnalysisResultForMap(long btime, long etime)
        {
            BusinessServer.Client bServerClient = null;
            TTransport            transport2    = SocketOpter.Init(GlobalCache.Host, GlobalCache.Port, 0, ref bServerClient);

            return(SocketOpter.GetResult <ThirftService, List <TargetedAnalysis>, long, long>(
                       transport2,
                       bServerClient.QueryCrowdedAnalysis,
                       "GetNoTargetAnalysisResult[QueryCrowdedAnalysis]", true,
                       btime, etime
                       ));
        }
Exemplo n.º 5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="image"></param>
        /// <param name="nThreshold"></param>
        /// <param name="nMaxCount"></param>
        /// <param name="template"></param>
        /// <returns></returns>
        public IList <CameraSnapPerson> SC_GetAnalysisResultFromTemplateStore(byte[] image, int nThreshold, int nMaxCount, string template)
        {
            BusinessServer.Client bServerClient = null;
            TTransport            transport     = SocketOpter.Init(GlobalCache.Host, GlobalCache.Port, 0, ref bServerClient);
            List <FaceObj>        _ListFaceObj  = SocketOpter.GetResult <ThirftService, List <FaceObj>, byte[], int, int>(
                transport,
                bServerClient.QueryFaceObjByImg,
                "SC_GetAnalysisResultFromTemplateStore", true,
                image, nThreshold, nMaxCount
                );

            List <CameraSnapPerson> result = new List <CameraSnapPerson>();

            try
            {
                int row = 0;
                foreach (var item in _ListFaceObj)
                {
                    DateTime time = new DateTime(1970, 1, 1);//这个项目已19700101作为起点,计算时间
                    time = time.AddSeconds(item.Tmplate[0].DTm);
                    result.Add(new CameraSnapPerson
                    {
                        DataIndex      = ++row,
                        NameTitle      = "姓 名:",
                        Name           = item.TcName,
                        Datetime       = time.ToString(),
                        SnapDate       = time.ToShortDateString(),
                        SnapTime       = time.ToShortTimeString(),
                        Score          = item.NExten,
                        PhotoByteArray = item.Tmplate[0].Img,
                        Photo          = ImageConvert.ToBitmapImage(item.Tmplate[0].Img) // item.Tmplate[0].Img
                        ,
                        Source = template
                                 //,
                                 //CameraInfo = new Camera
                                 //{
                                 //    Longitude = item.Longitude,
                                 //    Latitude = item.Latitude,
                                 //    Location = item.Address
                                 //}
                    });
                }
            }
            catch (Exception ex)
            {
                Logger <ThirftService> .Log.Error("SC_GetAnalysisResultFromTemplateStore", ex);
            }
            return(result);
        }
Exemplo n.º 6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="capid"></param>
        /// <param name="capimg"></param>
        /// <param name="btime"></param>
        /// <param name="etime"></param>
        /// <returns></returns>
        public List <TrackInfo> QueryTrackPlayback(string capid, byte[] capimg, long btime, long etime)
        {
            List <TrackInfo> result = null;

            try
            {
                BusinessServer.Client bServerClient = null;
                TTransport            transport     = SocketOpter.Init(GlobalCache.Host, GlobalCache.Port, 0, ref bServerClient);
                result = SocketOpter.GetResult <ThriftService, List <TrackInfo>, string, byte[], long, long>(transport, bServerClient.QueryTrackPlayback, "QueryTrackPlayback", true, capid, capimg, btime, etime);
            }
            catch (Exception ex)
            {
                Logger <ThriftService> .Log.Error("QueryTrackPlayback", ex);
            }
            return(result);
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public static LastRecordInfo initPastResult()
        {
            LastRecordInfo res = new LastRecordInfo();

            try
            {
                BusinessServer.Client bServerClient = null;
                TTransport            transport     = SocketOpter.Init(GlobalCache.Host, GlobalCache.Port, 0, ref bServerClient);
                res = SocketOpter.GetResult <ThriftService, LastRecordInfo>(transport, bServerClient.QueryLastRecordInfo, "initPastResult", true);
            }
            catch (Exception ex)
            {
                Logger <ThriftServiceBasic> .Log.Error("initPastResult", ex);
            }
            return(res);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Snap
        /// </summary>
        /// <param name="duetime"></param>
        List <RealtimeCapInfoLBS> SelectSnapDataFromDb(int duetime)
        {
            //duetime
            List <RealtimeCapInfoLBS> result = new List <RealtimeCapInfoLBS>();

            try
            {
                BusinessServer.Client bServerClient = null;
                TTransport            transport     = SocketOpter.Init(GlobalCache.Host, GlobalCache.Port, 0, ref bServerClient);
                result = SocketOpter.GetResult <ThriftServiceUtilities, List <RealtimeCapInfoLBS>, int>(
                    transport,
                    bServerClient.QueryRealtimeCapInfoQLBS,
                    "SelectSnapDataFromDb", true,
                    duetime);
            }
            catch (Exception)
            {
            }
            return(result);
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public static List <string> SelectChannelPropertiesList()
        {
            List <string> result = new List <string>();

            try
            {
                BusinessServer.Client bServerClient = null;
                TTransport            transport     = SocketOpter.Init(GlobalCache.Host, GlobalCache.Port, 0, ref bServerClient);
                result = SocketOpter.GetResult <ThriftService, List <string> >(
                    transport,
                    bServerClient.QueryDefChannelType,
                    "QueryDefChannelType 查询通道类型", true
                    );
            }
            catch (Exception ex)
            {
                Logger <ThriftServiceBasic> .Log.Error("SelectChannelPropertiesList", ex);
            }
            return(result);
        }
Exemplo n.º 10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="capid"></param>
        /// <param name="capimg"></param>
        /// <param name="threshold"></param>
        /// <param name="btime"></param>
        /// <param name="etime"></param>
        /// <returns></returns>
        public IList <CameraSnapPerson> GetTargetAnalysisResult(string capid, byte[] capimg, int threshold, long btime, long etime)
        {
            BusinessServer.Client   bServerClient = null;
            TTransport              transport     = SocketOpter.Init(GlobalCache.Host, GlobalCache.Port, 0, ref bServerClient);
            List <TargetedAnalysis> result        = SocketOpter.GetResult <ThirftService, List <TargetedAnalysis>, string, byte[], int, long, long>(
                transport,
                bServerClient.QueryTargetedAnalysis,
                "GetTargetAnalysisResult", true,
                capid, capimg, threshold, btime, etime
                );

            List <CameraSnapPerson> SnapPersonItems = new List <CameraSnapPerson>();

            try
            {
                IEnumerable <TargetedAnalysis> sortResult = from r in result
                                                            orderby r.Count descending
                                                            select r;

                foreach (var item in sortResult)
                {
                    SnapPersonItems.Add(new PeopleModel.CameraSnapPerson
                    {
                        Name       = item.Name,
                        CameraInfo = new PeopleModel.Camera
                        {
                            Name            = item.Name,
                            Location        = item.Channel_address,
                            Longitude       = item.Longitude,
                            Latitude        = item.Latitude,
                            SnapPersonCount = item.Count
                        }
                    });
                }
            }
            catch (Exception ex)
            {
                Logger <ThirftService> .Log.Error("GetTargetAnalysisResult", ex);
            }
            return(SnapPersonItems);
        }
Exemplo n.º 11
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="capid"></param>
        /// <param name="qflag"></param>
        /// <returns>0-成功   1-失败</returns>
        public int UpdateRealtimeCmpToDbFlag(List <string> capid, int qflag)
        {
            int result = 404;

            try
            {
                BusinessServer.Client bServerClient = null;
                TTransport            transport     = SocketOpter.Init(GlobalCache.Host, GlobalCache.Port, 0, ref bServerClient);
                result = SocketOpter.GetResult <ThriftServiceUtilities, int, List <string>, int>(
                    transport,
                    bServerClient.UpdateRealtimeCmpQ,
                    "UpdateRealtimeCmpToDbFlag", true,
                    capid,
                    qflag
                    );
            }
            catch (Exception)
            {
            }
            return(result);
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public static List <MyChannelCfg> SelectChannelList()
        {
            List <MyChannelCfg> result = new List <MyChannelCfg>();

            try
            {
                BusinessServer.Client bServerClient  = null;
                TTransport            transport      = SocketOpter.Init(GlobalCache.Host, GlobalCache.Port, 0, ref bServerClient);
                List <ChannelCfgLBS>  ListChannelCfg =
                    SocketOpter.GetResult <ThriftService, List <ChannelCfgLBS> >(transport, bServerClient.QueryAllChannelLBS, "QueryAllChannel检出所有通道", true);

                //todo(暂时不需要) 包装返回类 使其返回需要的类
                foreach (ChannelCfgLBS cc in ListChannelCfg)
                {
                    result.Add(new MyChannelCfg().ChannelCfgToMyChannelCfgLBS(cc));
                }
            }
            catch (Exception ex)
            {
                Logger <ThriftServiceBasic> .Log.Error("SelectChannelList", ex);
            }
            return(result);
        }
Exemplo n.º 13
0
        public IList <TmpSnapInfo> GetNoTargetAnalysisResult(ref CameraSnapPerson suspectObj, long btime, long etime)
        {
            BusinessServer.Client bServerClient = null;
            TTransport            transport     = SocketOpter.Init(GlobalCache.Host, GlobalCache.Port, 0, ref bServerClient);
            SuspectAnalysisInfo   results       = SocketOpter.GetResult <ThirftService, SuspectAnalysisInfo, long, long>(
                transport,
                bServerClient.QueryKeyAreaSuspectAnalysis,
                "GetNoTargetAnalysisResult[QueryKeyAreaSuspectAnalysis]", true,
                btime, etime
                );

            List <TmpSnapInfo> result = new List <TmpSnapInfo>();

            try
            {
                suspectObj                     = new CameraSnapPerson();
                suspectObj.Photo               = ImageConvert.ToBitmapImage(results.Capcfg.Image);
                suspectObj.PhotoByteArray      = results.Capcfg.Image;
                suspectObj.CameraInfo          = new Camera();
                suspectObj.CameraInfo.Id       = results.Capcfg.Id;
                suspectObj.CameraInfo.Name     = results.Capcfg.Channelname;
                suspectObj.CameraInfo.Location = results.Capcfg.Address;
                if (results.Capcfg.Time > 0)
                {
                    string tmp = DateTimeConvert.LongTimeToString(results.Capcfg.Time);
                    suspectObj.SnapDate = Convert.ToDateTime(tmp).ToShortDateString();
                    suspectObj.SnapTime = Convert.ToDateTime(tmp).ToShortTimeString();
                }
                else
                {
                    suspectObj.SnapDate = string.Empty;
                    suspectObj.SnapTime = string.Empty;
                }

                foreach (SuspectAnalysis item in results.Sulist)
                {
                    TmpSnapInfo ts = new TmpSnapInfo();
                    ts.CameraChannelId = item.TcChannelID;
                    ts.CameraChannel   = item.Name;
                    ts.Longitude       = item.Longitude;
                    ts.Latitude        = item.Latitude;
                    ts.Location        = item.Channel_address;

                    #region TopFive
                    for (int i = 0; i < item.Capimg.Count; i++)
                    {
                        switch (i)
                        {
                        case 0:
                            ts.CameraTopOne = new Camera
                            {
                                Name               = item.Name,
                                SnapPersonCount    = item.Capimg[i].Count,
                                SnapPersonCountStr = item.Capimg[i].Count + " 次",
                                SnapPhoto          = ImageConvert.ToBitmapImage(item.Capimg[i].Capimg),
                                Location           = item.Channel_address,
                            };
                            break;

                        case 1:
                            ts.CameraTopTwo = new Camera
                            {
                                Name               = item.Name,
                                SnapPersonCount    = item.Capimg[i].Count,
                                SnapPersonCountStr = item.Capimg[i].Count + " 次",
                                SnapPhoto          = ImageConvert.ToBitmapImage(item.Capimg[i].Capimg),
                                Location           = item.Channel_address,
                            };
                            break;

                        case 2:
                            ts.CameraTopThree = new Camera
                            {
                                Name               = item.Name,
                                SnapPersonCount    = item.Capimg[i].Count,
                                SnapPersonCountStr = item.Capimg[i].Count + " 次",
                                SnapPhoto          = ImageConvert.ToBitmapImage(item.Capimg[i].Capimg),
                                Location           = item.Channel_address,
                            };
                            break;

                        case 3:
                            ts.CameraTopFour = new Camera
                            {
                                Name               = item.Name,
                                SnapPersonCount    = item.Capimg[i].Count,
                                SnapPersonCountStr = item.Capimg[i].Count + " 次",
                                SnapPhoto          = ImageConvert.ToBitmapImage(item.Capimg[i].Capimg),
                                Location           = item.Channel_address,
                            };
                            break;

                        case 4:
                            ts.CameraTopFive = new Camera
                            {
                                Name               = item.Name,
                                SnapPersonCount    = item.Capimg[i].Count,
                                SnapPersonCountStr = item.Capimg[i].Count + " 次",
                                SnapPhoto          = ImageConvert.ToBitmapImage(item.Capimg[i].Capimg),
                                Location           = item.Channel_address,
                            };
                            break;
                        }
                    }
                    #endregion

                    result.Add(ts);
                }
            }
            catch (Exception ex)
            {
                Logger <ThirftService> .Log.Error("GetNoTargetAnalysisResult", ex);
            }
            return(result);
        }