From 28c5cf41c5064579dd62f79fd40dc5990e9565b2 Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期一, 09 九月 2024 20:52:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 rule/service.go |   47 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 46 insertions(+), 1 deletions(-)

diff --git a/rule/service.go b/rule/service.go
index ebd6e0d..b670028 100644
--- a/rule/service.go
+++ b/rule/service.go
@@ -2,7 +2,9 @@
 
 import (
 	"basic.com/valib/logger.git"
+	"encoding/csv"
 	"fmt"
+	"os"
 	"ruleModelEngine/cache"
 	"ruleModelEngine/config"
 	"ruleModelEngine/data"
@@ -30,6 +32,39 @@
 //	}
 //	return true
 //}
+
+func writeCSV(filename string, data []db.CaptureInfo) error {
+	file, err := os.Create(filename)
+	if err != nil {
+		return err
+	}
+	defer file.Close()
+
+	writer := csv.NewWriter(file)
+	defer writer.Flush()
+
+	// Write header
+	header := []string{"妗f缂栧彿", "鎶撴媿澶╂暟", "杩囧澶╂暟", "鍒嗙被", "甯哥敤鍦板潃"}
+	if err := writer.Write(header); err != nil {
+		return err
+	}
+
+	// Write data
+	for _, info := range data {
+		record := []string{
+			info.DocumentNumber,
+			strconv.Itoa(info.CaptureDays),
+			strconv.Itoa(info.OvernightStays),
+			info.Status,
+			info.FrequentAddress,
+		}
+		if err := writer.Write(record); err != nil {
+			return err
+		}
+	}
+
+	return nil
+}
 
 func executeEnteringButNotLeaving(communityId string) {
 	//杩涘嚭寮傚父甯冩帶浠诲姟锛屾殏鏃跺綊绫诲埌鏍囩璁$畻閮ㄥ垎
@@ -93,6 +128,10 @@
 		logger.Error("GetAllData Error", err)
 	}
 	fmt.Println("ruleInfo: ", ruleInfo)
+	statusNo := make(map[string]int)
+	statusNo["stranger"] = db.StatusStranger
+	statusNo["visitor"] = db.StatusVisitor
+	statusNo["resident"] = db.StatusResident
 	communityIDs, err := db.GetCommunityIDs()
 	fmt.Println("communityIDs:", communityIDs)
 	if err != nil {
@@ -129,6 +168,7 @@
 			//涓氬姟閫昏緫
 		}
 		fmt.Println("绀惧尯妗f鎬绘潯鏁帮細", len(documentNumberIDS))
+
 		captureInfos := make([]db.CaptureInfo, 0)
 		batchSize := config.Elastic.BatchSize
 		//fmt.Println(batchSize)
@@ -170,8 +210,13 @@
 			}
 			captureInfos[i].Age = age
 			captureInfos[i].FrequentAddress = data.GetFrequentAddress(captureInfos[i].CaptureDetail)
+
 			//fmt.Println("CaptureDetail: ", captureInfos[i].DocumentNumber, captureInfos[i].CaptureDays, captureInfos[i].CaptureDetail)
 		}
+		//err1 := writeCSV("report.csv", captureInfos)
+		//if err != nil {
+		//	fmt.Println(err1)
+		//}
 		//continue
 		//fmt.Println("residentCount: ", residentCount)
 		//fmt.Println("captureInfosQ: ", captureInfos)
@@ -198,7 +243,7 @@
 
 		//continue
 
-		postCaptureInfos := data.ProcessData(captureInfos, personStatusList, ruleInfo, communityID)
+		postCaptureInfos := data.ProcessData(captureInfos, personStatusList, ruleInfo, statusNo, communityID)
 		for _, inf := range postCaptureInfos {
 			fmt.Println("---->pause prepare: capture ", inf.DocumentNumber, inf.Status, inf.FrequentAddress)
 			//return

--
Gitblit v1.8.0