From b0f374409775bd30ed8f0dc8d47d015d3edc0abb Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期二, 03 九月 2024 19:05:52 +0800
Subject: [PATCH] 1、修改查询策略 2、修改地址统计策略

---
 data/prepare.go |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/data/prepare.go b/data/prepare.go
index 1d38dd2..415c0c1 100644
--- a/data/prepare.go
+++ b/data/prepare.go
@@ -2,6 +2,7 @@
 
 import (
 	"fmt"
+	"regexp"
 	"ruleModelEngine/db"
 	"time"
 )
@@ -80,13 +81,35 @@
 
 	// 鎵惧埌鍑虹幇娆℃暟鏈�澶氱殑鍑鸿鍦板潃
 	maxOutCount := 0
+	maxTotalCount := 0
 	var frequentAddress string
+	floor1AddressCount := 0
+	floor1Address := ""
 	for address, count := range outAddressCounts {
+		maxTotalCount = maxTotalCount + count
+		re, _ := regexp.Compile(`\b1F\b`)
+		if re.MatchString(address) {
+			if count > floor1AddressCount {
+				floor1Address = address
+				floor1AddressCount = count
+				continue
+			}
+		}
 		if count > maxOutCount {
 			maxOutCount = count
 			frequentAddress = address
 		}
 	}
+
+	if frequentAddress == "" && floor1Address != "" {
+		frequentAddress = floor1Address
+	}
+	if frequentAddress != "" && floor1Address != "" {
+		if (float64(floor1AddressCount)/float64(maxTotalCount))*100 > 90 {
+			frequentAddress = floor1Address
+		}
+	}
+
 	if frequentAddress == "" {
 		maxInCount := 0
 		for address, count := range inAddressCounts {
@@ -96,6 +119,9 @@
 			}
 		}
 	}
+	//fmt.Println("in address: ", inAddressCounts)
+	//fmt.Println("out address: ", outAddressCounts)
+	//fmt.Println("final address: ", frequentAddress)
 	return frequentAddress
 }
 

--
Gitblit v1.8.0