chore: adjust grom find 1 sql
This commit is contained in:
@@ -80,7 +80,8 @@ func (s *AgentService) DeleteToken(id string) error {
|
||||
// ValidateToken 验证令牌
|
||||
func (s *AgentService) ValidateToken(token string) (*models.AgentToken, error) {
|
||||
var agentToken models.AgentToken
|
||||
if err := database.DB.Where("token = ?", token).First(&agentToken).Error; err != nil {
|
||||
res := database.DB.Where("token = ?", token).Limit(1).Find(&agentToken)
|
||||
if res.Error != nil || res.RowsAffected == 0 {
|
||||
return nil, &ServiceError{Message: "无效的令牌"}
|
||||
}
|
||||
|
||||
@@ -120,7 +121,8 @@ func (s *AgentService) RegisterByToken(token string, machineID string, ip string
|
||||
// 如果提供了 machine_id,先检查是否已存在
|
||||
if machineID != "" {
|
||||
var existing models.Agent
|
||||
if err := database.DB.Where("machine_id = ?", machineID).First(&existing).Error; err == nil {
|
||||
res := database.DB.Where("machine_id = ?", machineID).Limit(1).Find(&existing)
|
||||
if res.Error == nil && res.RowsAffected > 0 {
|
||||
// 已存在,更新 token 和状态,复用已有 Agent
|
||||
now := models.LocalTime(time.Now())
|
||||
database.DB.Model(&existing).Updates(map[string]interface{}{
|
||||
@@ -171,7 +173,8 @@ func (s *AgentService) Register(req *models.AgentRegisterRequest, ip string) (*m
|
||||
|
||||
// 检查是否已存在同名 Agent
|
||||
var existing models.Agent
|
||||
if err := database.DB.Where("name = ?", req.Name).First(&existing).Error; err == nil {
|
||||
res := database.DB.Where("name = ?", req.Name).Limit(1).Find(&existing)
|
||||
if res.Error == nil && res.RowsAffected > 0 {
|
||||
return nil, "", &ServiceError{Message: "Agent 名称已存在"}
|
||||
}
|
||||
|
||||
@@ -223,7 +226,8 @@ func (s *AgentService) Delete(id string) error {
|
||||
// GetByID 根据 ID 获取 Agent
|
||||
func (s *AgentService) GetByID(id string) *models.Agent {
|
||||
var agent models.Agent
|
||||
if err := database.DB.Where("id = ?", id).First(&agent).Error; err != nil {
|
||||
res := database.DB.Where("id = ?", id).Limit(1).Find(&agent)
|
||||
if res.Error != nil || res.RowsAffected == 0 {
|
||||
return nil
|
||||
}
|
||||
return &agent
|
||||
@@ -232,7 +236,8 @@ func (s *AgentService) GetByID(id string) *models.Agent {
|
||||
// GetByToken 根据 Token 获取 Agent
|
||||
func (s *AgentService) GetByToken(token string) *models.Agent {
|
||||
var agent models.Agent
|
||||
if err := database.DB.Where("token = ?", token).First(&agent).Error; err != nil {
|
||||
res := database.DB.Where("token = ?", token).Limit(1).Find(&agent)
|
||||
if res.Error != nil || res.RowsAffected == 0 {
|
||||
return nil
|
||||
}
|
||||
return &agent
|
||||
@@ -241,7 +246,8 @@ func (s *AgentService) GetByToken(token string) *models.Agent {
|
||||
// GetByMachineID 根据 MachineID 获取 Agent
|
||||
func (s *AgentService) GetByMachineID(machineID string) *models.Agent {
|
||||
var agent models.Agent
|
||||
if err := database.DB.Where("machine_id = ?", machineID).First(&agent).Error; err != nil {
|
||||
res := database.DB.Where("machine_id = ?", machineID).Limit(1).Find(&agent)
|
||||
if res.Error != nil || res.RowsAffected == 0 {
|
||||
return nil
|
||||
}
|
||||
return &agent
|
||||
|
||||
Reference in New Issue
Block a user