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、修改地址统计策略

---
 rule/service.go |   34 +++++++++++++++++++++++-----------
 1 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/rule/service.go b/rule/service.go
index 5fac3c6..eb9fcbe 100644
--- a/rule/service.go
+++ b/rule/service.go
@@ -9,6 +9,7 @@
 	"ruleModelEngine/db"
 	"ruleModelEngine/task"
 	"strconv"
+	"time"
 )
 
 //
@@ -55,6 +56,7 @@
 			cameraIds = append(cameraIds, deviceInfo.DeviceCode)
 		}
 	}
+
 	if len(cameraIds) == 0 {
 		logger.Info("涓嶅瓨鍦ㄥ晢浣忔ゼ璁惧锛�", cameraIds)
 		return
@@ -92,7 +94,7 @@
 	}
 	fmt.Println("ruleInfo: ", ruleInfo)
 	communityIDs, err := db.GetCommunityIDs()
-	//fmt.Println("communityIDs:", communityIDs)
+	fmt.Println("communityIDs:", communityIDs)
 	if err != nil {
 		logger.Error("GetCommunityIDs Error", err)
 	}
@@ -103,18 +105,22 @@
 	//fmt.Println(labeManage)
 	for _, communityID := range communityIDs {
 		executeEnteringButNotLeaving(communityID)
+
 		//涓囧叏绀惧尯
 		//if communityID != "50010101010000001001" {
 		//	continue
 		//}
 		fmt.Println("communityID: ", communityID)
 		//continue
+		now := time.Now()
+		timeThresholdDay := now.AddDate(0, 0, -config.Api.TimeThreshold)
+		timeThresholdDayZeroTime := time.Date(timeThresholdDay.Year(), timeThresholdDay.Month(), timeThresholdDay.Day(), 0, 0, 0, 0, timeThresholdDay.Location()).Unix()
+		fmt.Println("姣斿鏃堕棿鎴筹細", timeThresholdDayZeroTime)
 		//鏌ヨ绀惧尯鍐呬汉鍛樻。妗堬紝鏂逛究鏁版嵁鏇存柊
-		personStatusList, err := db.QueryPersonStatusWithPagination(communityID, 30)
+		personStatusList, err := db.QueryPersonStatusWithPagination(communityID, timeThresholdDayZeroTime)
 		if err != nil {
 			logger.Error("QueryPersonStatusWithPagination err: ", err)
 		}
-		//
 
 		documentNumberIDS := make([]string, 0)
 		for _, personStatus := range personStatusList {
@@ -122,7 +128,7 @@
 			documentNumberIDS = append(documentNumberIDS, personStatus.DocumentNumber)
 			//涓氬姟閫昏緫
 		}
-		//fmt.Println("len(documentNumberIDS)", len(documentNumberIDS))
+		fmt.Println("绀惧尯妗f鎬绘潯鏁帮細", len(documentNumberIDS))
 		captureInfos := make([]db.CaptureInfo, 0)
 		batchSize := config.Elastic.BatchSize
 		//fmt.Println(batchSize)
@@ -133,7 +139,7 @@
 			}
 			batch := documentNumberIDS[i:end]
 			//fmt.Println("batch: ", batch)
-			batchCaptureInfos, err := db.Query1MDataByCommunityId(communityID, batch, 30)
+			batchCaptureInfos, err := db.QueryByTimeThresholdDataByCommunityId(communityID, batch, config.Api.TimeThreshold)
 			if err != nil {
 				logger.Error("Query1MDataByCommunityId Error", err)
 			}
@@ -149,7 +155,6 @@
 		fmt.Println("鍏辫鏈夋。妗堟暟鎹潯鏁颁负锛�", len(captureInfos))
 		//琛ュ叏鍒嗘瀽鎵�闇�鏁版嵁
 		for i := range captureInfos {
-
 			captureDays, overnightCount := data.CalculateCaptureDays(captureInfos[i].CaptureDetail)
 			captureInfos[i].CaptureDays = captureDays
 			captureInfos[i].OvernightStays = overnightCount
@@ -169,31 +174,38 @@
 		}
 		//fmt.Println("residentCount: ", residentCount)
 		//fmt.Println("captureInfosQ: ", captureInfos)
-
 		for _, identity := range labeManage {
 			switch identity.Name {
 			case "鏈嶅姟浜哄憳":
 				identity, attribute := CreateLinearModel(captureInfos, communityID, 2.68, identity.ValidDays, identity.Id)
+
 				errIdentity := db.UpdateDBPersonLabel(identity)
 				if errIdentity != nil {
 					logger.Error("UpdateDBPersonLabel Error", errIdentity)
 				}
+
 				captureInfos = attribute
 
 			}
 		}
+
 		identity := CreateProcessModel(captureInfos, 30, communityID, labeManage)
 		errIdentity := db.UpdateDBPersonLabel(identity)
 		if errIdentity != nil {
 			logger.Error("UpdateDBPersonLabel Error", errIdentity)
 		}
+
 		//continue
 
 		postCaptureInfos := data.ProcessData(captureInfos, personStatusList, ruleInfo, communityID)
-		/*for _, inf := range postCaptureInfos {
-			fmt.Println("inf: ", inf.DocumentNumber, inf.Status, inf.FrequentAddress, inf.LastAppearanceStatusTime)
-		}*/
-		//fmt.Println("鍏辨洿鏂版。妗堟暟锛�", len(postCaptureInfos))
+		for _, inf := range postCaptureInfos {
+			fmt.Println("---->pause prepare: capture ", inf.DocumentNumber, inf.Status, inf.FrequentAddress)
+			//return
+			//time.Sleep(time.Second * 10)
+
+			//fmt.Println("inf: ", inf.DocumentNumber, inf.Status, inf.FrequentAddress, inf.LastAppearanceStatusTime)
+		}
+		fmt.Println("鍏辨洿鏂版。妗堟暟锛�", len(postCaptureInfos))
 		//fmt.Println("----->captureInfos: ", len(captureInfos))
 		//continue
 		UpdatePersonInfoErr := db.UpdatePersonInfo(postCaptureInfos, communityID)

--
Gitblit v1.8.0