zhangzengfei
2023-09-04 e8e536d1cb52d2126c8c7ce2ba1c7a76f7208678
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
package vo
 
import (
    "net"
    "vamicro/system-service/models"
 
    "basic.com/pubsub/protomsg.git"
)
 
type DevDetail struct {
    ServerId        string `json:"serverId,omitempty"`        //设备id
    MachineCode     string `json:"machineCode,omitempty"`     //机器码
    ServerName      string `json:"serverName,omitempty"`      //设备名称
    ServerPort      string `json:"serverPort,omitempty"`      //设备port
    Ip              string `json:"ip,omitempty"`              //设备ip
    SubMask         string `json:"subMask,omitempty"`         //子网掩码
    Gateway         string `json:"gateway,omitempty"`         //网关
    Dns             string `json:"dns,omitempty"`             //dns
    InstallTime     string `json:"installTime,omitempty"`     //安装时间
    DeviceNum       string `json:"deviceNum,omitempty"`       //设备编号
    DeviceType      string `json:"deviceType,omitempty"`      //设备详细型号eg. DS0301322264020416
    DeviceModel     string `json:"deviceModel,omitempty"`     //设备型号
    DeviceSerialNum string `json:"deviceSerialNum,omitempty"` //设备序列号
    MasterVersion   string `json:"masterVersion,omitempty"`   //主控版本
    WebVersion      string `json:"webVersion,omitempty"`      //web版本
    DeviceDesc      string `json:"deviceDesc,omitempty"`      //设备描述,说明是分析还是存储设备
    ChannelCount    int    `json:"channelCount,omitempty"`    //通道数量
    Disk            string `json:"disk,omitempty"`            //硬盘
    Cpu             string `json:"cpu,omitempty"`             //cpu
    Mem             uint64 `json:"mem,omitempty"`             //内存
    Runtime         string `json:"runtime,omitempty"`         //运行时长
    VGpu            string `json:"vGpu,omitempty"`            //通过驱动获取的显卡型号
    NeedAuthPwd     int    `json:"need_auth_pwd,omitempty"`   //设备授权管理方式 0:不用密码 1:通过密码
    AuthPwd         string `json:"auth_pwd,omitempty"`        //设备授权密码
    FirstUseTime    string `json:"firstUseTime,omitempty"`    //首次使用时间
    ProvinceId      string `json:"provinceId,omitempty"`      //省
    CityId          string `json:"cityId,omitempty"`          //市
    CountyId        string `json:"countyId,omitempty"`        //县
}
 
type SyncDevInfo struct {
    Detail DevDetail      `json:"detail,omitempty"` //设备详情
    Sdks   []protomsg.Sdk `json:"sdks,omitempty"`   //已安装算法
    Apps   []protomsg.App `json:"apps,omitempty"`   //已安装应用
}
 
type NetWorkCard struct {
    Index    int        `json:"index"`    //网卡序号
    MTU      int        `json:"mtu"`      //网卡MTU
    Name     string     `json:"name"`     //网卡名称
    Flags    string     `json:"flags"`    //网卡状态
    WireLess bool       `json:"wireless"` //是否是无线网卡
    LowerUp  bool       `json:"lower_up"` //网线是否连接
    Addrs    []net.Addr `json:"addrs"`    //网卡地址列表
}
 
type KeyBoardLayout struct {
    Id   string `json:"id"`   //布局ID
    Name string `json:"name"` //布局名称
}
 
type WiFi struct {
    Name          string `json:"name"`
    Quality       string `json:"quality"`
    EncryptionKey string `json:"encryption_key"`
}
 
func Copy2DeviceModel(detail DevDetail) models.Device {
    d := models.Device{
        DevId:         detail.ServerId,
        DevType:       detail.DeviceType,
        DevMode:       detail.DeviceModel,
        DevName:       detail.ServerName,
        MachineCode:   detail.MachineCode,
        DevIp:         detail.Ip,
        DevCpu:        detail.Cpu,
        Mem:           int(detail.Mem),
        Disk:          detail.Disk,
        ChannelCount:  detail.ChannelCount,
        MasterVersion: detail.MasterVersion,
        WebVersion:    detail.WebVersion,
        ServerPort:    detail.ServerPort,
        SubMask:       detail.SubMask,
        Gateway:       detail.Gateway,
        Dns:           detail.Dns,
        Runtime:       detail.Runtime,
        DevGpu:        detail.VGpu,
        InstallTime:   detail.InstallTime,
        FirstUseTime:  detail.FirstUseTime,
        ActivateCode:  "",
        ProductId:     "",
        UserId:        "",
        Address:       "",
        //集群相关信息
        ClusterId:   "",
        ClusterName: "",
        Status:      0,
        CreateTime:  "",
        UpdateTime:  "",
    }
    return d
}