package model import ( "errors" "modelRT/config" "modelRT/diagram" jsoniter "github.com/json-iterator/go" "go.uber.org/zap" ) var ParseFunc = func(parseConfig interface{}) { logger := zap.L() modelParseConfig, ok := parseConfig.(config.ModelParseConfig) if !ok { logger.Error("conversion model parse config type failed") panic(errors.New("conversion model parse config type failed")) } for _, circuitDiagram := range modelParseConfig.CircuitDiagramInfos { overviewKey := circuitDiagram.UUID unmarshalMap, err := diagram.GetCircuitDiagramMap(overviewKey) if err != nil { logger.Error("get circuit diagram map from overviewMap failed", zap.String("circuit_diagram_overview_key", overviewKey), zap.Error(err)) panic(err) } err = jsoniter.Unmarshal([]byte(circuitDiagram.OtherParams), unmarshalMap) if err != nil { logger.Error("parsing circuit diagram params failed", zap.Int64("circuit_diagram_id", circuitDiagram.ID), zap.Error(err)) panic(err) } unmarshalMap.Set("id", circuitDiagram.ID) unmarshalMap.Set("parent_id", circuitDiagram.ParentID) unmarshalMap.Set("type", circuitDiagram.Type) unmarshalMap.Set("created_time", circuitDiagram.CreatedTime) unmarshalMap.Set("updated_time", circuitDiagram.UpdateTime) } return }