PowerEngine/modelRT/model/model_parse.go

44 lines
1.3 KiB
Go

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
}