package models import ( "time" ) // RadarData 网关上报 雷达数据 type RadarData struct { ID int64 `gorm:"primary_key"` //主键 DID string `gorm:"type:varchar(32)"` //设备编码 UDP发送端地址 GID string `gorm:"type:varchar(32)"` //网关ID UDP接收端 IP string `gorm:"type:varchar(32)"` //设备IP Port string `gorm:"type:varchar(32)"` //设备端口 0-65535 Time time.Time `gorm:"type:datetime"` //日期 UID uint16 `gorm:"type:smallint;default:0"` //序列号,16位连续,0-65535,溢出后归0 RadarID uint64 `gorm:"type:bigint;default:0"` //雷达通讯包里的ID,区分不同的物体 Type uint8 `gorm:"type:smallint;default:0"` // 类型 0点目标 1车目标 Speed float64 `gorm:"type:float;default:0"` // 速度值,单位是KM/H Dist float64 `gorm:"type:float;default:0"` // 距离值,单位米 CreatedAt time.Time } func (RadarData) TableName() string { return "t_radar_data" } func (o RadarData) Save() error { return G_db.Create(&o).Error } // RadarHourData 雷达数据小时统计 type RadarHourData struct { DID string `gorm:"type:varchar(32);not null;primary_key"` //设备编码 UDP发送端地址 GID string `gorm:"type:varchar(32);not null;primary_key"` //网关ID UDP接收端 Type uint8 `gorm:"type:smallint;default:0;not null;primary_key"` // 类型 0点目标 1车目标 Total int `gorm:"type:int;default:0;"` // 对应类型总数 OverSpeedNumber int `gorm:"type:int;default:0"` // 超速数量 SpeedMinNumber int `gorm:"type:int;default:0"` // <0 速度区间数量 Speed20Number int `gorm:"type:int;default:0"` // 0-20 速度区间数量 Speed40Number int `gorm:"type:int;default:0"` // 20-40 速度区间数量 Speed60Number int `gorm:"type:int;default:0"` // 40-60 速度区间数量 Speed80Number int `gorm:"type:int;default:0"` // 60-80 速度区间数量 Speed100Number int `gorm:"type:int;default:0"` // 80-100 速度区间数量 Speed120Number int `gorm:"type:int;default:0"` // 100-120 速度区间数量 SpeedMaxNumber int `gorm:"type:int;default:0"` // >120 速度区间数量 Time time.Time `gorm:"type:datetime;not null;primary_key"` //日期 2022-07-28 15:00:00 } func (RadarHourData) TableName() string { return "t_radar_hour_data" } func (o RadarHourData) Save() error { return G_db.Create(&o).Error } // RadarDayData 雷达数据每日统计 type RadarDayData struct { DID string `gorm:"type:varchar(32);not null;primary_key"` //设备编码 UDP发送端地址 GID string `gorm:"type:varchar(32);not null;primary_key"` //网关ID UDP接收端 Type uint8 `gorm:"type:smallint;default:0;not null;primary_key"` // 类型 0点目标 1车目标 Total int `gorm:"type:int;default:0"` // 对应类型总数 OverSpeedNumber int `gorm:"type:int;default:0"` // 超速数量 SpeedMinNumber int `gorm:"type:int;default:0"` // <0 速度区间数量 Speed20Number int `gorm:"type:int;default:0"` // 0-20 速度区间数量 Speed40Number int `gorm:"type:int;default:0"` // 20-40 速度区间数量 Speed60Number int `gorm:"type:int;default:0"` // 40-60 速度区间数量 Speed80Number int `gorm:"type:int;default:0"` // 60-80 速度区间数量 Speed100Number int `gorm:"type:int;default:0"` // 80-100 速度区间数量 Speed120Number int `gorm:"type:int;default:0"` // 100-120 速度区间数量 SpeedMaxNumber int `gorm:"type:int;default:0"` // >120 速度区间数量 Date time.Time `gorm:"type:date;not null;primary_key"` //日期 2022-07-28 } func (RadarDayData) TableName() string { return "t_radar_day_data" } func (o RadarDayData) Save() error { return G_db.Create(&o).Error }