瀏覽代碼

feat: 将值的逻辑运行修改为float64类型

gaoyagang 1 年之前
父節點
當前提交
3d0bc3b27e
共有 3 個文件被更改,包括 18 次插入5 次删除
  1. 2 2
      envitem/func_test.go
  2. 9 3
      identify/single.go
  3. 7 0
      identify/single_test.go

+ 2 - 2
envitem/func_test.go

@@ -8,10 +8,10 @@ import (
 )
 
 func TestEnvItem_GetCurrentData(t *testing.T) {
-	SetOptions(Options{GtServerIp: "47.96.12.136:8788"})
+	SetOptions(Options{GtServerIp: "120.55.44.4:8900"})
 	e := EnvItem{
 		ProjectId: 92,
-		Item:      "C.M.LT_QSC@out",
+		Item:      "C.M.UF2_BHGF@fault_total",
 	}
 
 	v, ht, err := e.getCurrentValue()

+ 9 - 3
identify/single.go

@@ -145,6 +145,7 @@ func (s *SingleItem) nvNotIn(slice []ItemValue) bool {
 func (s *SingleItem) inSlice(slice []ItemValue, v ItemValue) bool {
 	for _, s2 := range slice {
 		s1 := s.transVar(s2)
+		println(s1)
 		if s1 == v {
 			return true
 		}
@@ -184,6 +185,8 @@ func (s *SingleItem) transVar(v ItemValue) ItemValue {
 }
 
 func (s *SingleItem) compare(r string, v string) bool {
+	println(r)
+	println(v)
 	if strings.Index(r, "...") > -1 {
 		return s.compareRange(r, v)
 	} else if strings.Index(r, " ") > 1 {
@@ -319,19 +322,22 @@ func (s *SingleItem) calc(v string) string {
 }
 
 func (s *SingleItem) compareLogic(r string, v string) bool {
+	println(r)
+	println(v)
+
 	rl := strings.Split(r, " ")
 	if len(rl) != 2 {
 		return false
 	}
 
-	var ri, vi int64 = 0, 0
-	if tri, err := strconv.ParseInt(strings.TrimSpace(rl[1]), 10, 64); err == nil {
+	var ri, vi float64 = 0, 0
+	if tri, err := strconv.ParseFloat(strings.TrimSpace(rl[1]), 64); err == nil {
 		ri = tri
 	} else {
 		return false
 	}
 
-	if tvi, err := strconv.ParseInt(strings.TrimSpace(v), 10, 64); err == nil {
+	if tvi, err := strconv.ParseFloat(strings.TrimSpace(v), 64); err == nil {
 		vi = tvi
 	} else {
 		return false

+ 7 - 0
identify/single_test.go

@@ -9,3 +9,10 @@ func TestStepTest(t *testing.T) {
 	x := StepTest("0", "0", rule)
 	t.Log(x)
 }
+
+func TestStepTest1(t *testing.T) {
+	// 值逻辑比较 > 0.3的情况
+	rule := `{"xxx":{"NvIn":[">= 0.3"]}}`
+	x := StepTest("0", "0.31", rule)
+	t.Log(x)
+}