| | |
| | | gorm.Model |
| | | Name string `gorm:"index;type:varchar(255);not null;default:'';comment:音频名称" json:"name"` // 音频名称 |
| | | Size int64 `gorm:"type:int;not null;default:0;comment:文件大小" json:"size"` // 音频大小 |
| | | FilePath string `gorm:"type:varchar(255);not null;default:'';comment:音频路径" json:"-"` //音频路径 // 音频路径 |
| | | FilePath string `gorm:"type:varchar(255);not null;default:'';comment:音频路径" json:"-"` //音频路径 |
| | | TxtFilePath string `gorm:"type:varchar(255);not null;default:'';comment:txt路径" json:"-"` //txt路径 |
| | | AudioStatus constvar.AudioStatus `gorm:"type:tinyint;not null;default:0;comment:状态" json:"audioStatus"` // 音频状态 |
| | | LocomotiveNumber string `gorm:"index;type:varchar(255);not null;default:'';comment:机车号" json:"locomotiveNumber"` // 机车号 |
| | | TrainNumber string `gorm:"index;type:varchar(255);not null;default:'';comment:车次" json:"trainNumber"` // 车次 |
| | | DriverNumber string `gorm:"index;type:varchar(255);not null;default:'';comment:司机号" json:"driverNumber"` // 司机号 |
| | | Station string `gorm:"index;type:varchar(255);not null;default:'';comment:车站号" json:"station"` // 车站 |
| | | RouteNumber string `gorm:"index;type:varchar(255);not null;default:'';comment:交路号" json:"routeNumber"` // 交路号 |
| | | KilometerMarker string `gorm:"index;type:varchar(255);not null;default:'';comment:公里标" json:"kilometerMarker"` // 公里标 |
| | | OccurrenceAt time.Time `json:"-"` |
| | | OccurrenceTime string `json:"occurrenceTime" gorm:"-"` |
| | | IsFollowed constvar.BoolType `gorm:"type:tinyint;not null;default:2;comment:是否关注"` //是否关注 1关注 2未关注 |
| | |
| | | |
| | | AudioSearch struct { |
| | | Audio |
| | | Order string |
| | | PageNum int |
| | | PageSize int |
| | | Orm *gorm.DB |
| | | Keyword string |
| | | IDs []uint |
| | | BeginTime time.Time |
| | | EndTime time.Time |
| | | Order string |
| | | PageNum int |
| | | PageSize int |
| | | Orm *gorm.DB |
| | | Keyword string |
| | | IDs []uint |
| | | BeginTime time.Time |
| | | EndTime time.Time |
| | | StatusList []constvar.AudioStatus |
| | | } |
| | | ) |
| | | |
| | |
| | | |
| | | func (slf *AudioSearch) SetName(name string) *AudioSearch { |
| | | slf.Name = name |
| | | return slf |
| | | } |
| | | |
| | | func (slf *AudioSearch) SetAudioStatusList(statusList []constvar.AudioStatus) *AudioSearch { |
| | | slf.StatusList = statusList |
| | | return slf |
| | | } |
| | | |
| | |
| | | |
| | | if slf.IsFollowed != 0 { |
| | | db = db.Where("is_followed = ?", slf.IsFollowed) |
| | | } |
| | | |
| | | if len(slf.StatusList) != 0 { |
| | | db = db.Where("audio_status in ?", slf.StatusList) |
| | | } |
| | | |
| | | return db |
| | |
| | | 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 { |