| | |
| | | ) |
| | | |
| | | type ( |
| | | // Text 文字 |
| | | Text struct { |
| | | // Word 文字 |
| | | Word struct { |
| | | gorm.Model |
| | | Content string `gorm:"uniqueIndex:locomotive_number_text;type:varchar(255);not null;default:'';comment:音频名称" json:"content"` // 音频名称 |
| | | LocomotiveNumber string `gorm:"uniqueIndex:locomotive_number_text;type:varchar(255);not null;default:'';comment:机车号" json:"locomotiveNumber"` // 机车号 |
| | | Content string `gorm:"uniqueIndex:locomotive_number_Word;type:varchar(255);not null;default:'';comment:音频名称" json:"content"` // 文字 |
| | | LocomotiveNumber string `gorm:"uniqueIndex:locomotive_number_Word;type:varchar(255);not null;default:'';comment:机车号" json:"locomotiveNumber"` // 机车号 |
| | | } |
| | | |
| | | TextSearch struct { |
| | | Text |
| | | WordSearch struct { |
| | | Word |
| | | Order string |
| | | PageNum int |
| | | PageSize int |
| | |
| | | } |
| | | ) |
| | | |
| | | func (slf *Text) TableName() string { |
| | | return "text" |
| | | func (slf *Word) TableName() string { |
| | | return "word" |
| | | } |
| | | |
| | | func NewTextSearch() *TextSearch { |
| | | return &TextSearch{Orm: mysqlx.GetDB()} |
| | | func NewWordSearch() *WordSearch { |
| | | return &WordSearch{Orm: mysqlx.GetDB()} |
| | | } |
| | | |
| | | func (slf *TextSearch) SetOrm(tx *gorm.DB) *TextSearch { |
| | | func (slf *WordSearch) SetOrm(tx *gorm.DB) *WordSearch { |
| | | slf.Orm = tx |
| | | return slf |
| | | } |
| | | |
| | | func (slf *TextSearch) SetPage(page, size int) *TextSearch { |
| | | func (slf *WordSearch) SetPage(page, size int) *WordSearch { |
| | | slf.PageNum, slf.PageSize = page, size |
| | | return slf |
| | | } |
| | | |
| | | func (slf *TextSearch) SetOrder(order string) *TextSearch { |
| | | func (slf *WordSearch) SetOrder(order string) *WordSearch { |
| | | slf.Order = order |
| | | return slf |
| | | } |
| | | |
| | | func (slf *TextSearch) SetID(id uint) *TextSearch { |
| | | func (slf *WordSearch) SetID(id uint) *WordSearch { |
| | | slf.ID = id |
| | | return slf |
| | | } |
| | | |
| | | func (slf *TextSearch) SetIDs(ids []uint) *TextSearch { |
| | | func (slf *WordSearch) SetIDs(ids []uint) *WordSearch { |
| | | slf.IDs = ids |
| | | return slf |
| | | } |
| | | |
| | | func (slf *TextSearch) SetKeyword(kw string) *TextSearch { |
| | | func (slf *WordSearch) SetKeyword(kw string) *WordSearch { |
| | | slf.Keyword = kw |
| | | return slf |
| | | } |
| | | |
| | | func (slf *TextSearch) SetLocomotiveNumber(number string) *TextSearch { |
| | | func (slf *WordSearch) SetLocomotiveNumber(number string) *WordSearch { |
| | | slf.LocomotiveNumber = number |
| | | return slf |
| | | } |
| | | |
| | | func (slf *TextSearch) SetContent(content string) *TextSearch { |
| | | func (slf *WordSearch) SetContent(content string) *WordSearch { |
| | | slf.Content = content |
| | | return slf |
| | | } |
| | | |
| | | func (slf *TextSearch) build() *gorm.DB { |
| | | func (slf *WordSearch) build() *gorm.DB { |
| | | var db = slf.Orm.Table(slf.TableName()) |
| | | |
| | | if slf.ID != 0 { |
| | |
| | | } |
| | | |
| | | // Create 单条插入 |
| | | func (slf *TextSearch) Create(record *Text) error { |
| | | func (slf *WordSearch) Create(record *Word) error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Create(record).Error; err != nil { |
| | |
| | | } |
| | | |
| | | // CreateBatch 批量插入 |
| | | func (slf *TextSearch) CreateBatch(records []*Text) error { |
| | | func (slf *WordSearch) CreateBatch(records []*Word) error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Create(&records).Error; err != nil { |
| | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *TextSearch) Save(record *Text) error { |
| | | func (slf *WordSearch) Save(record *Word) error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Omit("CreatedAt").Save(record).Error; err != nil { |
| | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *TextSearch) UpdateByMap(upMap map[string]interface{}) error { |
| | | func (slf *WordSearch) UpdateByMap(upMap map[string]interface{}) error { |
| | | var ( |
| | | db = slf.build() |
| | | ) |
| | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *TextSearch) UpdateByQuery(query string, args []interface{}, upMap map[string]interface{}) error { |
| | | func (slf *WordSearch) UpdateByQuery(query string, args []interface{}, upMap map[string]interface{}) error { |
| | | var ( |
| | | db = slf.Orm.Table(slf.TableName()).Where(query, args...) |
| | | ) |
| | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *TextSearch) Delete() error { |
| | | func (slf *WordSearch) Delete() error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Delete(&Text{}).Error; err != nil { |
| | | if err := db.Delete(&Word{}).Error; err != nil { |
| | | return err |
| | | } |
| | | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *TextSearch) First() (*Text, error) { |
| | | func (slf *WordSearch) First() (*Word, error) { |
| | | var ( |
| | | record = new(Text) |
| | | record = new(Word) |
| | | db = slf.build() |
| | | ) |
| | | |
| | |
| | | return record, nil |
| | | } |
| | | |
| | | func (slf *TextSearch) Find() ([]*Text, int, error) { |
| | | func (slf *WordSearch) Find() ([]*Word, int, error) { |
| | | var ( |
| | | records = make([]*Text, 0) |
| | | records = make([]*Word, 0) |
| | | total int64 |
| | | db = slf.build() |
| | | ) |
| | |
| | | return records, int(total), nil |
| | | } |
| | | |
| | | func (slf *TextSearch) FindNotTotal() ([]*Text, error) { |
| | | func (slf *WordSearch) FindNotTotal() ([]*Word, error) { |
| | | var ( |
| | | records = make([]*Text, 0) |
| | | records = make([]*Word, 0) |
| | | db = slf.build() |
| | | ) |
| | | |
| | |
| | | } |
| | | |
| | | // FindByQuery 指定条件查询. |
| | | func (slf *TextSearch) FindByQuery(query string, args []interface{}) ([]*Text, int64, error) { |
| | | func (slf *WordSearch) FindByQuery(query string, args []interface{}) ([]*Word, int64, error) { |
| | | var ( |
| | | records = make([]*Text, 0) |
| | | records = make([]*Word, 0) |
| | | total int64 |
| | | db = slf.Orm.Table(slf.TableName()).Where(query, args...) |
| | | ) |
| | |
| | | } |
| | | |
| | | // FindAll 指定条件查询&不分页. |
| | | func (slf *TextSearch) FindAll(query string, args []interface{}) ([]*Text, error) { |
| | | func (slf *WordSearch) FindAll(query string, args []interface{}) ([]*Word, error) { |
| | | var ( |
| | | records = make([]*Text, 0) |
| | | records = make([]*Word, 0) |
| | | db = slf.Orm.Table(slf.TableName()).Where(query, args...) |
| | | ) |
| | | |
| | |
| | | } |
| | | |
| | | //// InitDefaultData 初始化数据 |
| | | //func (slf *TextSearch) InitDefaultData() error { |
| | | //func (slf *WordSearch) InitDefaultData() error { |
| | | // var ( |
| | | // db = slf.Orm.Table(slf.TableName()) |
| | | // total int64 = 0 |
| | |
| | | // if total != 0 { |
| | | // return nil |
| | | // } |
| | | // Texts := make([]*Text, 0, 3) |
| | | // Texts = append(Texts, &Text{Name: "财务部", Number: "cwb"}) |
| | | // return slf.CreateBatch(Texts) |
| | | // Words := make([]*Word, 0, 3) |
| | | // Words = append(Words, &Word{Name: "财务部", Number: "cwb"}) |
| | | // return slf.CreateBatch(Words) |
| | | //} |