From 78c5692e45a4357adffb864dfe105fa36c814ed3 Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期四, 05 九月 2024 13:55:28 +0800
Subject: [PATCH] 添加阈值到配置文件
---
config/config.go | 13 +++++++------
data/prepare.go | 22 ++++++++++++----------
config/rulemodelengine.yaml | 4 +++-
3 files changed, 22 insertions(+), 17 deletions(-)
diff --git a/config/config.go b/config/config.go
index f29e1cd..61d850f 100644
--- a/config/config.go
+++ b/config/config.go
@@ -42,12 +42,13 @@
}
type api struct {
- Host string `mapstructure: "host"`
- Port string `mapstructure: "port"`
- TimeThreshold int `mapstructure:"timeThreshold"`
- CsTimes int `mapstructure:"csTimes"`
- CsHours int `mapstructure:"csHours"`
- AInterval int `mapstructure:"aInterval"`
+ Host string `mapstructure: "host"`
+ Port string `mapstructure: "port"`
+ CapAddrDaysThreshold int `mapstructure:"capAddrDaysThreshold"`
+ TimeThreshold int `mapstructure:"timeThreshold"`
+ CsTimes int `mapstructure:"csTimes"`
+ CsHours int `mapstructure:"csHours"`
+ AInterval int `mapstructure:"aInterval"`
}
var LogConf = &LogConfig{}
diff --git a/config/rulemodelengine.yaml b/config/rulemodelengine.yaml
index aa9cd5f..7bf547e 100644
--- a/config/rulemodelengine.yaml
+++ b/config/rulemodelengine.yaml
@@ -28,7 +28,9 @@
api:
host: 192.168.20.115
port: 4101
- timeThreshold: 90 #timeThreshold 鏌ヨ妗f鏃堕棿鑼冨洿锛屼负涔嬪墠timeThreshold澶╀箣鍐呯殑鏁版嵁
+ capAddrDaysThreshold: 50 #capAddrDaysThreshold 鎶撴媿闈炵┖闈�1妤奸潪鍦颁笅鍦板潃澶╂暟鍗犳�诲ぉ鏁版瘮鍊硷紝鐧惧垎鍒�
+ timeThreshold: 270 #timeThreshold 鏌ヨ妗f鏃堕棿鑼冨洿锛屼负涔嬪墠timeThreshold澶╀箣鍐呯殑鏁版嵁
csTimes: 10 #climbed stairs times 绐滄ゼ娆℃暟
csHours: 5 #climbed stairs hours 绐滄ゼ棰勮鏃堕棿 璇sHours鏃堕棿鑼冨洿涔嬪唴
aInterval: 3 #interval time between anomalies 杩涘嚭寮傚父闂撮殧鏃堕棿
+ parse2excel: true #鑻ヤ负true锛屾湰娆′粎鐢熸垚鎶ヨ〃锛屼笉璺戣鍒�
diff --git a/data/prepare.go b/data/prepare.go
index 600949c..6fec710 100644
--- a/data/prepare.go
+++ b/data/prepare.go
@@ -3,6 +3,7 @@
import (
"fmt"
"regexp"
+ "ruleModelEngine/config"
"ruleModelEngine/db"
"strings"
"time"
@@ -120,10 +121,11 @@
//濡傛灉鏄紝 鎻愬墠璁剧疆濂藉鐢ㄥ湴鍧� floor1Address = detail.CaptureAddress
floor1Address = detail.CaptureAddress
}
- if matchFlagNoF && floor1Address != "" {
+ if matchFlagNoF && floor1Address == "" {
//濡傛灉鏄紝 鎻愬墠璁剧疆濂藉鐢ㄥ湴鍧� floor1Address = detail.CaptureAddress
floor1Address = detail.CaptureAddress
}
+ //fmt.Println("now floor1Address:", floor1Address,"\tnow detail CaptureAddress",detail.CaptureAddress)
//鍒ゆ柇鏃ユ湡鏍囨槸鍚︽弧瓒虫潯浠� 鍒ゆ柇鏃ユ湡鏍囨槸鍚︿负绌猴紝鑻ヤ负绌鸿〃绀烘槸绗竴涓厓绱狅紝鍒濆鍖栨棩鏈熼澏鏍�
if pointDate == "" {
//鍒濆鍖栨棩鏈熼澏鏍囦负褰撳墠鏃ユ湡
@@ -132,7 +134,7 @@
pointAddress[detail.CaptureAddress]++
//鑻ヤ负鏈�鍚庝竴鏉″垯璁$畻鍗曟棩甯哥敤鍦板潃
if index == len(captureDetail)-1 {
- fmt.Println("澶勭悊鍓峱ointAddress琛細", pointAddress)
+ //fmt.Println("澶勭悊鍓峱ointAddress琛細", pointAddress)
//杩欎唬琛ㄤ粎鏈変竴鏉℃暟鎹紝灏嗕細鐩存帴鎶婂綋鍓嶅湴鍧�鍔犲叆dateAddress 鏃ユ湡姹囨�诲崟鏃ュ父鐢ㄥ湴鍧�琛ㄥ唴 涓嬫柟continue浼氱洿鎺ョ粨鏉熷惊鐜�
//鍚﹀垯浼氬垵濮嬪寲pointDate鍜宲ointAddress
dateAddress[pointDate] = detail.CaptureAddress
@@ -145,7 +147,7 @@
pointAddress[detail.CaptureAddress]++
//鑻ヤ负鏈�鍚庝竴鏉″垯璁$畻鍗曟棩甯哥敤鍦板潃
if index == len(captureDetail)-1 {
- fmt.Println("澶勭悊鍓峱ointAddress琛細", pointAddress)
+ //fmt.Println("澶勭悊鍓峱ointAddress琛細", pointAddress)
//璁$畻鍗曟棩甯哥敤鍦板潃 鑻ュ湴鍧�鍐呴兘涓�1F鎴栬�呯┖鍦板潃锛屼細杩斿洖绌哄湴鍧�
dateAddress[pointDate] = getfrAddress(pointAddress)
continue
@@ -157,7 +159,7 @@
//鎶婂綋鍓嶆渶鍚庝竴鏉″姞鍏� pointAddress闈舵爣鍦板潃
pointAddress[detail.CaptureAddress]++
//
- fmt.Println("澶勭悊鍓峱ointAddress琛細", pointAddress)
+ //fmt.Println("澶勭悊鍓峱ointAddress琛細", pointAddress)
//璁$畻鍗曟棩甯哥敤鍦板潃 鑻ュ湴鍧�鍐呴兘涓�1F鎴栬�呯┖鍦板潃锛屼細杩斿洖绌哄湴鍧�
dateAddress[pointDate] = getfrAddress(pointAddress)
continue
@@ -169,11 +171,11 @@
pointAddress = make(map[string]int, 0)
}
}
- fmt.Println("鎶撴媿鍦板潃寰呭鐞嗙粨鏋勮〃锛�", dateAddress)
- fmt.Println("dareAddress len: ", len(dateAddress))
- //鍒ゆ柇鎶撴媿鐨勯潪1妤奸潪绌虹殑澶╂暟鍗犳瘮鎬诲ぉ鏁�
- if float64(len(dateAddress))/float64(len(captureDays))*100 >= 50 {
- fmt.Println("闈�1妤奸潪绌烘姄鎷嶅崰姣�: ", float64(len(dateAddress))/float64(len(captureDays))*100)
+ //fmt.Println("鎶撴媿鍦板潃寰呭鐞嗙粨鏋勮〃锛�", dateAddress)
+ //fmt.Println("dareAddress len: ", len(dateAddress))
+ //鍒ゆ柇鎶撴媿鐨勯潪1妤奸潪绌洪潪鍦颁笅鐨勫ぉ鏁板崰姣旀�诲ぉ鏁�
+ if float64(len(dateAddress))/float64(len(captureDays))*100 >= float64(config.Api.CapAddrDaysThreshold) {
+ //fmt.Println("闈�1妤奸潪绌烘姄鎷嶅崰姣�: ", float64(len(dateAddress))/float64(len(captureDays))*100)
//鍒濆鍖栧湴鍧�鍒楄〃锛屾寜鍦板潃璁℃暟
addressCount := make(map[string]int)
//閬嶅巻涔嬪墠姹囨�荤殑鍗曟棩甯哥敤鍦板潃鍒楄〃
@@ -193,7 +195,7 @@
}
//fmt.Println("in address: ", inAddressCounts)
//fmt.Println("out address: ", outAddressCounts)
- fmt.Println("final address: ", frequentAddress)
+ //fmt.Println("final address: ", frequentAddress)
return frequentAddress
}
--
Gitblit v1.8.0