| | |
| | | return personStatusList, nil |
| | | } |
| | | |
| | | // 查询小区档案表 (原查询任务属性) |
| | | func QueryPersonStatusWithPagination(community_id string, timeThreshold int64) ([]*PersonStatus, error) { |
| | | var db = DB |
| | | var personStatusList []*PersonStatus |
| | | result := db.Select("document_number, status, frequent_address, last_appearance_time, last_appearance_status_time"). |
| | | Where("community_id = ? AND last_appearance_time != last_appearance_status_time AND last_appearance_time > ?", community_id, timeThreshold). |
| | | Find(&personStatusList) |
| | | if result.Error != nil { |
| | | logger.Error(result.Error) |
| | | return nil, result.Error |
| | | } |
| | | return personStatusList, nil |
| | | } |
| | | |
| | | // 查询人物年龄 |
| | | func GetAgeById(id string) (int, error) { |
| | | var db = DB |
| | |
| | | var db = DB |
| | | // 遍历人员信息 |
| | | for _, person := range persons { |
| | | |
| | | // 检查记录是否存在 |
| | | var existingPerson PersonStatus |
| | | 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") |
| | | continue |
| | | //return err |
| | | err := db.Model(&PersonStatus{}). |
| | | Where("document_number = ? AND community_id = ?", person.DocumentNumber, communityID). |
| | | Updates(map[string]interface{}{ |
| | | "status": person.Status, |
| | | "frequent_address": person.FrequentAddress, |
| | | "LastAppearanceStatusTime": person.LastAppearanceStatusTime, |
| | | }).Error |
| | | if err != nil { |
| | | return err |
| | | } |
| | | |
| | | // 如果记录存在,则更新 |
| | | if existingPerson.DocumentNumber != "" { |
| | | err := db.Model(&PersonStatus{}). |
| | | Where("document_number = ? AND community_id = ?", person.DocumentNumber, communityID). |
| | | Updates(map[string]interface{}{ |
| | | "status": person.Status, |
| | | "frequent_address": person.FrequentAddress, |
| | | }).Error |
| | | if err != nil { |
| | | return err |
| | | } |
| | | } |
| | | //else { |
| | | // // 如果记录不存在,则插入新记录 |
| | | // err := db.Create(&person).Error |
| | | // if err != nil { |
| | | // return err |
| | | // } |
| | | //} |
| | | |
| | | } |
| | | |
| | | return nil |