modelRT/diagram/component_set.go

42 lines
1.3 KiB
Go
Raw Normal View History

package diagram
import (
"errors"
"fmt"
"sync"
)
2024-12-18 16:25:49 +08:00
// diagramsOverview define struct of storage all circuit diagram data
var diagramsOverview sync.Map
// GetComponentMap define func of get circuit diagram data by component id
func GetComponentMap(componentID int64) (map[string]interface{}, error) {
value, ok := diagramsOverview.Load(componentID)
if !ok {
return nil, fmt.Errorf("can not find graph by global uuid:%d", componentID)
}
2024-12-18 16:25:49 +08:00
paramsMap, ok := value.(map[string]interface{})
if !ok {
return nil, errors.New("convert to component map struct failed")
}
return paramsMap, nil
}
// UpdateComponentMap define func of update circuit diagram data by component id and component info
func UpdateComponentMap(componentID int64, componentInfo map[string]interface{}) bool {
_, result := diagramsOverview.Swap(componentID, componentInfo)
return result
}
// StoreComponentMap define func of store circuit diagram data with component id and component info
func StoreComponentMap(componentID int64, componentInfo map[string]interface{}) {
diagramsOverview.Store(componentID, componentInfo)
return
}
// DeleteComponentMap define func of delete circuit diagram data with component id
func DeleteComponentMap(componentID int64) {
diagramsOverview.Delete(componentID)
return
}