优化表结构,重构模型,重新实现基于白银网关的提取节点流程

This commit is contained in:
2025-11-24 18:44:06 +08:00
parent 9a574f55cb
commit cb2a963a37
142 changed files with 6528 additions and 5808 deletions

View File

@@ -28,21 +28,19 @@ func newEdge(db *gorm.DB, opts ...gen.DOOption) edge {
tableName := _edge.edgeDo.TableName()
_edge.ALL = field.NewAsterisk(tableName)
_edge.ID = field.NewInt32(tableName, "id")
_edge.ProxyID = field.NewInt32(tableName, "proxy_id")
_edge.Type = field.NewInt32(tableName, "type")
_edge.CreatedAt = field.NewTime(tableName, "created_at")
_edge.UpdatedAt = field.NewTime(tableName, "updated_at")
_edge.DeletedAt = field.NewField(tableName, "deleted_at")
_edge.Type = field.NewInt(tableName, "type")
_edge.Version = field.NewInt32(tableName, "version")
_edge.Name = field.NewString(tableName, "name")
_edge.Host = field.NewString(tableName, "host")
_edge.Isp = field.NewInt32(tableName, "isp")
_edge.Mac = field.NewString(tableName, "mac")
_edge.IP = field.NewField(tableName, "ip")
_edge.ISP = field.NewInt(tableName, "isp")
_edge.Prov = field.NewString(tableName, "prov")
_edge.City = field.NewString(tableName, "city")
_edge.ProxyPort = field.NewInt32(tableName, "proxy_port")
_edge.Status = field.NewInt32(tableName, "status")
_edge.Rtt = field.NewInt32(tableName, "rtt")
_edge.Status = field.NewInt(tableName, "status")
_edge.RTT = field.NewInt32(tableName, "rtt")
_edge.Loss = field.NewInt32(tableName, "loss")
_edge.CreatedAt = field.NewField(tableName, "created_at")
_edge.UpdatedAt = field.NewField(tableName, "updated_at")
_edge.DeletedAt = field.NewField(tableName, "deleted_at")
_edge.fillFieldMap()
@@ -53,22 +51,20 @@ type edge struct {
edgeDo
ALL field.Asterisk
ID field.Int32 // 节点ID
ProxyID field.Int32 // 代理ID
Type field.Int32 // 节点类型1-自建
Version field.Int32 // 节点版本
Name field.String // 节点名称
Host field.String // 节点地址
Isp field.Int32 // 运营商0-未知1-电信2-联通3-移动
Prov field.String // 省份
City field.String // 城市
ProxyPort field.Int32 // 代理端口
Status field.Int32 // 节点状态0-离线1-正常
Rtt field.Int32 // 最近平均延迟
Loss field.Int32 // 最近丢包率
CreatedAt field.Field // 创建时间
UpdatedAt field.Field // 更新时间
DeletedAt field.Field // 删除时间
ID field.Int32
CreatedAt field.Time
UpdatedAt field.Time
DeletedAt field.Field
Type field.Int
Version field.Int32
Mac field.String
IP field.Field
ISP field.Int
Prov field.String
City field.String
Status field.Int
RTT field.Int32
Loss field.Int32
fieldMap map[string]field.Expr
}
@@ -86,21 +82,19 @@ func (e edge) As(alias string) *edge {
func (e *edge) updateTableName(table string) *edge {
e.ALL = field.NewAsterisk(table)
e.ID = field.NewInt32(table, "id")
e.ProxyID = field.NewInt32(table, "proxy_id")
e.Type = field.NewInt32(table, "type")
e.CreatedAt = field.NewTime(table, "created_at")
e.UpdatedAt = field.NewTime(table, "updated_at")
e.DeletedAt = field.NewField(table, "deleted_at")
e.Type = field.NewInt(table, "type")
e.Version = field.NewInt32(table, "version")
e.Name = field.NewString(table, "name")
e.Host = field.NewString(table, "host")
e.Isp = field.NewInt32(table, "isp")
e.Mac = field.NewString(table, "mac")
e.IP = field.NewField(table, "ip")
e.ISP = field.NewInt(table, "isp")
e.Prov = field.NewString(table, "prov")
e.City = field.NewString(table, "city")
e.ProxyPort = field.NewInt32(table, "proxy_port")
e.Status = field.NewInt32(table, "status")
e.Rtt = field.NewInt32(table, "rtt")
e.Status = field.NewInt(table, "status")
e.RTT = field.NewInt32(table, "rtt")
e.Loss = field.NewInt32(table, "loss")
e.CreatedAt = field.NewField(table, "created_at")
e.UpdatedAt = field.NewField(table, "updated_at")
e.DeletedAt = field.NewField(table, "deleted_at")
e.fillFieldMap()
@@ -117,23 +111,21 @@ func (e *edge) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
}
func (e *edge) fillFieldMap() {
e.fieldMap = make(map[string]field.Expr, 16)
e.fieldMap = make(map[string]field.Expr, 14)
e.fieldMap["id"] = e.ID
e.fieldMap["proxy_id"] = e.ProxyID
e.fieldMap["type"] = e.Type
e.fieldMap["version"] = e.Version
e.fieldMap["name"] = e.Name
e.fieldMap["host"] = e.Host
e.fieldMap["isp"] = e.Isp
e.fieldMap["prov"] = e.Prov
e.fieldMap["city"] = e.City
e.fieldMap["proxy_port"] = e.ProxyPort
e.fieldMap["status"] = e.Status
e.fieldMap["rtt"] = e.Rtt
e.fieldMap["loss"] = e.Loss
e.fieldMap["created_at"] = e.CreatedAt
e.fieldMap["updated_at"] = e.UpdatedAt
e.fieldMap["deleted_at"] = e.DeletedAt
e.fieldMap["type"] = e.Type
e.fieldMap["version"] = e.Version
e.fieldMap["mac"] = e.Mac
e.fieldMap["ip"] = e.IP
e.fieldMap["isp"] = e.ISP
e.fieldMap["prov"] = e.Prov
e.fieldMap["city"] = e.City
e.fieldMap["status"] = e.Status
e.fieldMap["rtt"] = e.RTT
e.fieldMap["loss"] = e.Loss
}
func (e edge) clone(db *gorm.DB) edge {