Esempio n. 1
0
        /// <summary>
        /// 获取所有人员列表
        /// </summary>
        /// <returns></returns>
        public async Task <List <UserResponse> > GetAllUser()
        {
            List <UserResponse> list = new List <UserResponse>();
            int  current             = 1;
            int  size    = 500;
            bool success = true;

            while (success)
            {
                var data = await _hikHttp.PostAsync <HikVisionResponse <ListBaseResponse <UserResponse> > >(
                    "/api/resource/v2/person/personList",
                    new
                {
                    pageNo   = current,
                    pageSize = size
                });

                if (data?.Data == null)
                {
                    return(list);
                }
                if (data.Data?.List?.Count <= 0)
                {
                    success = false;
                }
                else
                {
                    list.AddRange(data.Data.List);
                    current++;
                }
            }

            return(list);
        }
        /// <summary>
        /// <see cref="IParkRecordService.GetTempRecordList(string,string,int,int)"/>
        /// </summary>
        public async Task <ListBaseResponse <TempCarInRecordResponse> > GetTempRecordList(string parkSysCode, string plateNo, int pageNo, int pageSize)
        {
            var data = await _hikHttp.PostAsync <HikVisionResponse <ListBaseResponse <TempCarInRecordResponse> > >(
                "/api/pms/v1/tempCarInRecords/page", new
            {
                parkSysCode,
                plateNo,
                pageNo,
                pageSize
            });

            return(data?.Data);
        }
        /// <summary>
        /// <see cref="IParkRecordService.GetCrossRecord(string,string,string,DateTime?,DateTime?,int,int)"/>
        /// </summary>
        public async Task <ListBaseResponse <CrossRecordResponse> > GetCrossRecord(string parkSysCode, string entranceSysCode, string plateNo, DateTime?startTime, DateTime?endTime,
                                                                                   int pageNo, int pageSize)
        {
            //var data = await _parkingApi.AppendFormatToHik("/api/pms/v1/crossRecords/page")
            //    .SetHiKSecreity()
            //    .PostAsync(new
            //    {
            //        parkSysCode,
            //        entranceSysCode,
            //        plateNo,
            //        startTime,
            //        endTime,
            //        pageNo,
            //        pageSize
            //    })
            //    .ReciveJsonResultAsync<HikVisionResponse<ListBaseResponse<CrossRecordResponse>>>();

            var result = await _hikHttp.PostAsync <HikVisionResponse <ListBaseResponse <CrossRecordResponse> > >(
                "/api/pms/v1/crossRecords/page",
                new
            {
                parkSysCode,
                entranceSysCode,
                plateNo,
                startTime = startTime?.GetDateTimeFormats(),
                endTime   = endTime?.GetDateTimeFormats(),
                pageNo,
                pageSize
            });

            return(result?.Data);
        }
        /// <summary>
        /// <see cref="IParkingManageService.GetParkList(List{string})"/>
        /// </summary>
        public async Task <List <ParkInfoListResponse> > GetParkList(List <string> parkIndexCodes)
        {
            var data = await _hikHttp.PostAsync <HikVisionResponse <List <ParkInfoListResponse> > >("/api/resource/v1/park/parkList", new
            {
                parkIndexCodes = (parkIndexCodes?.Any() ?? false) ? (string.Join(",", parkIndexCodes)) : null
            });

            return(data?.Data);
        }
        /// <summary>
        /// <see cref="IHikVisionClient.PostAsync{T}(string,object)"/>
        /// </summary>
        public async Task <HikVisionResponse <T> > PostAsync <T>(string uri, object body) where T : class
        {
            var response = await _hikHttp.PostAsync <HikVisionResponse <T> >(uri, body);

            if (!response.Success)
            {
                throw new MyException($"{response.Msg}");
            }

            return(response);
        }
Esempio n. 6
0
        /// <summary>
        /// <see cref="IFaceService.GetSearchList(FaceSearchRequest)"/>
        /// </summary>
        public async Task <ListBaseResponse <FaceSearchResponse> > GetSearchList(FaceSearchRequest request)
        {
            var response = await _hikHttp.PostAsync <HikVisionResponse <ListBaseResponse <FaceSearchResponse> > >(
                "/api/frs/v1/event/face_capture/search", new
            {
                pageNo           = request.PageNo,
                pageSize         = request.PageSize,
                startTime        = request.StartTime.GetTimeIosFormatter(),
                endTim           = request.EndTime.GetTimeIosFormatter(),
                cameraIndexCodes = request.CameraIndexCodes,
                age    = request.Age,
                gender = request.Gender,
                glass  = request.Glass
            });

            if (!response.Success)
            {
                throw new MyException(response.Msg);
            }
            return(response.Data);
        }
Esempio n. 7
0
        /// <summary>
        /// <see cref="IVideoService.GetPreviewUrl(string,int,string,int,string)"/>
        /// </summary>
        public async Task <string> GetPreviewUrl(string cameraIndexCode, int streamType, string protocol, int transmode, string expand)
        {
            // 发起POST请求,超时时间15秒,返回响应字节数组
            var result = await _hikHttp.PostAsync <HikVisionResponse <PreviewUrlResponse> >("/api/video/v1/cameras/previewURLs", new
            {
                cameraIndexCode,
                streamType,
                protocol,
                transmode,
                expand
            });

            if (!result.Success)
            {
                _logger.LogInformation("/api/resource/v1/cameras/indexCode: POST fail");
                throw new MyException(result.Msg);
            }
            return(result.Data?.Url);
        }
Esempio n. 8
0
        /// <summary>
        /// <see cref="IDoorControlService.DoControl(List{string},int)"/>
        /// </summary>
        public async Task <List <Dto.DoorControlResponse> > DoControl(List <string> doorIndexCodeList, int controlType)
        {
            var data = await _hikHttp.PostAsync <HikVisionResponse <List <Dto.DoorControlResponse> > >("/api/acs/v1/door/doControl", new { doorIndexCodes = doorIndexCodeList, controlType });

            return(data?.Data);
        }