diff --git a/util/blueprint/blueprint_test.go b/util/blueprint/blueprint_test.go index 3da7b33..0aa2bcc 100644 --- a/util/blueprint/blueprint_test.go +++ b/util/blueprint/blueprint_test.go @@ -12,7 +12,7 @@ func TestExecMgr(t *testing.T) { } graphTest1 := bp.Create("testSwitch") - err = graphTest1.Do(EntranceID_IntParam, 2, 1, 3) + err = graphTest1.Do(EntranceID_IntParam, 20, 1, 3) if err != nil { t.Fatalf("Do EntranceID_IntParam failed,err:%v", err) } diff --git a/util/blueprint/node.go b/util/blueprint/node.go index 86d34f6..43bca69 100644 --- a/util/blueprint/node.go +++ b/util/blueprint/node.go @@ -54,7 +54,14 @@ func (en *execNode) GetInPortDefaultIntArrayValue(index int) []int64 { return nil } - return val.([]int64) + var arrayInt []int64 + arrayVal := val.([]any) + for i := range arrayVal { + if intVal, ok := arrayVal[i].(float64); ok { + arrayInt = append(arrayInt, int64(intVal)) + } + } + return arrayInt } func (en *execNode) GetInPortDefaultStringArrayValue(index int) []string { diff --git a/util/blueprint/sysnodes.go b/util/blueprint/sysnodes.go index 87439b3..a7453b3 100644 --- a/util/blueprint/sysnodes.go +++ b/util/blueprint/sysnodes.go @@ -408,7 +408,6 @@ func (em *RangeCompare) GetName() string { } func (em *RangeCompare) Exec() (int, error) { - inPortA := em.GetInPort(1) if inPortA == nil { return -1, fmt.Errorf("GreaterThanInteger inParam 1 not found") @@ -424,8 +423,8 @@ func (em *RangeCompare) Exec() (int, error) { return 0, nil } - for i := range intArray { - if intArray[i] <= ret { + for i := 0; i < len(intArray) && i < em.GetOutPortCount()-2; i++ { + if ret <= intArray[i] { return i + 2, nil } }