package com.bocloud.cmp.model.jumpserver;

import com.bocloud.cmp.model.DepartmentBean;

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

public class Device {
    private Long id;
    private String name;
    private Boolean deleted;
    private String ip;
    private String copyIp;// 修改前的ip地址
    // 资源类型，0 主机 ，1 网络设备，2 数据库，3 应用，4 Windows域。
    private Integer type;
    private SysType sysType;
    private Long joinTime;// 创建时间
    private Long updateTime;
    private Long joinUserId;// 创建者id
    private String joinUserName;// 创建者名字
    private Boolean managePwd;
    private List<ResourceGroup> resGroups;//资产组，对应平台的项目
    private DepartmentBean department;
    private Map<String, String> extra;
    private Map<String, String> extInfo;
    private String state;// 0- 启用, 1- 禁用
    private String charset;
    private Boolean hasCharset; // 接口返回是否有charset字段，目前看来：338有返回，335无返回
    private User owner; // 责任人
    private Boolean hasOwner; // 接口返回是否有责任人字段，目前看来：338有此功能，335无此功能
    private List<Account> accounts;
    private String description;
    private Map<String, DeviceService> services; // map的key是协议名称
    private Long creatorId;
    private Long ownerId;
    private Long tenantId;
    private Long typeId;
    private Long departmentId;
    private String groupIds;

    public Device() {
    }

    public Device(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Boolean getDeleted() {
        return deleted;
    }

    public void setDeleted(Boolean deleted) {
        this.deleted = deleted;
    }

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    public String getCopyIp() {
        return copyIp;
    }

    public void setCopyIp(String copyIp) {
        this.copyIp = copyIp;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public SysType getSysType() {
        return sysType;
    }

    public void setSysType(SysType sysType) {
        this.sysType = sysType;
    }

    public Long getJoinTime() {
        return joinTime;
    }

    public void setJoinTime(Long joinTime) {
        this.joinTime = joinTime;
    }

    public Long getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Long updateTime) {
        this.updateTime = updateTime;
    }

    public Long getJoinUserId() {
        return joinUserId;
    }

    public void setJoinUserId(Long joinUserId) {
        this.joinUserId = joinUserId;
    }

    public Boolean getManagePwd() {
        return managePwd;
    }

    public void setManagePwd(Boolean managePwd) {
        this.managePwd = managePwd;
    }

    public List<ResourceGroup> getResGroups() {
        return resGroups;
    }

    public void setResGroups(List<ResourceGroup> resGroups) {
        this.resGroups = resGroups;
    }

    public DepartmentBean getDepartment() {
        return department;
    }

    public void setDepartment(DepartmentBean department) {
        this.department = department;
    }

    public Map<String, String> getExtra() {
        return extra;
    }

    public void setExtra(Map<String, String> extra) {
        this.extra = extra;
    }

    public Map<String, String> getExtInfo() {
        return extInfo;
    }

    public void setExtInfo(Map<String, String> extInfo) {
        this.extInfo = extInfo;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getCharset() {
        return charset;
    }

    public void setCharset(String charset) {
        this.charset = charset;
    }

    public User getOwner() {
        return owner;
    }

    public void setOwner(User owner) {
        this.owner = owner;
    }

    public List<Account> getAccounts() {
        return accounts;
    }

    public void setAccounts(List<Account> accounts) {
        this.accounts = accounts;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Map<String, DeviceService> getServices() {
        return services;
    }

    public void setServices(Map<String, DeviceService> services) {
        this.services = services;
    }

    public Long getCreatorId() {
        return creatorId;
    }

    public void setCreatorId(Long creatorId) {
        this.creatorId = creatorId;
    }

    public Long getOwnerId() {
        return ownerId;
    }

    public void setOwnerId(Long ownerId) {
        this.ownerId = ownerId;
    }

    public Long getTenantId() {
        return tenantId;
    }

    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

    public Long getTypeId() {
        return typeId;
    }

    public void setTypeId(Long typeId) {
        this.typeId = typeId;
    }

    public String getGroupIds() {
        return groupIds;
    }

    public void setGroupIds(String groupIds) {
        this.groupIds = groupIds;
    }

    public String getJoinUserName() {
        return joinUserName;
    }

    public void setJoinUserName(String joinUserName) {
        this.joinUserName = joinUserName;
    }

    public Boolean getHasCharset() {
        return hasCharset;
    }

    public void setHasCharset(Boolean hasCharset) {
        this.hasCharset = hasCharset;
    }

    public Long getDepartmentId() {
        return departmentId;
    }

    public void setDepartmentId(Long departmentId) {
        this.departmentId = departmentId;
    }

    public Boolean getHasOwner() {
        return hasOwner;
    }

    public void setHasOwner(Boolean hasOwner) {
        this.hasOwner = hasOwner;
    }
}
