| | |
| | | // AudioText 音频文本 |
| | | AudioText struct { |
| | | gorm.Model |
| | | AudioID uint `gorm:"unique;type:int;not null;default:0;comment:音频id" json:"audioID"` // 音频id |
| | | AudioText string `json:"audioText"` // 音频文本 |
| | | Score float64 `json:"score"` // 置信度 |
| | | AudioID uint `gorm:"unique;type:int;not null;default:0;comment:音频id" json:"audioID"` // 音频id |
| | | AudioText string `json:"audioText"` // 音频文本 |
| | | } |
| | | |
| | | AudioTextSearch struct { |
| | |
| | | PageNum int |
| | | PageSize int |
| | | Orm *gorm.DB |
| | | AudioIDs []uint |
| | | } |
| | | ) |
| | | |
| | |
| | | return slf |
| | | } |
| | | |
| | | func (slf *AudioTextSearch) SetAudioIDs(ids []uint) *AudioTextSearch { |
| | | slf.AudioIDs = ids |
| | | return slf |
| | | } |
| | | |
| | | func (slf *AudioTextSearch) build() *gorm.DB { |
| | | var db = slf.Orm.Table(slf.TableName()) |
| | | |
| | |
| | | |
| | | if slf.Order != "" { |
| | | db = db.Order(slf.Order) |
| | | } |
| | | |
| | | if len(slf.AudioIDs) > 0 { |
| | | db = db.Where("audio_id in ?", slf.AudioIDs) |
| | | } |
| | | |
| | | return db |
| | |
| | | func (slf *AudioTextSearch) Save(record *AudioText) error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Omit("CreatedAt").Save(record).Error; err != nil { |
| | | if err := db.Save(record).Error; err != nil { |
| | | return fmt.Errorf("save err: %v, record: %+v", err, record) |
| | | } |
| | | |
| | |
| | | func (slf *AudioTextSearch) Delete() error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Unscoped().Delete(&AudioText{}).Error; err != nil { |
| | | if err := db.Delete(&AudioText{}).Error; err != nil { |
| | | return err |
| | | } |
| | | |
| | |
| | | db = slf.build() |
| | | ) |
| | | |
| | | if err := db.Count(&total).Error; err != nil { |
| | | if err := db.Where("deleted_at IS NULL").Count(&total).Error; err != nil { |
| | | return records, int(total), fmt.Errorf("find count err: %v", err) |
| | | } |
| | | if slf.PageNum*slf.PageSize > 0 { |
| | |
| | | db = slf.Orm.Table(slf.TableName()).Where(query, args...) |
| | | ) |
| | | |
| | | if err := db.Count(&total).Error; err != nil { |
| | | if err := db.Where("deleted_at IS NULL").Count(&total).Error; err != nil { |
| | | return records, total, fmt.Errorf("find by query count err: %v", err) |
| | | } |
| | | if slf.PageNum*slf.PageSize > 0 { |