feat(device): 增加设备信息持久化和OTA升级功能
- 新增设备持久化定时任务,每5分钟将Redis中采集的设备信息同步数据库 - 新增UserDevice和UserActive模型及相应数据库表和操作接口 - 设备信息上报中获取客户端公网IP,替代原X-Forwarded-For头部 - 新建OTA功能模块,实现OTA固件升级信息查询接口 - 支持OTA黑名单过滤与定向升级设备判断 - 设计OTA相关数据库结构:ota、black_list、ota_target_device表 - 缓存预热新增按品牌分组预热型号缓存 - 依赖注入新增OTA Repository及Handler路由配置 - 实现客户端公网IP提取逻辑,支持多种代理头部优先级识别
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
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"`
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package model
|
||||
|
||||
import "time"
|
||||
|
||||
type UserActive struct {
|
||||
ID int
|
||||
MacAddr string
|
||||
Model string
|
||||
ActiveDate string
|
||||
IpAddr string
|
||||
CreateAt time.Time
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package model
|
||||
|
||||
import "time"
|
||||
|
||||
type UserDevice struct {
|
||||
ID int
|
||||
MacAddr string
|
||||
Model string
|
||||
AddTime time.Time
|
||||
Ver *string
|
||||
}
|
||||
Reference in New Issue
Block a user