43 lines
1.1 KiB
Go
43 lines
1.1 KiB
Go
package models
|
||
|
||
import (
|
||
"gorm.io/gorm"
|
||
"time"
|
||
)
|
||
|
||
// Gateway 代表一个物联网网关设备
|
||
type Gateway struct {
|
||
ID uint `gorm:"primaryKey" json:"id"`
|
||
CreatedAt time.Time `json:"createdAt"`
|
||
UpdatedAt time.Time `json:"updatedAt"`
|
||
DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
|
||
// MAC地址是网关的唯一标识
|
||
MAC string `gorm:"size:32;uniqueIndex;not null" json:"mac"`
|
||
|
||
// 网关名称
|
||
Name string `gorm:"size:255" json:"name"`
|
||
|
||
// 所属区域ID,用于关联幼儿园或区域
|
||
RegionID uint32 `gorm:"index" json:"regionId"`
|
||
|
||
// 位置描述(如:一楼大厅、操场)
|
||
Location string `gorm:"size:255" json:"location"`
|
||
|
||
// 新增字段:是否已经售出
|
||
IsSold bool `json:"isSold"`
|
||
|
||
ProjectType string `gorm:"size:255;default:'heartrate'" json:"projectType"`
|
||
|
||
// 新增字段:售出时间
|
||
// 注意:使用 *time.Time 允许为空(未售出时为空)
|
||
SoldAt *time.Time `json:"soldAt,omitempty"`
|
||
|
||
// 是否启用
|
||
IsActive bool `json:"isActive"`
|
||
}
|
||
|
||
// TableName 指定数据库表名
|
||
func (Gateway) TableName() string {
|
||
return "gateways"
|
||
}
|