PowerEngine/modelRT/model/model_parse.go

34 lines
887 B
Go

package model
import (
"modelRT/config"
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")
return
}
for _, circuitDiagram := range modelParseConfig.CircuitDiagramInfos {
parseStruct := SelectModelByType(circuitDiagram.Type)
err := jsoniter.Unmarshal([]byte(circuitDiagram.OtherParams), parseStruct)
if err != nil {
logger.Error("parsing circuit diagram params failed", zap.Int64("circuit_diagram_id", circuitDiagram.ID), zap.Error(err))
panic(err)
}
// TODO 利用多叉树结构存储解析后的电路图
}
key := modelParseConfig.CircuitDiagramID
// TODO 形成 key-多叉树结构
modelParseConfig.CircuitDiagramMap.Store(key, nil)
return
}