speech_recognition_menu.go 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. package speech_recognition
  2. import (
  3. "eta/eta_api/utils"
  4. "fmt"
  5. "github.com/beego/beego/v2/client/orm"
  6. "strings"
  7. "time"
  8. )
  9. const (
  10. SpeechRecognitionMenuNodeTypeDefault = 0
  11. SpeechRecognitionMenuNodeTypeSpeech = 1
  12. )
  13. // SpeechRecognitionMenu 语音识别-目录表
  14. type SpeechRecognitionMenu struct {
  15. SpeechRecognitionMenuId int `orm:"column(speech_recognition_menu_id);pk"`
  16. MenuName string `description:"目录名称"`
  17. ParentId int `description:"父级ID"`
  18. Level int `description:"目录层级"`
  19. Sort int `description:"排序"`
  20. CreateTime time.Time `description:"创建时间"`
  21. ModifyTime time.Time `description:"修改时间"`
  22. }
  23. var SpeechRecognitionMenuCols = struct {
  24. SpeechRecognitionMenuId string
  25. MenuName string
  26. ParentId string
  27. Level string
  28. Sort string
  29. CreateTime string
  30. ModifyTime string
  31. }{
  32. SpeechRecognitionMenuId: "speech_recognition_menu_id",
  33. MenuName: "menu_name",
  34. ParentId: "parent_id",
  35. Level: "level",
  36. Sort: "sort",
  37. CreateTime: "create_time",
  38. ModifyTime: "modify_time",
  39. }
  40. func (m *SpeechRecognitionMenu) TableName() string {
  41. return "speech_recognition_menu"
  42. }
  43. func (m *SpeechRecognitionMenu) PrimaryId() string {
  44. return SpeechRecognitionMenuCols.SpeechRecognitionMenuId
  45. }
  46. func (m *SpeechRecognitionMenu) Create() (err error) {
  47. o := orm.NewOrm()
  48. id, err := o.Insert(m)
  49. if err != nil {
  50. return
  51. }
  52. m.SpeechRecognitionMenuId = int(id)
  53. return
  54. }
  55. func (m *SpeechRecognitionMenu) CreateMulti(items []*SpeechRecognitionMenu) (err error) {
  56. if len(items) == 0 {
  57. return
  58. }
  59. o := orm.NewOrm()
  60. _, err = o.InsertMulti(len(items), items)
  61. return
  62. }
  63. func (m *SpeechRecognitionMenu) Update(cols []string) (err error) {
  64. o := orm.NewOrm()
  65. _, err = o.Update(m, cols...)
  66. return
  67. }
  68. func (m *SpeechRecognitionMenu) Del() (err error) {
  69. o := orm.NewOrm()
  70. sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.PrimaryId())
  71. _, err = o.Raw(sql, m.SpeechRecognitionMenuId).Exec()
  72. return
  73. }
  74. func (m *SpeechRecognitionMenu) MultiDel(menuIds []int) (err error) {
  75. if len(menuIds) == 0 {
  76. return
  77. }
  78. o := orm.NewOrm()
  79. sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.PrimaryId(), utils.GetOrmInReplace(len(menuIds)))
  80. _, err = o.Raw(sql, menuIds).Exec()
  81. return
  82. }
  83. func (m *SpeechRecognitionMenu) GetItemById(id int) (item *SpeechRecognitionMenu, err error) {
  84. o := orm.NewOrm()
  85. sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.PrimaryId())
  86. err = o.Raw(sql, id).QueryRow(&item)
  87. return
  88. }
  89. func (m *SpeechRecognitionMenu) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *SpeechRecognitionMenu, err error) {
  90. o := orm.NewOrm()
  91. order := ``
  92. if orderRule != "" {
  93. order = ` ORDER BY ` + orderRule
  94. }
  95. sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s %s LIMIT 1`, m.TableName(), condition, order)
  96. err = o.Raw(sql, pars).QueryRow(&item)
  97. return
  98. }
  99. func (m *SpeechRecognitionMenu) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
  100. o := orm.NewOrm()
  101. sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
  102. err = o.Raw(sql, pars).QueryRow(&count)
  103. return
  104. }
  105. func (m *SpeechRecognitionMenu) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*SpeechRecognitionMenu, err error) {
  106. o := orm.NewOrm()
  107. fields := strings.Join(fieldArr, ",")
  108. if len(fieldArr) == 0 {
  109. fields = `*`
  110. }
  111. order := `ORDER BY create_time DESC`
  112. if orderRule != "" {
  113. order = ` ORDER BY ` + orderRule
  114. }
  115. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
  116. _, err = o.Raw(sql, pars).QueryRows(&items)
  117. return
  118. }
  119. func (m *SpeechRecognitionMenu) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*SpeechRecognitionMenu, err error) {
  120. o := orm.NewOrm()
  121. fields := strings.Join(fieldArr, ",")
  122. if len(fieldArr) == 0 {
  123. fields = `*`
  124. }
  125. order := `ORDER BY create_time DESC`
  126. if orderRule != "" {
  127. order = ` ORDER BY ` + orderRule
  128. }
  129. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s LIMIT ?,?`, fields, m.TableName(), condition, order)
  130. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  131. return
  132. }
  133. // SpeechRecognitionMenuNodeItem 语音识别目录节点
  134. type SpeechRecognitionMenuNodeItem struct {
  135. NodeType int `description:"节点类型:0-目录;1-语音识别"`
  136. MenuId int `description:"目录ID"`
  137. MenuName string `description:"目录名称"`
  138. SpeechRecognitionId int `description:"语音识别ID"`
  139. SpeechRecognitionName string `description:"语音识别名称"`
  140. ParentId int `description:"父级ID"`
  141. Sort int `description:"排序"`
  142. CreateTime string `description:"创建时间"`
  143. Children []*SpeechRecognitionMenuNodeItem `description:"子节点"`
  144. }
  145. // SpeechRecognitionMenuAddReq 新增语音识别目录
  146. type SpeechRecognitionMenuAddReq struct {
  147. ParentId int `description:"父级ID"`
  148. MenuName string `description:"目录名称"`
  149. }
  150. // SpeechRecognitionMenuEditReq 编辑语音识别目录
  151. type SpeechRecognitionMenuEditReq struct {
  152. MenuId int `description:"目录ID"`
  153. MenuName string `description:"目录名称"`
  154. }
  155. // SpeechRecognitionMenuRemoveReq 删除语音识别目录
  156. type SpeechRecognitionMenuRemoveReq struct {
  157. MenuId int `description:"目录ID"`
  158. }