|
@@ -74,8 +74,13 @@ func (a ruleChainService) Create(ruleChain *models.RuleChain) error {
|
|
|
func (a ruleChainService) create(ruleChain *models.RuleChain) error {
|
|
|
|
|
|
nodeMap := make(map[string]models.RuleNode)
|
|
|
+ var inputNodeId string
|
|
|
for _, v := range ruleChain.Cell {
|
|
|
if v.Shape != "edge" {
|
|
|
+ if v.Shape == "input-node" {
|
|
|
+ inputNodeId = v.Source.Cell
|
|
|
+ continue
|
|
|
+ }
|
|
|
ruleNode := models.RuleNode{
|
|
|
Model: gorm.Model{},
|
|
|
RecordId: guid.S(),
|
|
@@ -85,11 +90,6 @@ func (a ruleChainService) create(ruleChain *models.RuleChain) error {
|
|
|
DebugModel: true,
|
|
|
Intro: v.Data.Desc,
|
|
|
}
|
|
|
-
|
|
|
- if v.Shape == "input-node" {
|
|
|
- ruleChain.FirstRuleNodeID = ruleNode.RecordId
|
|
|
- ruleNode.Name = "数据输入"
|
|
|
- }
|
|
|
if ruleNode.Type == "MsgTypeSwitchNode" {
|
|
|
ruleNode.Name = "消息类型路由器"
|
|
|
}
|
|
@@ -130,7 +130,7 @@ func (a ruleChainService) create(ruleChain *models.RuleChain) error {
|
|
|
}
|
|
|
|
|
|
for _, v := range ruleChain.Cell {
|
|
|
- if v.Shape == "edge" {
|
|
|
+ if v.Shape == "edge" && v.Source.Cell != inputNodeId {
|
|
|
err := a.model.Relation.Create(&models.Relation{
|
|
|
RecordId: guid.S(),
|
|
|
RuleChainId: ruleChain.RecordId,
|