package com.usky.sas.service.vo;

import com.usky.sas.domain.SasAlarsasGroupType;
import com.usky.sas.domain.SasVideoMonitorGroupType;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class DeviceConfigVO {

    private String id;

    private String deviceId;

    private Integer channel;

    private Integer deviceType;

    private String ipAddr;

    private Integer port;

    private String username;

    private Boolean shield;

    private String villageCode;

    private String houseCode;

    private String address;

    private String videoGroupType;

    private String alarmGroupType;

    private String note;

    private LocalDateTime createTime;

    private LocalDateTime updateTime;

    /** 设备类型名称（如：视频安防监控） */
    private String deviceTypeName;

    /** 报警联动组名称 */
    private String alarmGroupTypeName;

    /** 视频监控组名称 */
    private String videoGroupTypeName;

    /** 视频协议编码（对应 sas_device.video_protocol） */
    private Integer videoProtocol;

    /** 视频设备类型编码（对应 sas_device.video_type） */
    private Integer videoType;

    /** 是否已被其他设备绑定为 IPC（对应 sas_device.is_binding） */
    private Boolean isBinding;

    /** 绑定的 IPC 设备主键ID（由 bindingIpc 解析而来） */
    private String ipcId;

    /** 绑定的 IPC 名称：IPC 为 deviceId，NVR 为 deviceId-channel */
    private String ipcName;

    /** 报警联动组完整对象（包含 id/name/note） */
    private SasAlarsasGroupType alarmGroupTypes;

    /** 视频监控组完整对象（包含 id/name/note） */
    private SasVideoMonitorGroupType videoGroupTypes;
}
