f3e3e82f52
- 新增设备持久化定时任务,每5分钟将Redis中采集的设备信息同步数据库 - 新增UserDevice和UserActive模型及相应数据库表和操作接口 - 设备信息上报中获取客户端公网IP,替代原X-Forwarded-For头部 - 新建OTA功能模块,实现OTA固件升级信息查询接口 - 支持OTA黑名单过滤与定向升级设备判断 - 设计OTA相关数据库结构:ota、black_list、ota_target_device表 - 缓存预热新增按品牌分组预热型号缓存 - 依赖注入新增OTA Repository及Handler路由配置 - 实现客户端公网IP提取逻辑,支持多种代理头部优先级识别
43 lines
1.2 KiB
Go
43 lines
1.2 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
// OTA 固件升级记录
|
|
type OTA struct {
|
|
ID int `json:"id"`
|
|
VerCode int `json:"verCode"`
|
|
VerName string `json:"verName"`
|
|
URL string `json:"url"`
|
|
MD5 string `json:"md5"`
|
|
Force int `json:"force"`
|
|
Desc *string `json:"desc,omitempty"`
|
|
Model *string `json:"model,omitempty"`
|
|
HW int `json:"hw"`
|
|
Target int `json:"target"`
|
|
Beta int `json:"beta"`
|
|
PawVerCode int `json:"pawVerCode"`
|
|
PawVerName string `json:"pawVerName"`
|
|
PawURL string `json:"pawUrl"`
|
|
PawMD5 string `json:"pawMd5"`
|
|
StartTime *time.Time `json:"startTime,omitempty"`
|
|
EndTime *time.Time `json:"endTime,omitempty"`
|
|
Status int `json:"status"`
|
|
}
|
|
|
|
// BlackList OTA 黑名单
|
|
type BlackList struct {
|
|
ID int `json:"id"`
|
|
OTAID int `json:"ota_id"`
|
|
Mac string `json:"mac"`
|
|
CreateAt time.Time `json:"create_at"`
|
|
}
|
|
|
|
// OTATargetDevice OTA 定向设备
|
|
type OTATargetDevice struct {
|
|
ID int `json:"id"`
|
|
OTAID int `json:"ota_id"`
|
|
MacAddr string `json:"mac_addr"`
|
|
Type int `json:"type"`
|
|
CreateAt time.Time `json:"create_at"`
|
|
}
|