|
@@ -39,19 +39,22 @@ func (a ruleChainService) Get(vendorId, recordId string) (models.RuleChain, erro
|
|
|
|
|
|
func (a ruleChainService) Create(ruleChain *models.RuleChain) error {
|
|
|
ruleChain.RecordId = guid.S()
|
|
|
- err := a.create(ruleChain)
|
|
|
- if err != nil {
|
|
|
- return err
|
|
|
+ if len(ruleChain.Cell) > 0 {
|
|
|
+ marshal, _ := json.Marshal(ruleChain.Cell)
|
|
|
+ ruleChain.Configuration = fmt.Sprintf("%s", marshal)
|
|
|
+ err := a.create(ruleChain)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
}
|
|
|
return a.model.RuleChain.Create(ruleChain)
|
|
|
}
|
|
|
|
|
|
func (a ruleChainService) create(ruleChain *models.RuleChain) error {
|
|
|
- fmt.Printf("++++++++++++++++%d+++++++++++++++", len(ruleChain.Cell))
|
|
|
if len(ruleChain.Cell) > 0 {
|
|
|
nodeMap := make(map[string]models.RuleNode)
|
|
|
for _, v := range ruleChain.Cell {
|
|
|
- if v.Data.Shape != "edge" {
|
|
|
+ if v.Shape != "edge" {
|
|
|
ruleNode := models.RuleNode{
|
|
|
Model: gorm.Model{},
|
|
|
RecordId: guid.S(),
|
|
@@ -61,21 +64,16 @@ func (a ruleChainService) create(ruleChain *models.RuleChain) error {
|
|
|
DebugModel: true,
|
|
|
Intro: v.Data.Desc,
|
|
|
}
|
|
|
- if v.Data.Shape == "input-node" {
|
|
|
+ if v.Shape == "input-node" {
|
|
|
ruleChain.FirstRuleNodeID = ruleNode.RecordId
|
|
|
ruleNode.Name = "数据输入"
|
|
|
}
|
|
|
|
|
|
- var configuration models.NodeConfiguration
|
|
|
- if v.Data.Shape == "action_node" {
|
|
|
- for _, header := range v.Data.Headers {
|
|
|
- configuration.Headers[header.Key] = header.Value
|
|
|
- }
|
|
|
+ if len(v.Data.Headers) > 0 {
|
|
|
+ marshal, _ := json.Marshal(v.Data.Headers)
|
|
|
+ ruleNode.Configuration = fmt.Sprintf("%s", marshal)
|
|
|
}
|
|
|
|
|
|
- marshal, _ := json.Marshal(configuration)
|
|
|
- ruleNode.Configuration = fmt.Sprintf("%s", marshal)
|
|
|
-
|
|
|
nodeMap[v.Id] = ruleNode
|
|
|
|
|
|
err := a.model.RuleNode.Create(&ruleNode)
|
|
@@ -86,7 +84,7 @@ func (a ruleChainService) create(ruleChain *models.RuleChain) error {
|
|
|
}
|
|
|
|
|
|
for _, v := range ruleChain.Cell {
|
|
|
- if v.Data.Shape == "edge" {
|
|
|
+ if v.Shape == "edge" {
|
|
|
err := a.model.Relation.Create(&models.Relation{
|
|
|
RecordId: guid.S(),
|
|
|
RuleChainId: ruleChain.RecordId,
|