package com.zksy.visualization.domain.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Objects;

@Data
@ApiModel(description = "HLS、RTMP录像回放（FLV不支持）请求参数")
public class VideoRecordHRQueryRequest {

    @ApiModelProperty(value = "Json对象", required = true)
    private Data data;

    @lombok.Data
    public static class Data {
        @ApiModelProperty(value = "视频通道编码，第一个$后数字代表通道类型，必须是1", required = true)
        private String channelId;

        @ApiModelProperty(value = "码流类型：1=主码流, 2=辅码流，3=辅码流2", required = true, allowableValues = "1,2,3")
        private String streamType;

        @ApiModelProperty(value = "格式类型，hls、hlss、rtmp; hls：http m3u8流，端口默认7086; hlss：https m3u8流，端口默认7096; rtmp：rtmp流，端口默认1975;", required = true, allowableValues = "hls,hlss,rtmp")
        private String type;

        @ApiModelProperty(value = "录像类型，1-普通录像；2-报警录像；其他录像类型接口不支持，建议参考HLS拼接参考HLS录像回放拼接方式或RTMP拼接参考RTMP录像回放拼接方式获取流地址说明", required = true, allowableValues = "1,2")
        private String recordType;

        @ApiModelProperty(value = "开始时间, 格式:yyyy-MM-dd HH:mm:ss ，时间必须大于等于在实际录像文件的开始时间", required = true)
        private String beginTime;

        @ApiModelProperty(value = "结束时间, 格式:yyyy-MM-dd HH:mm:ss，时间必须小于等于在实际录像文件的结束时间，beginTime与endTime不能跨文件", required = true)
        private String endTime;

        @ApiModelProperty(value = "录像来源：2：设备 device, 3：中心 center", required = true, allowableValues = "2,3")
        private String recordSource;
    }
}