From 3afb64b386434cf407620cb080b7a573f223610f Mon Sep 17 00:00:00 2001 From: HAOYUatHZ Date: Sat, 31 Aug 2019 18:53:36 +0800 Subject: [PATCH] fix --- toolbar/precog/database/orm/node.go | 11 +++++++++-- toolbar/precog/database/orm/node_liveness.go | 15 +++++++-------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/toolbar/precog/database/orm/node.go b/toolbar/precog/database/orm/node.go index 120e9501..05a2cc4e 100644 --- a/toolbar/precog/database/orm/node.go +++ b/toolbar/precog/database/orm/node.go @@ -17,6 +17,7 @@ type Node struct { IP string Port uint16 BestHeight uint64 + AvgLantencyMS sql.NullInt64 LatestDailyUptimeMinutes uint64 Status uint8 CreatedAt time.Time `json:"alias"` @@ -29,11 +30,17 @@ func (n *Node) MarshalJSON() ([]byte, error) { return nil, errors.New("fail to look up status") } + avgLantencyMS := 0 + if n.AvgLantencyMS.Valid { + avgLantencyMS = n.AvgLantencyMS.Int64 + } + return json.Marshal(&struct { Alias string `json:"alias"` PublicKey string `json:"publickey"` Address string `json:"address"` BestHeight uint64 `json:"best_height"` + AvgLantencyMS int64 `json:"avg_lantency_ms"` LatestDailyUptimeMinutes uint64 `json:"latest_daily_uptime_minutes"` Status string `json:"status"` UpdatedAt time.Time `json:"updated_at"` @@ -42,9 +49,9 @@ func (n *Node) MarshalJSON() ([]byte, error) { PublicKey: n.PublicKey, Address: fmt.Sprintf("%s:%d", n.IP, n.Port), BestHeight: n.BestHeight, + AvgLantencyMS: avgLantencyMS, LatestDailyUptimeMinutes: n.LatestDailyUptimeMinutes, - Status: status, - // TODO: + Status: status, UpdatedAt: time.Now(), }) } diff --git a/toolbar/precog/database/orm/node_liveness.go b/toolbar/precog/database/orm/node_liveness.go index c708129e..91ff4cee 100644 --- a/toolbar/precog/database/orm/node_liveness.go +++ b/toolbar/precog/database/orm/node_liveness.go @@ -6,14 +6,13 @@ import ( ) type NodeLiveness struct { - ID uint64 `gorm:"primary_key"` - NodeID uint16 - PingTimes uint64 - PongTimes uint64 - AvgLantencyMS sql.NullInt64 - BestHeight uint64 - CreatedAt time.Time - UpdatedAt time.Time + ID uint64 `gorm:"primary_key"` + NodeID uint16 + PingTimes uint64 + PongTimes uint64 + BestHeight uint64 + CreatedAt time.Time + UpdatedAt time.Time Node *Node `gorm:"foreignkey:NodeID"` } -- 2.11.0