package models type Device struct { Id string `gorm:"primary_key;column:id" json:"id"` DevId string `gorm:"column:devId;unique;not null;" json:"devId"` //设备id DevType string `gorm:"column:devType" json:"devType"` //设备类型,如:存储、分析(盒子或amd服务器)、分析存储一体 DevMode string `gorm:"column:devMode" json:"devMode"` //设备型号,如:Bsk-JS1000X DevName string `gorm:"column:devName" json:"devName"` //设备名称 MachineCode string `gorm:"column:machineCode" json:"machineCode"` //机器码 ActivateCode string `gorm:"column:activateCode" json:"activateCode"` //激活码 ProductId string `gorm:"column:productId" json:"productId"` //产品id UserId string `gorm:"column:userId" json:"userId"` //用户id Address string `gorm:"column:address" json:"address"` //地址 DevIp string `gorm:"column:devIp" json:"devIp"` //ip DevCpu string `gorm:"column:devCpu" json:"devCpu"` //cpu DevGpu string `gorm:"column:devGpu" json:"devGpu"` //gpu Mem int `gorm:"column:mem" json:"mem"` //内存 Disk string `gorm:"column:disk" json:"disk"` //硬盘 ChannelCount int `gorm:"column:channelCount;default:16" json:"channelCount"` //算力数量 MasterVersion string `gorm:"column:masterVersion" json:"masterVersion"` //主控版本 WebVersion string `gorm:"column:webVersion" json:"webVersion"` //web版本 ServerPort string `gorm:"column:serverPort" json:"serverPort"` //端口:默认7003 SubMask string `gorm:"column:subMask" json:"subMask"` //子网掩码 Gateway string `gorm:"column:gateway" json:"gateway"` //网关 Dns string `gorm:"column:dns" json:"dns"` //dns Runtime string `gorm:"column:runtime" json:"runtime"` //运行时长 InstallTime string `gorm:"column:installTime" json:"installTime"` //安装时间 FirstUseTime string `gorm:"column:firstUseTime" json:"firstUseTime"` //首次使用时间 //集群相关信息 ClusterId string `gorm:"column:clusterId" json:"clusterId"` //集群id ClusterName string `gorm:"column:clusterName" json:"clusterName"` //集群名称 Status int `gorm:"column:status;default:0;" json:"status"` //状态 -1:离线, 1:在线 CreateTime string `gorm:"column:createTime" json:"createTime"` //记录时间 UpdateTime string `gorm:"column:updateTime" json:"updateTime"` //更新时间 } const ( DevStatus_OnLine = 1 //在线 DevStatus_OffLine = -1 //离线 ) func (Device) TableName() string { return "t_device" } func (d *Device) Insert() bool { result := db.Table(d.TableName()).Create(&d) if result.Error !=nil { return false } return result.RowsAffected>0 } func (d *Device) Update() bool { result := db.Table(d.TableName()).Update(&d) if result.Error !=nil { return false } return result.RowsAffected>0 } func (d *Device) SelectById(id string) (int64, error){ result := db.Table(d.TableName()).Where("id=?",id).First(&d) if result.Error != nil || result.RowsAffected == 0 { return 0, err } return result.RowsAffected, nil } func (d *Device) FindByDevId(devId string) (int64,error) { result := db.Table(d.TableName()).Where("devId=?", devId).First(&d) if result.Error != nil || result.RowsAffected == 0 { return 0, result.Error } return result.RowsAffected, nil } func (d *Device) FindAll() (list []Device){ if err:=db.Table(d.TableName()).Scan(&list).Error;err !=nil{ return nil } return list }