diff --git a/internal/repo/agent_repo.go b/internal/repo/agent_repo.go index d49013e..4452ed7 100644 --- a/internal/repo/agent_repo.go +++ b/internal/repo/agent_repo.go @@ -22,13 +22,17 @@ func NewAgentRepo(db *gorm.DB) *AgentRepo { // UpdateStatus 更新探针状态 func (r *AgentRepo) UpdateStatus(ctx context.Context, agentID string, status int, lastSeenAt int64) error { + m := map[string]interface{}{ + "status": status, + } + if lastSeenAt > 0 { + m["last_seen_at"] = lastSeenAt + } + return r.db.WithContext(ctx). Model(&models.Agent{}). Where("id = ?", agentID). - Updates(map[string]interface{}{ - "status": status, - "last_seen_at": lastSeenAt, - }).Error + Updates(m).Error } // FindOnlineAgents 查找所有在线探针