From 3737ab3dd0cc753be986638316c96cb3114601e4 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期日, 29 九月 2024 16:20:46 +0800 Subject: [PATCH] fix db column --- rule/service.go | 53 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 49 insertions(+), 4 deletions(-) diff --git a/rule/service.go b/rule/service.go index ebd6e0d..dfcb083 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" @@ -31,6 +33,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) { //杩涘嚭寮傚父甯冩帶浠诲姟锛屾殏鏃跺綊绫诲埌鏍囩璁$畻閮ㄥ垎 //fmt.Println("杩涘嚭寮傚父寮�濮嬪叆鍙o紒锛侊紒锛侊紒锛�") @@ -52,7 +87,7 @@ cameraIds := make([]string, 0) for _, deviceInfo := range cache.Device { - if deviceInfo.AreaID == communityId && deviceInfo.BuildingType == db.BuildingTypeMixedUse { + if deviceInfo.CommunityID == communityId && deviceInfo.BuildingType == db.BuildingTypeMixedUse { cameraIds = append(cameraIds, deviceInfo.DeviceCode) } } @@ -93,12 +128,16 @@ 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 { logger.Error("GetCommunityIDs Error", err) } - labeManage, err := db.GetLabelManageIdentity(2) + labeManage, err := db.GeIdentityLabels() if err != nil { logger.Error("GetDBPersonStatusData Error", err) } @@ -129,6 +168,7 @@ //涓氬姟閫昏緫 } fmt.Println("绀惧尯妗f鎬绘潯鏁帮細", len(documentNumberIDS)) + captureInfos := make([]db.CaptureInfo, 0) batchSize := config.Elastic.BatchSize //fmt.Println(batchSize) @@ -170,15 +210,20 @@ } 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) for _, identity := range labeManage { switch identity.Name { case "鏈嶅姟浜哄憳": - identity, attribute := CreateLinearModel(captureInfos, communityID, 2.68, identity.ValidDays, identity.Id) + identity, attribute := CreateLinearModel(captureInfos, communityID, 2.68, identity.ValidDays, identity.ID) errIdentity := db.UpdateDBPersonLabel(identity) if errIdentity != nil { @@ -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