This commit is contained in:
Wyle.Gong-巩文昕
2025-04-22 16:42:48 +08:00
commit 67b0ad2723
95 changed files with 10508 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
package stage
import (
M "app/models"
"gorm.io/gorm"
)
type GraphLink struct {
M.BaseModel
StageID string `json:"stage_id" gorm:"column:stage_id;type:varchar(255);not null"`
SourceID string `json:"source_id" gorm:"column:source_id;type:varchar(255);not null"`
TargetID string `json:"target_id" gorm:"column:target_id;type:varchar(255);not null"`
LinkID string `json:"link_id" gorm:"column:link_id;type:varchar(255);not null"`
Meta string `json:"meta" gorm:"column:meta;type:mediumtext"`
}
func (GraphLink) TableName() string {
return "stage_graph_links"
}
// 获取前置节点
func (gl *GraphLink) SourceNode(db *gorm.DB) (*GraphNode, error) {
var node GraphNode
err := db.Where("id = ?", gl.SourceID).First(&node).Error
return &node, err
}
// 获取后置节点
func (gl *GraphLink) TargetNode(db *gorm.DB) (*GraphNode, error) {
var node GraphNode
err := db.Where("id = ?", gl.TargetID).First(&node).Error
return &node, err
}
+54
View File
@@ -0,0 +1,54 @@
package stage
import (
M "app/models"
P "app/models/project"
"gorm.io/gorm"
)
type GraphNode struct {
M.BaseModel
DemandID 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)"`
Type string `json:"type" gorm:"column:type;type:varchar(255);default:'node'"`
Meta string `json:"meta" gorm:"column:meta;type:mediumtext"`
}
func (GraphNode) TableName() string {
return "stage_graph_nodes"
}
// 获取关联的树节点
func (gn *GraphNode) Tree(db *gorm.DB) (*P.Demand, error) {
var tree P.Demand
err := db.Where("id = ?", gn.DemandID).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
}
func (gn *GraphNode) IncomingLinks(db *gorm.DB) ([]GraphLink, error) {
var links []GraphLink
err := db.Where("target_id = ?", gn.ID).Find(&links).Error
return links, err
}
// OutgoingLinks 获取出度连接
func (gn *GraphNode) OutgoingLinks(db *gorm.DB) ([]GraphLink, error) {
var links []GraphLink
err := db.Where("source_id = ?", gn.ID).Find(&links).Error
return links, err
}
+27
View File
@@ -0,0 +1,27 @@
package tools
import (
M "app/models"
)
type Endpoint struct {
M.BaseModel
StageID string `json:"stage_id" gorm:"column:stage_id;type:varchar(255);"`
ProjectID string `json:"project_id" gorm:"column:project_id;type:varchar(255);"`
DocID string `json:"doc_id" gorm:"column:doc_id;type:varchar(255);"`
Name string `json:"name" gorm:"column:name;type:varchar(255);"`
Path string `json:"path" gorm:"column:path;type:varchar(255);"`
Method string `json:"method" gorm:"column:method;type:varchar(255);"`
Description string `json:"description" gorm:"column:description;type:varchar(255);"`
Params string `json:"params" gorm:"column:params;type:mediumtext;"`
Headers string `json:"headers" gorm:"column:headers;type:mediumtext;"`
Body string `json:"body" gorm:"column:body;type:mediumtext;"`
Response string `json:"response" gorm:"column:response;type:mediumtext;"`
Merged bool `json:"merged" gorm:"column:merged;type:bool;"`
}
func (Endpoint) TableName() string {
return "stage_tool_endpoints"
}