44 lines
1.3 KiB
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
|
|
}
|