zhangqian
2024-12-13 6b59a711b9af0825858c408cdba95102b8b51cb3
db/task_results.go
@@ -8,17 +8,19 @@
type ModelTaskResults struct {
   BaseModel
   Title       string `json:"name" gorm:"type:varchar(255)"`                                            //预警名称,暂时用任务名称
   Event       string `json:"event" gorm:"type:varchar(255)"`                                           //预警事件
   ModelID     string `json:"modelID" gorm:"type:varchar(255)"`                                         //模型ID
   ModelTaskID string `json:"modelTaskID" gorm:"type:varchar(255)"`                                     //模型任务ID
   OrgID       string `json:"orgID" gorm:"index;column:org_id;type:varchar(299);not null;"`             //派出所 domain unit ID
   CommunityId string `json:"communityID" gorm:"index;column:community_id;type:varchar(299);not null;"` //小区ID
   ObjectIds   string `json:"objectIds" gorm:"type:text"`                                               //事件对象,可以是人,多个用逗号分隔
   Location    string `json:"location" gorm:"type:varchar(255)"`                                        //发生地点
   Building    string `json:"building" gorm:"type:varchar(255);"`                                       //楼栋
   Floor       string `json:"floor"       gorm:"type:varchar(255);"`                                    //楼层
   PicDate     string `json:"picDate"       gorm:"type:varchar(255);"`                                  //抓拍时间
   Title         string `json:"name" gorm:"type:varchar(255)"`                                                //预警名称,暂时用任务名称
   Event         string `json:"event" gorm:"type:varchar(255)"`                                               //预警事件
   ModelID       string `json:"modelID" gorm:"type:varchar(255)"`                                             //模型ID
   ModelTaskID   string `json:"modelTaskID" gorm:"type:varchar(255)"`                                         //模型任务ID
   OrgID         string `json:"orgID" gorm:"index;column:org_id;type:varchar(299);not null;"`                 //派出所 domain unit ID
   CommunityId   string `json:"communityID" gorm:"index;column:community_id;type:varchar(299);not null;"`     //小区ID
   PicDate       string `json:"picDate"       gorm:"uniqueIndex:pic_date_first_person_id;type:varchar(255);"` //抓拍时间
   FirstPersonID string `json:"-" gorm:"uniqueIndex:pic_date_first_person_id;type:varchar(255);"`             //第一个人的ID
   ObjectIds     string `json:"objectIds" gorm:"type:text"`                                                   //事件对象,可以是人,多个用逗号分隔
   Location      string `json:"location" gorm:"type:varchar(255)"`                                            //发生地点
   Building      string `json:"building" gorm:"type:varchar(255);"`                                           //楼栋
   Floor         string `json:"floor"       gorm:"type:varchar(255);"`                                        //楼层
}
func (m *ModelTaskResults) TableName() string {
@@ -67,6 +69,16 @@
   return slf
}
func (slf *ModelTaskResultsSearch) SetFirstPersonId(firstId string) *ModelTaskResultsSearch {
   slf.FirstPersonID = firstId
   return slf
}
func (slf *ModelTaskResultsSearch) SetPicDate(picDate string) *ModelTaskResultsSearch {
   slf.PicDate = picDate
   return slf
}
func (slf *ModelTaskResultsSearch) build() *gorm.DB {
   var db = slf.Orm.Table(slf.TableName())
   if slf.Order != "" {
@@ -75,6 +87,14 @@
   if slf.ID != "" {
      db = db.Where("id = ?", slf.ID)
   }
   if slf.PicDate != "" {
      db = db.Where("pic_date = ?", slf.PicDate)
   }
   if slf.FirstPersonID != "" {
      db = db.Where("first_person_id = ?", slf.FirstPersonID)
   }
   if slf.Keyword != "" {
@@ -163,6 +183,19 @@
   return nil
}
func (slf *ModelTaskResultsSearch) FirstOrCreate(record *ModelTaskResults) error {
   var db = slf.build()
   var exists ModelTaskResults
   if err := db.First(&exists).Error; err == nil {
      return nil
   }
   if err2 := slf.Orm.Table(slf.TableName()).Create(record).Error; err2 != nil {
      return fmt.Errorf("FirstOrCreate err: %v, record: %+v", err2, record)
   }
   return nil
}
func (slf *ModelTaskResultsSearch) Save(record *ModelTaskResults) error {
   var db = slf.build()
   record.UpdatedAt = time.Now()