package cn.iocoder.yudao.module.pms.controller.admin.yanfan.sip.device.channel.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - yf监控设备通道信息分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class YfSipDeviceChannelPageReqVO extends PageParam {

    @Schema(description = "租户名称", example = "芋艿")
    private String tenantName;

    @Schema(description = "产品ID", example = "4664")
    private Long productId;

    @Schema(description = "产品名称", example = "张三")
    private String productName;

    @Schema(description = "产品ID", example = "16646")
    private Long userId;

    @Schema(description = "产品名称", example = "芋艿")
    private String userName;

    @Schema(description = "通道SipID", example = "29445")
    private String channelSipId;

    @Schema(description = "通道名称", example = "王五")
    private String channelName;
    private String deviceSipId;

    @Schema(description = "注册时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] registerTime;

    @Schema(description = "设备类型", example = "2")
    private String deviceType;

    @Schema(description = "通道类型", example = "1")
    private String channelType;

    @Schema(description = "城市编码")
    private String cityCode;

    @Schema(description = "行政区域")
    private String civilCode;

    @Schema(description = "厂商名称")
    private String manufacture;

    @Schema(description = "产品型号")
    private String model;

    @Schema(description = "设备归属")
    private String owner;

    @Schema(description = "警区")
    private String block;

    @Schema(description = "安装地址")
    private String address;

    @Schema(description = "父级id", example = "27805")
    private String parentId;

    @Schema(description = "设备入网IP")
    private String ipAddress;

    @Schema(description = "设备接入端口号")
    private Long port;

    @Schema(description = "密码")
    private String password;

    @Schema(description = "PTZ类型", example = "2")
    private Long ptzType;

    @Schema(description = "PTZ类型描述字符串")
    private String ptzTypeText;

    @Schema(description = "设备状态（1-未激活，2-禁用，3-在线，4-离线）", example = "2")
    private Integer status;

    @Schema(description = "设备经度")
    private Double longitude;

    @Schema(description = "设备纬度")
    private Double latitude;

    @Schema(description = "流媒体ID", example = "20881")
    private String streamId;

    @Schema(description = "子设备数", example = "8801")
    private Long subCount;

    @Schema(description = "是否有子设备（1-有, 0-没有）")
    private Integer parental;

    @Schema(description = "是否含有音频（1-有, 0-没有）")
    private Integer hasAudio;

    @Schema(description = "删除标志（0代表存在 2代表删除）")
    private String delFlag;

    @Schema(description = "创建者")
    private String createBy;

    @Schema(description = "更新者")
    private String updateBy;

    @Schema(description = "备注", example = "随便")
    private String remark;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}
