From de37adb6dec5e9da70f9cc11b234176ee6fda986 Mon Sep 17 00:00:00 2001 From: sunty <1172534965@qq.com> Date: 星期五, 24 五月 2024 21:04:39 +0800 Subject: [PATCH] 添加布控模块,合并person_status和snapshot_count_summary数据库等 --- db/repository.go | 158 ++++++++++++++++++++++++++++++---------------------- 1 files changed, 90 insertions(+), 68 deletions(-) diff --git a/db/repository.go b/db/repository.go index 5cdc1d8..1353cf1 100644 --- a/db/repository.go +++ b/db/repository.go @@ -8,12 +8,8 @@ // 鏌ヨ灏忓尯琛� func GetCommunityIDs() ([]string, error) { - db, err := ConnectDB() - if err != nil { - return nil, err - } - // 鏌ヨ鏁版嵁 + var db = DB var communityIDs []string result := db.Table("domain_unit").Where("domainType = ?", 1).Pluck("id", &communityIDs) if result.Error != nil { @@ -23,13 +19,33 @@ return communityIDs, nil } +// 鏌ヨ璁惧琛� +func GetDeviceData() ([]Device, error) { + // 鏌ヨ鏁版嵁 + var db = DB + var device []Device + result := db.Table("device").Where("communityID != ?", "").Find(&device) + if result.Error != nil { + return nil, result.Error + } + + return device, nil +} + // 鏌ヨ鍏ㄩ儴鏁版嵁 -func GetAllData() ([]PersonnelStatusRule, error) { - db, err := ConnectDB() - if err != nil { +func GetAllTaskData() ([]Task, error) { + var db = DB + var task []Task + if err := db.Find(&task).Error; err != nil { return nil, err } + return task, nil +} + +// 鏌ヨ鍏ㄩ儴鏁版嵁 +func GetAllData() ([]PersonnelStatusRule, error) { + var db = DB var rules []PersonnelStatusRule if err := db.Find(&rules).Error; err != nil { return nil, err @@ -40,18 +56,14 @@ // 鏌ヨ浣忔埛鏃堕棿鏁版嵁 func GetResidentData(status, communityID string) ([]Resident, error) { - db, err := ConnectDB() - if err != nil { - return nil, err - } - var residents []Resident - + //var db = DB.Debug() + var db = DB // 鎵ц鏌ヨ - rows, err := db.Table("person_status"). - Select("person_status.documentNumber", "person_status.communityID", "snapshot_count_summary.last_appearance_time", "snapshot_count_summary.created_at"). - Joins("INNER JOIN snapshot_count_summary ON person_status.documentNumber = snapshot_count_summary.document_number AND person_status.communityID = snapshot_count_summary.community_id"). - Where("person_status.status = ? AND person_status.communityID = ?", status, communityID). + rows, err := db.Table("snapshot_count_summary"). + Select("document_number", "community_id", "last_appearance_time", "created_at"). + Where("status = ? AND community_id = ?", status, communityID). + //Where("snapshot_count_summary.created_at is not null"). Rows() if err != nil { return nil, err @@ -61,10 +73,12 @@ // 閬嶅巻鏌ヨ缁撴灉 for rows.Next() { var resident Resident - err := rows.Scan(&resident.DocumentNumber, &resident.CommunityID, &resident.LastAppearanceTime, &resident.CreateAt) + err := rows.Scan(&resident.DocumentNumber, &resident.CommunityId, &resident.LastAppearanceTime, &resident.CreateAt) if err != nil { + logger.Error("err: ", err) return nil, err } + //fmt.Println("resident111: ", resident) residents = append(residents, resident) } if err := rows.Err(); err != nil { @@ -76,11 +90,7 @@ // 鏌ヨ浜虹墿灞炴�� func GetDBPersonStatusData(id string) ([]PersonStatus, error) { - db, err := ConnectDB() - if err != nil { - return nil, err - } - + var db = DB // 鏌ヨ鏁版嵁 var personStatusList []PersonStatus if err := db.Table("person_status"). @@ -93,37 +103,44 @@ return personStatusList, nil } -// 鏍规嵁绀惧尯id鍜屼綇鎴峰睘鎬ф煡璇綇鎴锋。妗堢紪鍙� -func GetDocNumberFromPersonStatus(id, status string) ([]string, error) { - db, err := ConnectDB() - if err != nil { - return nil, err - } - +// 鏌ヨ浜虹墿骞撮緞 +func GetAgeById(id string) (int, error) { + var db = DB // 鏌ヨ鏁版嵁 - var personStatusList []PersonStatus - if err := db.Table("person_status"). - Select("documentNumber, status, frequentAddress"). - Where("communityID = ? AND status = ?", id, status). - Find(&personStatusList).Error; err != nil { - return nil, err + var age int + if err := db.Table("dbtablepersons"). + Select("age"). + Where("id = ?", id). + Find(&age).Error; err != nil { + return 0, err } - docNum := make([]string, 0) - for _, ps := range personStatusList { - docNum = append(docNum, ps.DocumentNumber) - } - - return docNum, nil + return age, nil } + +//// 鏍规嵁绀惧尯id鍜屼綇鎴峰睘鎬ф煡璇綇鎴锋。妗堢紪鍙� +//func GetDocNumberFromPersonStatus(id, status string) ([]string, error) { +// var db = DB +// // 鏌ヨ鏁版嵁 +// var personStatusList []PersonStatus +// if err := db.Table("person_status"). +// Select("documentNumber, status, frequentAddress"). +// Where("communityID = ? AND status = ?", id, status). +// Find(&personStatusList).Error; err != nil { +// return nil, err +// } +// +// docNum := make([]string, 0) +// for _, ps := range personStatusList { +// docNum = append(docNum, ps.DocumentNumber) +// } +// +// return docNum, nil +//} // 鏌ヨ浜虹墿韬唤灞炴�ц〃 func GetLabelManageIdentity(IdentityType int) ([]LabelManage, error) { - db, err := ConnectDB() - if err != nil { - return nil, err - } - + var db = DB // 鏌ヨ鏁版嵁 var labelManageIdentity []LabelManage if err := db.Table("label_manage"). @@ -136,13 +153,23 @@ return labelManageIdentity, nil } +// 鏍规嵁dbtablepersons琛╥d鏌ヨ鐩爣妗f骞撮緞 +func QueryAgeById(id string) (int, error) { + var db = DB + var age int + err := db.Table("dbtablepersons"). + Select("age"). + Where("id = ?", id). + Scan(&age).Error + if err != nil { + return 0, err + } + return age, nil +} + // UpdatePersonInfo 鏇存柊鎴栨彃鍏ュ涓汉鍛樹俊鎭� func UpdateMoveInout(personsMoveInout []MoveInout) error { - // 鏁版嵁搴撹繛鎺ヤ俊鎭� - db, err := ConnectDB() - if err != nil { - return err - } + var db = DB // 閬嶅巻浜哄憳淇℃伅 for _, personMoveInout := range personsMoveInout { @@ -158,6 +185,7 @@ // 濡傛灉璁板綍瀛樺湪锛屽垯鏇存柊 if existingPerson.DocumentNumber != "" { + //fmt.Println("existingPerson.DocumentNumber: ", existingPerson.DocumentNumber) if existingPerson.Status != "Verified" { err := db.Model(&MoveInout{}). Where("document_number = ? AND community_id = ?", personMoveInout.DocumentNumber, personMoveInout.CommunityID). @@ -180,7 +208,9 @@ } } else { // 濡傛灉璁板綍涓嶅瓨鍦紝鍒欐彃鍏ユ柊璁板綍 - err := db.Create(&personsMoveInout).Error + //fmt.Println("鎻掑叆璁板綍澶辫触") + //fmt.Println("data", &personMoveInout) + err := db.Create(&personMoveInout).Error if err != nil { return err } @@ -193,11 +223,7 @@ // UpdatePersonInfo 鏇存柊鎴栨彃鍏ュ涓汉鍛樿韩浠戒俊鎭� func UpdateDBPersonLabel(personsIdentity []Identity) error { - // 鏁版嵁搴撹繛鎺ヤ俊鎭� - db, err := ConnectDB() - if err != nil { - return err - } + var db = DB // 閬嶅巻浜哄憳淇℃伅 for _, personIdentity := range personsIdentity { @@ -247,17 +273,13 @@ // UpdatePersonInfo 鏇存柊鎴栨彃鍏ュ涓汉鍛樹俊鎭� func UpdatePersonInfo(persons []PersonStatus, communityID string) error { - // 鏁版嵁搴撹繛鎺ヤ俊鎭� - db, err := ConnectDB() - if err != nil { - return err - } + var db = DB // 閬嶅巻浜哄憳淇℃伅 for _, person := range persons { // 妫�鏌ヨ褰曟槸鍚﹀瓨鍦� var existingPerson PersonStatus - err := db.Where("documentNumber = ? AND communityID = ?", person.DocumentNumber, communityID).First(&existingPerson).Error + err := db.Where("document_number = ? AND community_id = ?", person.DocumentNumber, communityID).First(&existingPerson).Error if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) { logger.Error("Query person error:", err, person.DocumentNumber, communityID) //fmt.Println("asdasfasfasf") @@ -268,10 +290,10 @@ // 濡傛灉璁板綍瀛樺湪锛屽垯鏇存柊 if existingPerson.DocumentNumber != "" { err := db.Model(&PersonStatus{}). - Where("documentNumber = ? AND communityID = ?", person.DocumentNumber, communityID). + Where("document_number = ? AND community_id = ?", person.DocumentNumber, communityID). Updates(map[string]interface{}{ - "status": person.Status, - "frequentAddress": person.FrequentAddress, + "status": person.Status, + "frequent_address": person.FrequentAddress, }).Error if err != nil { return err -- Gitblit v1.8.0