msg.gen.go 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425
  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 newMsg(db *gorm.DB, opts ...gen.DOOption) msg {
  16. _msg := msg{}
  17. _msg.msgDo.UseDB(db, opts...)
  18. _msg.msgDo.UseModel(&model.Msg{})
  19. tableName := _msg.msgDo.TableName()
  20. _msg.ALL = field.NewAsterisk(tableName)
  21. _msg.ID = field.NewInt64(tableName, "id")
  22. _msg.CreatedAt = field.NewTime(tableName, "created_at")
  23. _msg.UpdatedAt = field.NewTime(tableName, "updated_at")
  24. _msg.DeletedAt = field.NewField(tableName, "deleted_at")
  25. _msg.Status = field.NewInt64(tableName, "status")
  26. _msg.Fromwxid = field.NewString(tableName, "fromwxid")
  27. _msg.Toid = field.NewString(tableName, "toid")
  28. _msg.Msgtype = field.NewInt64(tableName, "msgtype")
  29. _msg.Msg = field.NewString(tableName, "msg")
  30. _msg.BatchNo = field.NewString(tableName, "batch_no")
  31. _msg.Cc = field.NewString(tableName, "cc")
  32. _msg.Phone = field.NewString(tableName, "phone")
  33. _msg.fillFieldMap()
  34. return _msg
  35. }
  36. // msg 消息表
  37. type msg struct {
  38. msgDo
  39. ALL field.Asterisk
  40. ID field.Int64
  41. CreatedAt field.Time // Create Time | 创建日期
  42. UpdatedAt field.Time // Update Time | 修改日期
  43. DeletedAt field.Field // Delete Time | 删除日期
  44. Status field.Int64 // Status 1: normal 2: ban | 状态 1 正常 2 禁用
  45. Fromwxid field.String // 发送方微信ID
  46. Toid field.String // 接收人微信ID/群ID
  47. Msgtype field.Int64 // 消息类型
  48. Msg field.String // 消息
  49. BatchNo field.String // 批次号
  50. Cc field.String // 国家区号
  51. Phone field.String // 手机号
  52. fieldMap map[string]field.Expr
  53. }
  54. func (m msg) Table(newTableName string) *msg {
  55. m.msgDo.UseTable(newTableName)
  56. return m.updateTableName(newTableName)
  57. }
  58. func (m msg) As(alias string) *msg {
  59. m.msgDo.DO = *(m.msgDo.As(alias).(*gen.DO))
  60. return m.updateTableName(alias)
  61. }
  62. func (m *msg) updateTableName(table string) *msg {
  63. m.ALL = field.NewAsterisk(table)
  64. m.ID = field.NewInt64(table, "id")
  65. m.CreatedAt = field.NewTime(table, "created_at")
  66. m.UpdatedAt = field.NewTime(table, "updated_at")
  67. m.DeletedAt = field.NewField(table, "deleted_at")
  68. m.Status = field.NewInt64(table, "status")
  69. m.Fromwxid = field.NewString(table, "fromwxid")
  70. m.Toid = field.NewString(table, "toid")
  71. m.Msgtype = field.NewInt64(table, "msgtype")
  72. m.Msg = field.NewString(table, "msg")
  73. m.BatchNo = field.NewString(table, "batch_no")
  74. m.Cc = field.NewString(table, "cc")
  75. m.Phone = field.NewString(table, "phone")
  76. m.fillFieldMap()
  77. return m
  78. }
  79. func (m *msg) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
  80. _f, ok := m.fieldMap[fieldName]
  81. if !ok || _f == nil {
  82. return nil, false
  83. }
  84. _oe, ok := _f.(field.OrderExpr)
  85. return _oe, ok
  86. }
  87. func (m *msg) fillFieldMap() {
  88. m.fieldMap = make(map[string]field.Expr, 12)
  89. m.fieldMap["id"] = m.ID
  90. m.fieldMap["created_at"] = m.CreatedAt
  91. m.fieldMap["updated_at"] = m.UpdatedAt
  92. m.fieldMap["deleted_at"] = m.DeletedAt
  93. m.fieldMap["status"] = m.Status
  94. m.fieldMap["fromwxid"] = m.Fromwxid
  95. m.fieldMap["toid"] = m.Toid
  96. m.fieldMap["msgtype"] = m.Msgtype
  97. m.fieldMap["msg"] = m.Msg
  98. m.fieldMap["batch_no"] = m.BatchNo
  99. m.fieldMap["cc"] = m.Cc
  100. m.fieldMap["phone"] = m.Phone
  101. }
  102. func (m msg) clone(db *gorm.DB) msg {
  103. m.msgDo.ReplaceConnPool(db.Statement.ConnPool)
  104. return m
  105. }
  106. func (m msg) replaceDB(db *gorm.DB) msg {
  107. m.msgDo.ReplaceDB(db)
  108. return m
  109. }
  110. type msgDo struct{ gen.DO }
  111. type IMsgDo interface {
  112. gen.SubQuery
  113. Debug() IMsgDo
  114. WithContext(ctx context.Context) IMsgDo
  115. WithResult(fc func(tx gen.Dao)) gen.ResultInfo
  116. ReplaceDB(db *gorm.DB)
  117. ReadDB() IMsgDo
  118. WriteDB() IMsgDo
  119. As(alias string) gen.Dao
  120. Session(config *gorm.Session) IMsgDo
  121. Columns(cols ...field.Expr) gen.Columns
  122. Clauses(conds ...clause.Expression) IMsgDo
  123. Not(conds ...gen.Condition) IMsgDo
  124. Or(conds ...gen.Condition) IMsgDo
  125. Select(conds ...field.Expr) IMsgDo
  126. Where(conds ...gen.Condition) IMsgDo
  127. Order(conds ...field.Expr) IMsgDo
  128. Distinct(cols ...field.Expr) IMsgDo
  129. Omit(cols ...field.Expr) IMsgDo
  130. Join(table schema.Tabler, on ...field.Expr) IMsgDo
  131. LeftJoin(table schema.Tabler, on ...field.Expr) IMsgDo
  132. RightJoin(table schema.Tabler, on ...field.Expr) IMsgDo
  133. Group(cols ...field.Expr) IMsgDo
  134. Having(conds ...gen.Condition) IMsgDo
  135. Limit(limit int) IMsgDo
  136. Offset(offset int) IMsgDo
  137. Count() (count int64, err error)
  138. Scopes(funcs ...func(gen.Dao) gen.Dao) IMsgDo
  139. Unscoped() IMsgDo
  140. Create(values ...*model.Msg) error
  141. CreateInBatches(values []*model.Msg, batchSize int) error
  142. Save(values ...*model.Msg) error
  143. First() (*model.Msg, error)
  144. Take() (*model.Msg, error)
  145. Last() (*model.Msg, error)
  146. Find() ([]*model.Msg, error)
  147. FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.Msg, err error)
  148. FindInBatches(result *[]*model.Msg, batchSize int, fc func(tx gen.Dao, batch int) error) error
  149. Pluck(column field.Expr, dest interface{}) error
  150. Delete(...*model.Msg) (info gen.ResultInfo, err error)
  151. Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
  152. UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
  153. Updates(value interface{}) (info gen.ResultInfo, err error)
  154. UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
  155. UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
  156. UpdateColumns(value interface{}) (info gen.ResultInfo, err error)
  157. UpdateFrom(q gen.SubQuery) gen.Dao
  158. Attrs(attrs ...field.AssignExpr) IMsgDo
  159. Assign(attrs ...field.AssignExpr) IMsgDo
  160. Joins(fields ...field.RelationField) IMsgDo
  161. Preload(fields ...field.RelationField) IMsgDo
  162. FirstOrInit() (*model.Msg, error)
  163. FirstOrCreate() (*model.Msg, error)
  164. FindByPage(offset int, limit int) (result []*model.Msg, count int64, err error)
  165. ScanByPage(result interface{}, offset int, limit int) (count int64, err error)
  166. Scan(result interface{}) (err error)
  167. Returning(value interface{}, columns ...string) IMsgDo
  168. UnderlyingDB() *gorm.DB
  169. schema.Tabler
  170. }
  171. func (m msgDo) Debug() IMsgDo {
  172. return m.withDO(m.DO.Debug())
  173. }
  174. func (m msgDo) WithContext(ctx context.Context) IMsgDo {
  175. return m.withDO(m.DO.WithContext(ctx))
  176. }
  177. func (m msgDo) ReadDB() IMsgDo {
  178. return m.Clauses(dbresolver.Read)
  179. }
  180. func (m msgDo) WriteDB() IMsgDo {
  181. return m.Clauses(dbresolver.Write)
  182. }
  183. func (m msgDo) Session(config *gorm.Session) IMsgDo {
  184. return m.withDO(m.DO.Session(config))
  185. }
  186. func (m msgDo) Clauses(conds ...clause.Expression) IMsgDo {
  187. return m.withDO(m.DO.Clauses(conds...))
  188. }
  189. func (m msgDo) Returning(value interface{}, columns ...string) IMsgDo {
  190. return m.withDO(m.DO.Returning(value, columns...))
  191. }
  192. func (m msgDo) Not(conds ...gen.Condition) IMsgDo {
  193. return m.withDO(m.DO.Not(conds...))
  194. }
  195. func (m msgDo) Or(conds ...gen.Condition) IMsgDo {
  196. return m.withDO(m.DO.Or(conds...))
  197. }
  198. func (m msgDo) Select(conds ...field.Expr) IMsgDo {
  199. return m.withDO(m.DO.Select(conds...))
  200. }
  201. func (m msgDo) Where(conds ...gen.Condition) IMsgDo {
  202. return m.withDO(m.DO.Where(conds...))
  203. }
  204. func (m msgDo) Order(conds ...field.Expr) IMsgDo {
  205. return m.withDO(m.DO.Order(conds...))
  206. }
  207. func (m msgDo) Distinct(cols ...field.Expr) IMsgDo {
  208. return m.withDO(m.DO.Distinct(cols...))
  209. }
  210. func (m msgDo) Omit(cols ...field.Expr) IMsgDo {
  211. return m.withDO(m.DO.Omit(cols...))
  212. }
  213. func (m msgDo) Join(table schema.Tabler, on ...field.Expr) IMsgDo {
  214. return m.withDO(m.DO.Join(table, on...))
  215. }
  216. func (m msgDo) LeftJoin(table schema.Tabler, on ...field.Expr) IMsgDo {
  217. return m.withDO(m.DO.LeftJoin(table, on...))
  218. }
  219. func (m msgDo) RightJoin(table schema.Tabler, on ...field.Expr) IMsgDo {
  220. return m.withDO(m.DO.RightJoin(table, on...))
  221. }
  222. func (m msgDo) Group(cols ...field.Expr) IMsgDo {
  223. return m.withDO(m.DO.Group(cols...))
  224. }
  225. func (m msgDo) Having(conds ...gen.Condition) IMsgDo {
  226. return m.withDO(m.DO.Having(conds...))
  227. }
  228. func (m msgDo) Limit(limit int) IMsgDo {
  229. return m.withDO(m.DO.Limit(limit))
  230. }
  231. func (m msgDo) Offset(offset int) IMsgDo {
  232. return m.withDO(m.DO.Offset(offset))
  233. }
  234. func (m msgDo) Scopes(funcs ...func(gen.Dao) gen.Dao) IMsgDo {
  235. return m.withDO(m.DO.Scopes(funcs...))
  236. }
  237. func (m msgDo) Unscoped() IMsgDo {
  238. return m.withDO(m.DO.Unscoped())
  239. }
  240. func (m msgDo) Create(values ...*model.Msg) error {
  241. if len(values) == 0 {
  242. return nil
  243. }
  244. return m.DO.Create(values)
  245. }
  246. func (m msgDo) CreateInBatches(values []*model.Msg, batchSize int) error {
  247. return m.DO.CreateInBatches(values, batchSize)
  248. }
  249. // Save : !!! underlying implementation is different with GORM
  250. // The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
  251. func (m msgDo) Save(values ...*model.Msg) error {
  252. if len(values) == 0 {
  253. return nil
  254. }
  255. return m.DO.Save(values)
  256. }
  257. func (m msgDo) First() (*model.Msg, error) {
  258. if result, err := m.DO.First(); err != nil {
  259. return nil, err
  260. } else {
  261. return result.(*model.Msg), nil
  262. }
  263. }
  264. func (m msgDo) Take() (*model.Msg, error) {
  265. if result, err := m.DO.Take(); err != nil {
  266. return nil, err
  267. } else {
  268. return result.(*model.Msg), nil
  269. }
  270. }
  271. func (m msgDo) Last() (*model.Msg, error) {
  272. if result, err := m.DO.Last(); err != nil {
  273. return nil, err
  274. } else {
  275. return result.(*model.Msg), nil
  276. }
  277. }
  278. func (m msgDo) Find() ([]*model.Msg, error) {
  279. result, err := m.DO.Find()
  280. return result.([]*model.Msg), err
  281. }
  282. func (m msgDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.Msg, err error) {
  283. buf := make([]*model.Msg, 0, batchSize)
  284. err = m.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
  285. defer func() { results = append(results, buf...) }()
  286. return fc(tx, batch)
  287. })
  288. return results, err
  289. }
  290. func (m msgDo) FindInBatches(result *[]*model.Msg, batchSize int, fc func(tx gen.Dao, batch int) error) error {
  291. return m.DO.FindInBatches(result, batchSize, fc)
  292. }
  293. func (m msgDo) Attrs(attrs ...field.AssignExpr) IMsgDo {
  294. return m.withDO(m.DO.Attrs(attrs...))
  295. }
  296. func (m msgDo) Assign(attrs ...field.AssignExpr) IMsgDo {
  297. return m.withDO(m.DO.Assign(attrs...))
  298. }
  299. func (m msgDo) Joins(fields ...field.RelationField) IMsgDo {
  300. for _, _f := range fields {
  301. m = *m.withDO(m.DO.Joins(_f))
  302. }
  303. return &m
  304. }
  305. func (m msgDo) Preload(fields ...field.RelationField) IMsgDo {
  306. for _, _f := range fields {
  307. m = *m.withDO(m.DO.Preload(_f))
  308. }
  309. return &m
  310. }
  311. func (m msgDo) FirstOrInit() (*model.Msg, error) {
  312. if result, err := m.DO.FirstOrInit(); err != nil {
  313. return nil, err
  314. } else {
  315. return result.(*model.Msg), nil
  316. }
  317. }
  318. func (m msgDo) FirstOrCreate() (*model.Msg, error) {
  319. if result, err := m.DO.FirstOrCreate(); err != nil {
  320. return nil, err
  321. } else {
  322. return result.(*model.Msg), nil
  323. }
  324. }
  325. func (m msgDo) FindByPage(offset int, limit int) (result []*model.Msg, count int64, err error) {
  326. result, err = m.Offset(offset).Limit(limit).Find()
  327. if err != nil {
  328. return
  329. }
  330. if size := len(result); 0 < limit && 0 < size && size < limit {
  331. count = int64(size + offset)
  332. return
  333. }
  334. count, err = m.Offset(-1).Limit(-1).Count()
  335. return
  336. }
  337. func (m msgDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
  338. count, err = m.Count()
  339. if err != nil {
  340. return
  341. }
  342. err = m.Offset(offset).Limit(limit).Scan(result)
  343. return
  344. }
  345. func (m msgDo) Scan(result interface{}) (err error) {
  346. return m.DO.Scan(result)
  347. }
  348. func (m msgDo) Delete(models ...*model.Msg) (result gen.ResultInfo, err error) {
  349. return m.DO.Delete(models)
  350. }
  351. func (m *msgDo) withDO(do gen.Dao) *msgDo {
  352. m.DO = *do.(*gen.DO)
  353. return m
  354. }