实现云端控制的动态节点分配逻辑
This commit is contained in:
@@ -28,12 +28,17 @@ func newNode(db *gorm.DB, opts ...gen.DOOption) node {
|
||||
tableName := _node.nodeDo.TableName()
|
||||
_node.ALL = field.NewAsterisk(tableName)
|
||||
_node.ID = field.NewInt32(tableName, "id")
|
||||
_node.Name = field.NewString(tableName, "name")
|
||||
_node.Version = field.NewInt32(tableName, "version")
|
||||
_node.FwdPort = field.NewInt32(tableName, "fwd_port")
|
||||
_node.Name = field.NewString(tableName, "name")
|
||||
_node.Host = field.NewString(tableName, "host")
|
||||
_node.Isp = field.NewString(tableName, "isp")
|
||||
_node.Prov = field.NewString(tableName, "prov")
|
||||
_node.City = field.NewString(tableName, "city")
|
||||
_node.ProxyID = field.NewInt32(tableName, "proxy_id")
|
||||
_node.ProxyPort = field.NewInt32(tableName, "proxy_port")
|
||||
_node.Status = field.NewInt32(tableName, "status")
|
||||
_node.Rtt = field.NewInt32(tableName, "rtt")
|
||||
_node.Loss = field.NewInt32(tableName, "loss")
|
||||
_node.CreatedAt = field.NewTime(tableName, "created_at")
|
||||
_node.UpdatedAt = field.NewTime(tableName, "updated_at")
|
||||
_node.DeletedAt = field.NewField(tableName, "deleted_at")
|
||||
@@ -48,12 +53,17 @@ type node struct {
|
||||
|
||||
ALL field.Asterisk
|
||||
ID field.Int32 // 节点ID
|
||||
Name field.String // 节点名称
|
||||
Version field.Int32 // 节点版本
|
||||
FwdPort field.Int32 // 转发端口
|
||||
Name field.String // 节点名称
|
||||
Host field.String // 节点地址
|
||||
Isp field.String // 运营商
|
||||
Prov field.String // 省份
|
||||
City field.String // 城市
|
||||
ProxyID field.Int32 // 代理ID
|
||||
ProxyPort field.Int32 // 代理端口
|
||||
Status field.Int32 // 节点状态:1-正常,0-离线
|
||||
Rtt field.Int32 // 延迟
|
||||
Loss field.Int32 // 丢包率
|
||||
CreatedAt field.Time // 创建时间
|
||||
UpdatedAt field.Time // 更新时间
|
||||
DeletedAt field.Field // 删除时间
|
||||
@@ -74,12 +84,17 @@ func (n node) As(alias string) *node {
|
||||
func (n *node) updateTableName(table string) *node {
|
||||
n.ALL = field.NewAsterisk(table)
|
||||
n.ID = field.NewInt32(table, "id")
|
||||
n.Name = field.NewString(table, "name")
|
||||
n.Version = field.NewInt32(table, "version")
|
||||
n.FwdPort = field.NewInt32(table, "fwd_port")
|
||||
n.Name = field.NewString(table, "name")
|
||||
n.Host = field.NewString(table, "host")
|
||||
n.Isp = field.NewString(table, "isp")
|
||||
n.Prov = field.NewString(table, "prov")
|
||||
n.City = field.NewString(table, "city")
|
||||
n.ProxyID = field.NewInt32(table, "proxy_id")
|
||||
n.ProxyPort = field.NewInt32(table, "proxy_port")
|
||||
n.Status = field.NewInt32(table, "status")
|
||||
n.Rtt = field.NewInt32(table, "rtt")
|
||||
n.Loss = field.NewInt32(table, "loss")
|
||||
n.CreatedAt = field.NewTime(table, "created_at")
|
||||
n.UpdatedAt = field.NewTime(table, "updated_at")
|
||||
n.DeletedAt = field.NewField(table, "deleted_at")
|
||||
@@ -99,14 +114,19 @@ func (n *node) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
|
||||
}
|
||||
|
||||
func (n *node) fillFieldMap() {
|
||||
n.fieldMap = make(map[string]field.Expr, 10)
|
||||
n.fieldMap = make(map[string]field.Expr, 15)
|
||||
n.fieldMap["id"] = n.ID
|
||||
n.fieldMap["name"] = n.Name
|
||||
n.fieldMap["version"] = n.Version
|
||||
n.fieldMap["fwd_port"] = n.FwdPort
|
||||
n.fieldMap["name"] = n.Name
|
||||
n.fieldMap["host"] = n.Host
|
||||
n.fieldMap["isp"] = n.Isp
|
||||
n.fieldMap["prov"] = n.Prov
|
||||
n.fieldMap["city"] = n.City
|
||||
n.fieldMap["proxy_id"] = n.ProxyID
|
||||
n.fieldMap["proxy_port"] = n.ProxyPort
|
||||
n.fieldMap["status"] = n.Status
|
||||
n.fieldMap["rtt"] = n.Rtt
|
||||
n.fieldMap["loss"] = n.Loss
|
||||
n.fieldMap["created_at"] = n.CreatedAt
|
||||
n.fieldMap["updated_at"] = n.UpdatedAt
|
||||
n.fieldMap["deleted_at"] = n.DeletedAt
|
||||
|
||||
Reference in New Issue
Block a user