package com.zc.business.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 交换机对象 dc_switch
 *
 * @author wangjiabao
 * @date 2024-04-19
 */

@ApiModel("交换机实体")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DcSwitch {

    /**
     * 交换机编号
     */
    @Excel(name = "交换机编号")
    @ApiModelProperty("交换机编号")
    private Integer switchId;

    /**
     * 父交换机编号
     */
    @Excel(name = "父交换机编号")
    @ApiModelProperty("父交换机编号")
    private Integer parentId;

    /**
     * 祖级列表
     */
    @Excel(name = "祖级列表")
    @ApiModelProperty("祖级列表")
    private String ancestors;

    /**
     * 交换机名称
     */
    @Excel(name = "交换机名称")
    @ApiModelProperty("交换机名称")
    private String switchName;

    /**
     * 所在桩号
     */
    @Excel(name = "所在桩号")
    @ApiModelProperty("所在桩号")
    private String stakeMark;

    /**
     * 设备列表
     */
    @Excel(name = "设备列表")
    @ApiModelProperty("设备列表")
    private String deviceList;
    /**
     * 交换机ip
     */
    @Excel(name = "交换机ip")
    @ApiModelProperty("交换机ip")
    private String switchIp;

    /**
     * 网路状态
     */
    @Excel(name = "网路状态")
    @ApiModelProperty("网路状态")
    private Integer netWorkStatus;

    /**
     * 环网
     */
    @Excel(name = "环网")
    @ApiModelProperty("环网")
    private Integer ringNetWork;

    /**
     * 使用状态
     */
    @Excel(name = "使用状态")
    @ApiModelProperty("使用状态")
    private Integer userState;

    /**
     * 创建时间
     */
    @Excel(name = "创建时间")
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;

    /**
     * 更新时间
     */
    @Excel(name = "更新时间")
    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date updateTime;

    private List<DcSwitch> children;


    /**
     * 故障数量
     */
    private int numberOfFaults;
    private Map<String, List<DcDevice>> dcDeviceList;

}