From f48b5277086908acf3ac2f9dab2687c57a0f8a3e Mon Sep 17 00:00:00 2001 From: douxu Date: Tue, 7 Jan 2025 16:45:52 +0800 Subject: [PATCH] fix bug of circuit diagram load handler --- diagram/topologic_set.go | 8 ++++++++ handler/circuit_diagram_load.go | 17 +++++++++++++++++ pool/concurrency_model_parse.go | 2 +- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/diagram/topologic_set.go b/diagram/topologic_set.go index 21c8f51..65be96a 100644 --- a/diagram/topologic_set.go +++ b/diagram/topologic_set.go @@ -9,6 +9,14 @@ import ( // graphOverview define struct of storage all circuit diagram topologic data var graphOverview sync.Map +// PrintGrapMap define func of print circuit diagram topologic info data +func PrintGrapMap() { + graphOverview.Range(func(key, value interface{}) bool { + fmt.Println(key, value) + return true + }) +} + // GetGraphMap define func of get circuit diagram topologic data by pageID func GetGraphMap(pageID int64) (*Graph, error) { value, ok := graphOverview.Load(pageID) diff --git a/handler/circuit_diagram_load.go b/handler/circuit_diagram_load.go index e1dbaf9..9deb1da 100644 --- a/handler/circuit_diagram_load.go +++ b/handler/circuit_diagram_load.go @@ -76,6 +76,23 @@ func CircuitDiagramLoadHandler(c *gin.Context) { componentParamMap[UUIDStr] = componentParams } } + + rootVertexUUID := topologicInfo.RootVertex.String() + rootComponentParam, err := diagram.GetComponentMap(rootVertexUUID) + if err != nil { + logger.Error("get component data from set by uuid failed", zap.Error(err)) + header := network.FailResponseHeader{Status: http.StatusBadRequest, ErrMsg: err.Error()} + resp := network.FailureResponse{ + FailResponseHeader: header, + PayLoad: map[string]interface{}{ + "uuid": rootVertexUUID, + }, + } + c.JSON(http.StatusOK, resp) + return + } + componentParamMap[rootVertexUUID] = rootComponentParam + payLoad["component_params"] = componentParamMap resp := network.SuccessResponse{ diff --git a/pool/concurrency_model_parse.go b/pool/concurrency_model_parse.go index 4d4e402..8072c41 100644 --- a/pool/concurrency_model_parse.go +++ b/pool/concurrency_model_parse.go @@ -34,7 +34,7 @@ var ParseFunc = func(parseConfig interface{}) { unmarshalMap := make(map[string]interface{}) tableName := model.SelectModelNameByType(modelParseConfig.ComponentInfo.ComponentType) - result := pgClient.WithContext(cancelCtx).Table(tableName).Where("global_uuid = ?", modelParseConfig.ComponentInfo.GlobalUUID).Find(&unmarshalMap) + result := pgClient.WithContext(cancelCtx).Table(tableName).Where("component_id = ?", modelParseConfig.ComponentInfo.ID).Find(&unmarshalMap) if result.Error != nil { logger.Error("query component detail info failed", zap.Error(result.Error)) return