智慧建筑第三方功能集成微服务,目的是聚集所有涉及到第三方厂商调用的功能,按照业务功能划分不同微服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

396 lines
11 KiB

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json.Serialization;
namespace Common.Shared.Application.DaHua
{
/// <summary>
/// 录像段信息响应实体类
/// </summary>
public class RecordsResDto
{
/// <summary>
/// 录像段信息列表
/// </summary>
[JsonPropertyName("records")]
public List<RecordItem> Records { get; set; }
}
/// <summary>
/// 单个录像段信息
/// </summary>
public class RecordItem
{
/// <summary>
/// 通道编码
/// </summary>
[JsonPropertyName("channelId")]
public string ChannelId { get; set; }
/// <summary>
/// 录像来源:1=全部,2=设备,3=中心
/// </summary>
[JsonPropertyName("recordSource")]
public string RecordSource { get; set; }
/// <summary>
/// 录像类型:0=全部,1=远程录像,2=报警录像,6=定时录像
/// </summary>
[JsonPropertyName("recordType")]
public string RecordType { get; set; }
/// <summary>
/// 开始时间(时间戳,单位:秒)
/// </summary>
[JsonPropertyName("startTime")]
public string StartTime { get; set; }
/// <summary>
/// 结束时间(时间戳,单位:秒)
/// </summary>
[JsonPropertyName("endTime")]
public string EndTime { get; set; }
/// <summary>
/// 录像名字(不同厂家对文件的标识不同)
/// </summary>
[JsonPropertyName("recordName")]
public string RecordName { get; set; }
/// <summary>
/// 文件长度,单位 KB
/// </summary>
[JsonPropertyName("fileLength")]
public string FileLength { get; set; }
/// <summary>
/// 录像计划ID
/// </summary>
[JsonPropertyName("planId")]
public string PlanId { get; set; }
/// <summary>
/// 存储服务ID
/// </summary>
[JsonPropertyName("ssId")]
public string SsId { get; set; }
/// <summary>
/// 磁盘ID
/// </summary>
[JsonPropertyName("diskId")]
public string DiskId { get; set; }
/// <summary>
/// 码流处理ID (StreamId)
/// </summary>
[JsonPropertyName("streamId")]
public string StreamId { get; set; }
/// <summary>
/// 是否淡忘:0=未淡忘,1=已淡忘
/// </summary>
[JsonPropertyName("forgotten")]
public string Forgotten { get; set; }
/// <summary>
/// 码流类型:0=全部,1=主码流,2=辅码流
/// </summary>
[JsonPropertyName("streamType")]
public string StreamType { get; set; }
/// <summary>
/// 中心录像才会有值。取值含义:
/// 1:普通录像
/// 2:报警录像
/// 81:补录录像
/// 82:预录录像
///
/// 注意:按时间播放时建议使用此字段替换 recordType,因为 recordType 可能不准确,
/// 会导致查询的 streamId 错误,进而引起播放失败。
/// </summary>
[JsonPropertyName("videoRecordType")]
public string VideoRecordType { get; set; }
}
/// <summary>
/// 分页信息封装类
/// </summary>
public class PageInfoDto
{
/// <summary>
/// 当前页码
/// </summary>
[JsonPropertyName("currentPage")]
public int CurrentPage { get; set; }
/// <summary>
/// 总页数
/// </summary>
[JsonPropertyName("totalPage")]
public int TotalPage { get; set; }
/// <summary>
/// 每页记录数
/// </summary>
[JsonPropertyName("pageSize")]
public int PageSize { get; set; }
/// <summary>
/// 总记录数
/// </summary>
[JsonPropertyName("totalRows")]
public int TotalRows { get; set; }
/// <summary>
/// 数据列表
/// </summary>
[JsonPropertyName("pageData")]
public List<ChannelInfoVO> PageData { get; set; }
}
/// <summary>
/// 通道信息实体
/// </summary>
public class ChannelInfoVO
{
/// <summary>
/// 自增ID
/// </summary>
[JsonPropertyName("id")]
public long Id { get; set; }
/// <summary>
/// 设备编码
/// </summary>
[JsonPropertyName("deviceCode")]
public string DeviceCode { get; set; }
/// <summary>
/// 单元类型
/// </summary>
[JsonPropertyName("unitType")]
public int? UnitType { get; set; }
/// <summary>
/// 单元序号
/// </summary>
[JsonPropertyName("unitSeq")]
public int? UnitSeq { get; set; }
/// <summary>
/// 通道序号
/// </summary>
[JsonPropertyName("channelSeq")]
public int? ChannelSeq { get; set; }
/// <summary>
/// 通道编码
/// </summary>
[JsonPropertyName("channelCode")]
public string ChannelCode { get; set; }
/// <summary>
/// 通道标识码
/// </summary>
[JsonPropertyName("channelSn")]
public string ChannelSn { get; set; }
/// <summary>
/// 通道名称
/// </summary>
[JsonPropertyName("channelName")]
public string ChannelName { get; set; }
/// <summary>
/// 通道类型
/// </summary>
[JsonPropertyName("channelType")]
public string ChannelType { get; set; }
/// <summary>
/// 摄像头类型
/// </summary>
[JsonPropertyName("cameraType")]
public string CameraType { get; set; }
/// <summary>
/// 所属组织编码
/// </summary>
[JsonPropertyName("ownerCode")]
public string OwnerCode { get; set; }
/// <summary>
/// 经度
/// </summary>
[JsonPropertyName("gpsX")]
public string GpsX { get; set; }
/// <summary>
/// 纬度
/// </summary>
[JsonPropertyName("gpsY")]
public string GpsY { get; set; }
/// <summary>
/// Z轴(高度或海拔)
/// </summary>
[JsonPropertyName("gpsZ")]
public string GpsZ { get; set; }
/// <summary>
/// 光栅图ID
/// </summary>
[JsonPropertyName("mapId")]
public long? MapId { get; set; }
/// <summary>
/// 域ID
/// </summary>
[JsonPropertyName("domainId")]
public long? DomainId { get; set; }
/// <summary>
/// 描述信息
/// </summary>
[JsonPropertyName("memo")]
public string Memo { get; set; }
/// <summary>
/// 设备通道在线状态:0-离线,1-在线
/// </summary>
[JsonPropertyName("isOnline")]
public int? IsOnline { get; set; }
/// <summary>
/// 状态:0-关闭,1-开启
/// </summary>
[JsonPropertyName("stat")]
public int? Stat { get; set; }
/// <summary>
/// 是否休眠:0-非休眠,1-休眠
/// </summary>
[JsonPropertyName("sleepStat")]
public int? SleepStat { get; set; }
/// <summary>
/// 通道能力集,详细说明请参考通道能力集说明
/// </summary>
[JsonPropertyName("capability")]
public string Capability { get; set; }
/// <summary>
/// 是否已经接入:0-未接入,1-已接入
/// </summary>
[JsonPropertyName("access")]
public int? Access { get; set; }
/// <summary>
/// 通道详情扩展信息,JSON 字符串格式,具体结构参考设备扩展信息协议
/// </summary>
[JsonPropertyName("chExt")]
public string ChExt { get; set; }
/// <summary>
/// 是否是虚拟通道:0-否,1-是(注意:文档中类型为 String,保留为 string 类型)
/// </summary>
[JsonPropertyName("isVirtual")]
public string IsVirtual { get; set; }
}
/// <summary>
/// 大华回放地址
/// </summary>
public class UrlDataDto
{
/// <summary>
/// 最小速率
/// </summary>
[JsonPropertyName("minRate")]
public object MinRate { get; set; } // 用object类型兼容null和可能的数值类型
/// <summary>
/// 协议类型
/// </summary>
[JsonPropertyName("protocol")]
public string Protocol { get; set; } // 可为null
/// <summary>
/// IP地址
/// </summary>
[JsonPropertyName("ip")]
public string Ip { get; set; } // 可为null
/// <summary>
/// 端口号
/// </summary>
[JsonPropertyName("port")]
public object Port { get; set; } // 用object类型兼容null和可能的数值类型
/// <summary>
/// STUN启用状态
/// </summary>
[JsonPropertyName("stunEnable")]
public bool? StunEnable { get; set; } // 可空布尔类型
/// <summary>
/// STUN端口
/// </summary>
[JsonPropertyName("stunPort")]
public object StunPort { get; set; } // 用object类型兼容null和可能的数值类型
/// <summary>
/// RTSP地址
/// </summary>
[JsonPropertyName("url")]
public string Url { get; set; }
/// <summary>
/// 连接类型
/// </summary>
[JsonPropertyName("connectType")]
public string ConnectType { get; set; } // 可为null
/// <summary>
/// 会话标识
/// </summary>
[JsonPropertyName("session")]
public string Session { get; set; }
/// <summary>
/// 令牌
/// </summary>
[JsonPropertyName("token")]
public string Token { get; set; }
/// <summary>
/// 轨道标识
/// </summary>
[JsonPropertyName("trackId")]
public string TrackId { get; set; } // 可为null
// 添加JSON中存在的新属性
[JsonPropertyName("urlList")]
public object UrlList { get; set; } // 可为null
[JsonPropertyName("stream")]
public object Stream { get; set; } // 可为null
[JsonPropertyName("innerIp")]
public string InnerIp { get; set; } // 新增IP属性
[JsonPropertyName("compress")]
public bool? Compress { get; set; } // 压缩标识
[JsonPropertyName("reachable")]
public object Reachable { get; set; } // 可为null
[JsonPropertyName("wssDirect")]
public int? WssDirect { get; set; } // 新增数值属性
[JsonPropertyName("netFlag")]
public string NetFlag { get; set; } // 网络标识
}
}