testFlow/models/graph_node.go
Wyle.Gong-巩文昕 67b0ad2723 init
2025-04-22 16:42:48 +08:00

34 lines
1.2 KiB
Go

package models
import (
"gorm.io/gorm"
)
type GraphNode struct {
BaseModel
TreeID string `json:"tree_id" gorm:"column:tree_id;type:varchar(255);not null"`
StageID string `json:"stage_id" gorm:"column:stage_id;type:varchar(255);not null"`
InstanceID string `json:"instance_id" gorm:"column:instance_id;type:varchar(255);not null"`
X float64 `json:"x" gorm:"column:x;default:0"`
Y float64 `json:"y" gorm:"column:y;default:0"`
FX float64 `json:"fx" gorm:"column:fx;default:0"`
FY float64 `json:"fy" gorm:"column:fy;default:0"`
Name string `json:"name" gorm:"column:name;type:varchar(255)"`
Level int `json:"level" gorm:"column:level;default:0"`
ParentID string `json:"parent_id" gorm:"column:parent_id;type:varchar(255)"`
}
// 获取关联的树节点
func (gn *GraphNode) Tree(db *gorm.DB) (*Tree, error) {
var tree Tree
err := db.Where("id = ?", gn.TreeID).First(&tree).Error
return &tree, err
}
// 获取关联的所有连接
func (gn *GraphNode) Links(db *gorm.DB) ([]GraphLink, error) {
var links []GraphLink
err := db.Where("source_id = ? OR target_id = ?", gn.ID, gn.ID).Find(&links).Error
return links, err
}