|
|
|
@@ -133,7 +133,7 @@ func (l *GetClusterResourceSpecLogic) syncResourcesToDB(apiResponses []APIRespon |
|
|
|
} |
|
|
|
|
|
|
|
// 处理资源变更 |
|
|
|
if err := l.handleResourceChanges(utils.StringToInt64(response.ClusterId), dbSpecs, apiSpecs); err != nil { |
|
|
|
if err := l.handleResourceChanges(dbSpecs, apiSpecs); err != nil { |
|
|
|
return fmt.Errorf("failed to handle resource changes: %w", err) |
|
|
|
} |
|
|
|
} |
|
|
|
@@ -158,7 +158,7 @@ func (l *GetClusterResourceSpecLogic) processAPIResponse(response APIResponse) ( |
|
|
|
return dbSpecs, apiSpecs, nil |
|
|
|
} |
|
|
|
|
|
|
|
func (l *GetClusterResourceSpecLogic) handleResourceChanges(ClusterId int64, dbSpecs, apiSpecs []models.TResourceSpec) error { |
|
|
|
func (l *GetClusterResourceSpecLogic) handleResourceChanges(dbSpecs, apiSpecs []models.TResourceSpec) error { |
|
|
|
// 创建资源映射 |
|
|
|
dbMap := make(map[string]models.TResourceSpec) |
|
|
|
for _, spec := range dbSpecs { |
|
|
|
@@ -211,17 +211,6 @@ func (l *GetClusterResourceSpecLogic) createNewResource(spec *models.TResourceSp |
|
|
|
return fmt.Errorf("failed to create resource: %w", err) |
|
|
|
} |
|
|
|
|
|
|
|
for i := range spec.BaseResourceSpecs { |
|
|
|
spec.BaseResourceSpecs[i].ResourceSpecId = spec.Id |
|
|
|
spec.BaseResourceSpecs[i].Id = 0 |
|
|
|
} |
|
|
|
|
|
|
|
if len(spec.BaseResourceSpecs) > 0 { |
|
|
|
if err := tx.CreateInBatches(spec.BaseResourceSpecs, 100).Error; err != nil { |
|
|
|
return fmt.Errorf("failed to create base resources: %w", err) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return nil |
|
|
|
}) |
|
|
|
} |
|
|
|
|