/// <summary>
        /// 批量查询设备信息
        /// </summary>
        /// <returns></returns>
        private async Task DeviceQuery()
        {
            var model = new DeviceInfoQueryModel
            {
                StartTime = DateTime.Now.AddDays(-7)
            };

            await _client.DeviceQuery(model);
        }
Beispiel #2
0
        public async Task <NorthApiResult <DeviceInfoQueryResult> > DeviceQuery(DeviceInfoQueryModel model)
        {
            var result     = new NorthApiResult <DeviceInfoQueryResult>();
            var urlBuilder = new StringBuilder($"{_urls.DeviceQuery}?pageNo={model.PageNo}&pageSize={model.PageSize}&");

            #region ==构造条件

            if (model.GatewayId.NotNull())
            {
                urlBuilder.AppendFormat("gatewayId={0}&", model.GatewayId);
            }

            if (model.DeviceType.NotNull())
            {
                urlBuilder.AppendFormat("deviceType={0}&", model.DeviceType);
            }

            if (model.NodeType != null)
            {
                urlBuilder.AppendFormat("nodeType={0}&", model.NodeType.Value.ToString().FirstCharToLower());
            }

            if (model.Location.NotNull())
            {
                urlBuilder.AppendFormat("location={0}&", model.Location);
            }

            if (model.Name.NotNull())
            {
                urlBuilder.AppendFormat("name={0}&", model.Name);
            }

            if (model.Status != null)
            {
                urlBuilder.AppendFormat("status={0}&", model.Status.Value.ToString().ToUpper());
            }

            if (model.StartTime != null)
            {
                urlBuilder.AppendFormat("startTime={0}&", model.StartTime.Value.ToUniversalTime().ToString("yyyyMMdd'T'HHmmss'Z'"));
            }

            if (model.EndTime != null)
            {
                urlBuilder.AppendFormat("endTime={0}&", model.EndTime.Value.ToUniversalTime().ToString("yyyyMMdd'T'HHmmss'Z'"));
            }

            if (model.Sort.NotNull())
            {
                urlBuilder.AppendFormat("sort={0}&", model.Sort.ToUpper());
            }

            #endregion

            var httpResult = await _httpHandler.Get(urlBuilder.ToString());

            result.StatusCode = httpResult.StatusCode;

            if (result.StatusCode == HttpStatusCode.OK)
            {
                result.Success = true;
                result.Data    = JsonConvert.DeserializeObject <DeviceInfoQueryResult>(httpResult.Content);
                _logger?.LogDebug("DeviceGet:{@Result}", result.Data);
            }
            else
            {
                result.Error = JsonConvert.DeserializeObject <HttpError>(httpResult.Content);
                _logger?.LogDebug("DeviceGet:{@Error}", result.Error);
            }

            return(result);
        }