records.gen.go 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436
  1. // Code generated by gorm.io/gen. DO NOT EDIT.
  2. // Code generated by gorm.io/gen. DO NOT EDIT.
  3. // Code generated by gorm.io/gen. DO NOT EDIT.
  4. package query
  5. import (
  6. "context"
  7. "gorm.io/gorm"
  8. "gorm.io/gorm/clause"
  9. "gorm.io/gorm/schema"
  10. "gorm.io/gen"
  11. "gorm.io/gen/field"
  12. "gorm.io/plugin/dbresolver"
  13. "wechat-api/database/dao/wechat/model"
  14. )
  15. func newRecord(db *gorm.DB, opts ...gen.DOOption) record {
  16. _record := record{}
  17. _record.recordDo.UseDB(db, opts...)
  18. _record.recordDo.UseModel(&model.Record{})
  19. tableName := _record.recordDo.TableName()
  20. _record.ALL = field.NewAsterisk(tableName)
  21. _record.ID = field.NewInt64(tableName, "id")
  22. _record.CreatedAt = field.NewTime(tableName, "created_at")
  23. _record.UpdatedAt = field.NewTime(tableName, "updated_at")
  24. _record.Body = field.NewString(tableName, "body")
  25. _record.StaffNo = field.NewString(tableName, "staff_no")
  26. _record.Caller = field.NewString(tableName, "caller")
  27. _record.Callee = field.NewString(tableName, "callee")
  28. _record.RecordFile = field.NewString(tableName, "record_file")
  29. _record.Session = field.NewString(tableName, "session")
  30. _record.AliTrans = field.NewString(tableName, "ali_trans")
  31. _record.AliTaskID = field.NewString(tableName, "ali_task_id")
  32. _record.Chats = field.NewString(tableName, "chats")
  33. _record.UserIntent = field.NewString(tableName, "user_intent")
  34. _record.Basis = field.NewString(tableName, "basis")
  35. _record.Accept = field.NewInt64(tableName, "accept")
  36. _record.fillFieldMap()
  37. return _record
  38. }
  39. type record struct {
  40. recordDo
  41. ALL field.Asterisk
  42. ID field.Int64
  43. CreatedAt field.Time // Create Time | 创建日期
  44. UpdatedAt field.Time // Update Time | 修改日期
  45. Body field.String // 获取原始数据
  46. StaffNo field.String // 坐席工号
  47. Caller field.String // 主叫号码
  48. Callee field.String // 被叫号码
  49. RecordFile field.String // 录音文件
  50. Session field.String // 通话标识
  51. AliTrans field.String // 阿里语音识别原始结果
  52. AliTaskID field.String // 阿里语音识别任务ID
  53. Chats field.String // 提取的对话记录
  54. UserIntent field.String // 判断的用户意图
  55. Basis field.String // 用户意图命中的原始文本
  56. Accept field.Int64 // 用户是否接受邀请 0 未判断 1 接受 2 不接受
  57. fieldMap map[string]field.Expr
  58. }
  59. func (r record) Table(newTableName string) *record {
  60. r.recordDo.UseTable(newTableName)
  61. return r.updateTableName(newTableName)
  62. }
  63. func (r record) As(alias string) *record {
  64. r.recordDo.DO = *(r.recordDo.As(alias).(*gen.DO))
  65. return r.updateTableName(alias)
  66. }
  67. func (r *record) updateTableName(table string) *record {
  68. r.ALL = field.NewAsterisk(table)
  69. r.ID = field.NewInt64(table, "id")
  70. r.CreatedAt = field.NewTime(table, "created_at")
  71. r.UpdatedAt = field.NewTime(table, "updated_at")
  72. r.Body = field.NewString(table, "body")
  73. r.StaffNo = field.NewString(table, "staff_no")
  74. r.Caller = field.NewString(table, "caller")
  75. r.Callee = field.NewString(table, "callee")
  76. r.RecordFile = field.NewString(table, "record_file")
  77. r.Session = field.NewString(table, "session")
  78. r.AliTrans = field.NewString(table, "ali_trans")
  79. r.AliTaskID = field.NewString(table, "ali_task_id")
  80. r.Chats = field.NewString(table, "chats")
  81. r.UserIntent = field.NewString(table, "user_intent")
  82. r.Basis = field.NewString(table, "basis")
  83. r.Accept = field.NewInt64(table, "accept")
  84. r.fillFieldMap()
  85. return r
  86. }
  87. func (r *record) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
  88. _f, ok := r.fieldMap[fieldName]
  89. if !ok || _f == nil {
  90. return nil, false
  91. }
  92. _oe, ok := _f.(field.OrderExpr)
  93. return _oe, ok
  94. }
  95. func (r *record) fillFieldMap() {
  96. r.fieldMap = make(map[string]field.Expr, 15)
  97. r.fieldMap["id"] = r.ID
  98. r.fieldMap["created_at"] = r.CreatedAt
  99. r.fieldMap["updated_at"] = r.UpdatedAt
  100. r.fieldMap["body"] = r.Body
  101. r.fieldMap["staff_no"] = r.StaffNo
  102. r.fieldMap["caller"] = r.Caller
  103. r.fieldMap["callee"] = r.Callee
  104. r.fieldMap["record_file"] = r.RecordFile
  105. r.fieldMap["session"] = r.Session
  106. r.fieldMap["ali_trans"] = r.AliTrans
  107. r.fieldMap["ali_task_id"] = r.AliTaskID
  108. r.fieldMap["chats"] = r.Chats
  109. r.fieldMap["user_intent"] = r.UserIntent
  110. r.fieldMap["basis"] = r.Basis
  111. r.fieldMap["accept"] = r.Accept
  112. }
  113. func (r record) clone(db *gorm.DB) record {
  114. r.recordDo.ReplaceConnPool(db.Statement.ConnPool)
  115. return r
  116. }
  117. func (r record) replaceDB(db *gorm.DB) record {
  118. r.recordDo.ReplaceDB(db)
  119. return r
  120. }
  121. type recordDo struct{ gen.DO }
  122. type IRecordDo interface {
  123. gen.SubQuery
  124. Debug() IRecordDo
  125. WithContext(ctx context.Context) IRecordDo
  126. WithResult(fc func(tx gen.Dao)) gen.ResultInfo
  127. ReplaceDB(db *gorm.DB)
  128. ReadDB() IRecordDo
  129. WriteDB() IRecordDo
  130. As(alias string) gen.Dao
  131. Session(config *gorm.Session) IRecordDo
  132. Columns(cols ...field.Expr) gen.Columns
  133. Clauses(conds ...clause.Expression) IRecordDo
  134. Not(conds ...gen.Condition) IRecordDo
  135. Or(conds ...gen.Condition) IRecordDo
  136. Select(conds ...field.Expr) IRecordDo
  137. Where(conds ...gen.Condition) IRecordDo
  138. Order(conds ...field.Expr) IRecordDo
  139. Distinct(cols ...field.Expr) IRecordDo
  140. Omit(cols ...field.Expr) IRecordDo
  141. Join(table schema.Tabler, on ...field.Expr) IRecordDo
  142. LeftJoin(table schema.Tabler, on ...field.Expr) IRecordDo
  143. RightJoin(table schema.Tabler, on ...field.Expr) IRecordDo
  144. Group(cols ...field.Expr) IRecordDo
  145. Having(conds ...gen.Condition) IRecordDo
  146. Limit(limit int) IRecordDo
  147. Offset(offset int) IRecordDo
  148. Count() (count int64, err error)
  149. Scopes(funcs ...func(gen.Dao) gen.Dao) IRecordDo
  150. Unscoped() IRecordDo
  151. Create(values ...*model.Record) error
  152. CreateInBatches(values []*model.Record, batchSize int) error
  153. Save(values ...*model.Record) error
  154. First() (*model.Record, error)
  155. Take() (*model.Record, error)
  156. Last() (*model.Record, error)
  157. Find() ([]*model.Record, error)
  158. FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.Record, err error)
  159. FindInBatches(result *[]*model.Record, batchSize int, fc func(tx gen.Dao, batch int) error) error
  160. Pluck(column field.Expr, dest interface{}) error
  161. Delete(...*model.Record) (info gen.ResultInfo, err error)
  162. Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
  163. UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
  164. Updates(value interface{}) (info gen.ResultInfo, err error)
  165. UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
  166. UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
  167. UpdateColumns(value interface{}) (info gen.ResultInfo, err error)
  168. UpdateFrom(q gen.SubQuery) gen.Dao
  169. Attrs(attrs ...field.AssignExpr) IRecordDo
  170. Assign(attrs ...field.AssignExpr) IRecordDo
  171. Joins(fields ...field.RelationField) IRecordDo
  172. Preload(fields ...field.RelationField) IRecordDo
  173. FirstOrInit() (*model.Record, error)
  174. FirstOrCreate() (*model.Record, error)
  175. FindByPage(offset int, limit int) (result []*model.Record, count int64, err error)
  176. ScanByPage(result interface{}, offset int, limit int) (count int64, err error)
  177. Scan(result interface{}) (err error)
  178. Returning(value interface{}, columns ...string) IRecordDo
  179. UnderlyingDB() *gorm.DB
  180. schema.Tabler
  181. }
  182. func (r recordDo) Debug() IRecordDo {
  183. return r.withDO(r.DO.Debug())
  184. }
  185. func (r recordDo) WithContext(ctx context.Context) IRecordDo {
  186. return r.withDO(r.DO.WithContext(ctx))
  187. }
  188. func (r recordDo) ReadDB() IRecordDo {
  189. return r.Clauses(dbresolver.Read)
  190. }
  191. func (r recordDo) WriteDB() IRecordDo {
  192. return r.Clauses(dbresolver.Write)
  193. }
  194. func (r recordDo) Session(config *gorm.Session) IRecordDo {
  195. return r.withDO(r.DO.Session(config))
  196. }
  197. func (r recordDo) Clauses(conds ...clause.Expression) IRecordDo {
  198. return r.withDO(r.DO.Clauses(conds...))
  199. }
  200. func (r recordDo) Returning(value interface{}, columns ...string) IRecordDo {
  201. return r.withDO(r.DO.Returning(value, columns...))
  202. }
  203. func (r recordDo) Not(conds ...gen.Condition) IRecordDo {
  204. return r.withDO(r.DO.Not(conds...))
  205. }
  206. func (r recordDo) Or(conds ...gen.Condition) IRecordDo {
  207. return r.withDO(r.DO.Or(conds...))
  208. }
  209. func (r recordDo) Select(conds ...field.Expr) IRecordDo {
  210. return r.withDO(r.DO.Select(conds...))
  211. }
  212. func (r recordDo) Where(conds ...gen.Condition) IRecordDo {
  213. return r.withDO(r.DO.Where(conds...))
  214. }
  215. func (r recordDo) Order(conds ...field.Expr) IRecordDo {
  216. return r.withDO(r.DO.Order(conds...))
  217. }
  218. func (r recordDo) Distinct(cols ...field.Expr) IRecordDo {
  219. return r.withDO(r.DO.Distinct(cols...))
  220. }
  221. func (r recordDo) Omit(cols ...field.Expr) IRecordDo {
  222. return r.withDO(r.DO.Omit(cols...))
  223. }
  224. func (r recordDo) Join(table schema.Tabler, on ...field.Expr) IRecordDo {
  225. return r.withDO(r.DO.Join(table, on...))
  226. }
  227. func (r recordDo) LeftJoin(table schema.Tabler, on ...field.Expr) IRecordDo {
  228. return r.withDO(r.DO.LeftJoin(table, on...))
  229. }
  230. func (r recordDo) RightJoin(table schema.Tabler, on ...field.Expr) IRecordDo {
  231. return r.withDO(r.DO.RightJoin(table, on...))
  232. }
  233. func (r recordDo) Group(cols ...field.Expr) IRecordDo {
  234. return r.withDO(r.DO.Group(cols...))
  235. }
  236. func (r recordDo) Having(conds ...gen.Condition) IRecordDo {
  237. return r.withDO(r.DO.Having(conds...))
  238. }
  239. func (r recordDo) Limit(limit int) IRecordDo {
  240. return r.withDO(r.DO.Limit(limit))
  241. }
  242. func (r recordDo) Offset(offset int) IRecordDo {
  243. return r.withDO(r.DO.Offset(offset))
  244. }
  245. func (r recordDo) Scopes(funcs ...func(gen.Dao) gen.Dao) IRecordDo {
  246. return r.withDO(r.DO.Scopes(funcs...))
  247. }
  248. func (r recordDo) Unscoped() IRecordDo {
  249. return r.withDO(r.DO.Unscoped())
  250. }
  251. func (r recordDo) Create(values ...*model.Record) error {
  252. if len(values) == 0 {
  253. return nil
  254. }
  255. return r.DO.Create(values)
  256. }
  257. func (r recordDo) CreateInBatches(values []*model.Record, batchSize int) error {
  258. return r.DO.CreateInBatches(values, batchSize)
  259. }
  260. // Save : !!! underlying implementation is different with GORM
  261. // The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
  262. func (r recordDo) Save(values ...*model.Record) error {
  263. if len(values) == 0 {
  264. return nil
  265. }
  266. return r.DO.Save(values)
  267. }
  268. func (r recordDo) First() (*model.Record, error) {
  269. if result, err := r.DO.First(); err != nil {
  270. return nil, err
  271. } else {
  272. return result.(*model.Record), nil
  273. }
  274. }
  275. func (r recordDo) Take() (*model.Record, error) {
  276. if result, err := r.DO.Take(); err != nil {
  277. return nil, err
  278. } else {
  279. return result.(*model.Record), nil
  280. }
  281. }
  282. func (r recordDo) Last() (*model.Record, error) {
  283. if result, err := r.DO.Last(); err != nil {
  284. return nil, err
  285. } else {
  286. return result.(*model.Record), nil
  287. }
  288. }
  289. func (r recordDo) Find() ([]*model.Record, error) {
  290. result, err := r.DO.Find()
  291. return result.([]*model.Record), err
  292. }
  293. func (r recordDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.Record, err error) {
  294. buf := make([]*model.Record, 0, batchSize)
  295. err = r.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
  296. defer func() { results = append(results, buf...) }()
  297. return fc(tx, batch)
  298. })
  299. return results, err
  300. }
  301. func (r recordDo) FindInBatches(result *[]*model.Record, batchSize int, fc func(tx gen.Dao, batch int) error) error {
  302. return r.DO.FindInBatches(result, batchSize, fc)
  303. }
  304. func (r recordDo) Attrs(attrs ...field.AssignExpr) IRecordDo {
  305. return r.withDO(r.DO.Attrs(attrs...))
  306. }
  307. func (r recordDo) Assign(attrs ...field.AssignExpr) IRecordDo {
  308. return r.withDO(r.DO.Assign(attrs...))
  309. }
  310. func (r recordDo) Joins(fields ...field.RelationField) IRecordDo {
  311. for _, _f := range fields {
  312. r = *r.withDO(r.DO.Joins(_f))
  313. }
  314. return &r
  315. }
  316. func (r recordDo) Preload(fields ...field.RelationField) IRecordDo {
  317. for _, _f := range fields {
  318. r = *r.withDO(r.DO.Preload(_f))
  319. }
  320. return &r
  321. }
  322. func (r recordDo) FirstOrInit() (*model.Record, error) {
  323. if result, err := r.DO.FirstOrInit(); err != nil {
  324. return nil, err
  325. } else {
  326. return result.(*model.Record), nil
  327. }
  328. }
  329. func (r recordDo) FirstOrCreate() (*model.Record, error) {
  330. if result, err := r.DO.FirstOrCreate(); err != nil {
  331. return nil, err
  332. } else {
  333. return result.(*model.Record), nil
  334. }
  335. }
  336. func (r recordDo) FindByPage(offset int, limit int) (result []*model.Record, count int64, err error) {
  337. result, err = r.Offset(offset).Limit(limit).Find()
  338. if err != nil {
  339. return
  340. }
  341. if size := len(result); 0 < limit && 0 < size && size < limit {
  342. count = int64(size + offset)
  343. return
  344. }
  345. count, err = r.Offset(-1).Limit(-1).Count()
  346. return
  347. }
  348. func (r recordDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
  349. count, err = r.Count()
  350. if err != nil {
  351. return
  352. }
  353. err = r.Offset(offset).Limit(limit).Scan(result)
  354. return
  355. }
  356. func (r recordDo) Scan(result interface{}) (err error) {
  357. return r.DO.Scan(result)
  358. }
  359. func (r recordDo) Delete(models ...*model.Record) (result gen.ResultInfo, err error) {
  360. return r.DO.Delete(models)
  361. }
  362. func (r *recordDo) withDO(do gen.Dao) *recordDo {
  363. r.DO = *do.(*gen.DO)
  364. return r
  365. }