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