whatsapp.gen.go 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465
  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 newWhatsapp(db *gorm.DB, opts ...gen.DOOption) whatsapp {
  16. _whatsapp := whatsapp{}
  17. _whatsapp.whatsappDo.UseDB(db, opts...)
  18. _whatsapp.whatsappDo.UseModel(&model.Whatsapp{})
  19. tableName := _whatsapp.whatsappDo.TableName()
  20. _whatsapp.ALL = field.NewAsterisk(tableName)
  21. _whatsapp.ID = field.NewInt64(tableName, "id")
  22. _whatsapp.CreatedAt = field.NewTime(tableName, "created_at")
  23. _whatsapp.UpdatedAt = field.NewTime(tableName, "updated_at")
  24. _whatsapp.Status = field.NewInt64(tableName, "status")
  25. _whatsapp.DeletedAt = field.NewField(tableName, "deleted_at")
  26. _whatsapp.WaID = field.NewString(tableName, "wa_id")
  27. _whatsapp.WaName = field.NewString(tableName, "wa_name")
  28. _whatsapp.Callback = field.NewString(tableName, "callback")
  29. _whatsapp.AgentID = field.NewInt64(tableName, "agent_id")
  30. _whatsapp.Account = field.NewString(tableName, "account")
  31. _whatsapp.Cc = field.NewString(tableName, "cc")
  32. _whatsapp.Phone = field.NewString(tableName, "phone")
  33. _whatsapp.CcPhone = field.NewString(tableName, "cc_phone")
  34. _whatsapp.PhoneName = field.NewString(tableName, "phone_name")
  35. _whatsapp.PhoneStatus = field.NewInt64(tableName, "phone_status")
  36. _whatsapp.APIBase = field.NewString(tableName, "api_base")
  37. _whatsapp.APIKey = field.NewString(tableName, "api_key")
  38. _whatsapp.AllowList = field.NewString(tableName, "allow_list")
  39. _whatsapp.GroupAllowList = field.NewString(tableName, "group_allow_list")
  40. _whatsapp.BlockList = field.NewString(tableName, "block_list")
  41. _whatsapp.GroupBlockList = field.NewString(tableName, "group_block_list")
  42. _whatsapp.OrganizationID = field.NewInt64(tableName, "organization_id")
  43. _whatsapp.fillFieldMap()
  44. return _whatsapp
  45. }
  46. // whatsapp whatsapp手机号表
  47. type whatsapp struct {
  48. whatsappDo
  49. ALL field.Asterisk
  50. ID field.Int64
  51. CreatedAt field.Time // Create Time | 创建日期
  52. UpdatedAt field.Time // Update Time | 修改日期
  53. Status field.Int64 // Status 1: normal 2: ban | 状态 1 正常 2 禁用
  54. DeletedAt field.Field // Delete Time | 删除日期
  55. WaID field.String // wa通道ID
  56. WaName field.String // 通道名
  57. Callback field.String // 回调地址
  58. AgentID field.Int64 // AI角色ID
  59. Account field.String // 账户
  60. Cc field.String // 国家区号
  61. Phone field.String // 手机号
  62. CcPhone field.String // 国家区号 + 手机号
  63. PhoneName field.String // 号码名称
  64. PhoneStatus field.Int64 // 号码状态
  65. APIBase field.String
  66. APIKey field.String
  67. AllowList field.String // 白名单,以数组存储wxid。当包含 ALL 字符串时为全部允许
  68. GroupAllowList field.String // 群白名单,以数组存储wxid。当包含 ALL 字符串时为全部允许
  69. BlockList field.String // 黑名单,以数组存储wxid。当包含 ALL 字符串时为全部拒绝
  70. GroupBlockList field.String // 群黑名单,以数组存储wxid。当包含 ALL 字符串时为全部拒绝
  71. OrganizationID field.Int64 // 机构ID
  72. fieldMap map[string]field.Expr
  73. }
  74. func (w whatsapp) Table(newTableName string) *whatsapp {
  75. w.whatsappDo.UseTable(newTableName)
  76. return w.updateTableName(newTableName)
  77. }
  78. func (w whatsapp) As(alias string) *whatsapp {
  79. w.whatsappDo.DO = *(w.whatsappDo.As(alias).(*gen.DO))
  80. return w.updateTableName(alias)
  81. }
  82. func (w *whatsapp) updateTableName(table string) *whatsapp {
  83. w.ALL = field.NewAsterisk(table)
  84. w.ID = field.NewInt64(table, "id")
  85. w.CreatedAt = field.NewTime(table, "created_at")
  86. w.UpdatedAt = field.NewTime(table, "updated_at")
  87. w.Status = field.NewInt64(table, "status")
  88. w.DeletedAt = field.NewField(table, "deleted_at")
  89. w.WaID = field.NewString(table, "wa_id")
  90. w.WaName = field.NewString(table, "wa_name")
  91. w.Callback = field.NewString(table, "callback")
  92. w.AgentID = field.NewInt64(table, "agent_id")
  93. w.Account = field.NewString(table, "account")
  94. w.Cc = field.NewString(table, "cc")
  95. w.Phone = field.NewString(table, "phone")
  96. w.CcPhone = field.NewString(table, "cc_phone")
  97. w.PhoneName = field.NewString(table, "phone_name")
  98. w.PhoneStatus = field.NewInt64(table, "phone_status")
  99. w.APIBase = field.NewString(table, "api_base")
  100. w.APIKey = field.NewString(table, "api_key")
  101. w.AllowList = field.NewString(table, "allow_list")
  102. w.GroupAllowList = field.NewString(table, "group_allow_list")
  103. w.BlockList = field.NewString(table, "block_list")
  104. w.GroupBlockList = field.NewString(table, "group_block_list")
  105. w.OrganizationID = field.NewInt64(table, "organization_id")
  106. w.fillFieldMap()
  107. return w
  108. }
  109. func (w *whatsapp) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
  110. _f, ok := w.fieldMap[fieldName]
  111. if !ok || _f == nil {
  112. return nil, false
  113. }
  114. _oe, ok := _f.(field.OrderExpr)
  115. return _oe, ok
  116. }
  117. func (w *whatsapp) fillFieldMap() {
  118. w.fieldMap = make(map[string]field.Expr, 22)
  119. w.fieldMap["id"] = w.ID
  120. w.fieldMap["created_at"] = w.CreatedAt
  121. w.fieldMap["updated_at"] = w.UpdatedAt
  122. w.fieldMap["status"] = w.Status
  123. w.fieldMap["deleted_at"] = w.DeletedAt
  124. w.fieldMap["wa_id"] = w.WaID
  125. w.fieldMap["wa_name"] = w.WaName
  126. w.fieldMap["callback"] = w.Callback
  127. w.fieldMap["agent_id"] = w.AgentID
  128. w.fieldMap["account"] = w.Account
  129. w.fieldMap["cc"] = w.Cc
  130. w.fieldMap["phone"] = w.Phone
  131. w.fieldMap["cc_phone"] = w.CcPhone
  132. w.fieldMap["phone_name"] = w.PhoneName
  133. w.fieldMap["phone_status"] = w.PhoneStatus
  134. w.fieldMap["api_base"] = w.APIBase
  135. w.fieldMap["api_key"] = w.APIKey
  136. w.fieldMap["allow_list"] = w.AllowList
  137. w.fieldMap["group_allow_list"] = w.GroupAllowList
  138. w.fieldMap["block_list"] = w.BlockList
  139. w.fieldMap["group_block_list"] = w.GroupBlockList
  140. w.fieldMap["organization_id"] = w.OrganizationID
  141. }
  142. func (w whatsapp) clone(db *gorm.DB) whatsapp {
  143. w.whatsappDo.ReplaceConnPool(db.Statement.ConnPool)
  144. return w
  145. }
  146. func (w whatsapp) replaceDB(db *gorm.DB) whatsapp {
  147. w.whatsappDo.ReplaceDB(db)
  148. return w
  149. }
  150. type whatsappDo struct{ gen.DO }
  151. type IWhatsappDo interface {
  152. gen.SubQuery
  153. Debug() IWhatsappDo
  154. WithContext(ctx context.Context) IWhatsappDo
  155. WithResult(fc func(tx gen.Dao)) gen.ResultInfo
  156. ReplaceDB(db *gorm.DB)
  157. ReadDB() IWhatsappDo
  158. WriteDB() IWhatsappDo
  159. As(alias string) gen.Dao
  160. Session(config *gorm.Session) IWhatsappDo
  161. Columns(cols ...field.Expr) gen.Columns
  162. Clauses(conds ...clause.Expression) IWhatsappDo
  163. Not(conds ...gen.Condition) IWhatsappDo
  164. Or(conds ...gen.Condition) IWhatsappDo
  165. Select(conds ...field.Expr) IWhatsappDo
  166. Where(conds ...gen.Condition) IWhatsappDo
  167. Order(conds ...field.Expr) IWhatsappDo
  168. Distinct(cols ...field.Expr) IWhatsappDo
  169. Omit(cols ...field.Expr) IWhatsappDo
  170. Join(table schema.Tabler, on ...field.Expr) IWhatsappDo
  171. LeftJoin(table schema.Tabler, on ...field.Expr) IWhatsappDo
  172. RightJoin(table schema.Tabler, on ...field.Expr) IWhatsappDo
  173. Group(cols ...field.Expr) IWhatsappDo
  174. Having(conds ...gen.Condition) IWhatsappDo
  175. Limit(limit int) IWhatsappDo
  176. Offset(offset int) IWhatsappDo
  177. Count() (count int64, err error)
  178. Scopes(funcs ...func(gen.Dao) gen.Dao) IWhatsappDo
  179. Unscoped() IWhatsappDo
  180. Create(values ...*model.Whatsapp) error
  181. CreateInBatches(values []*model.Whatsapp, batchSize int) error
  182. Save(values ...*model.Whatsapp) error
  183. First() (*model.Whatsapp, error)
  184. Take() (*model.Whatsapp, error)
  185. Last() (*model.Whatsapp, error)
  186. Find() ([]*model.Whatsapp, error)
  187. FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.Whatsapp, err error)
  188. FindInBatches(result *[]*model.Whatsapp, batchSize int, fc func(tx gen.Dao, batch int) error) error
  189. Pluck(column field.Expr, dest interface{}) error
  190. Delete(...*model.Whatsapp) (info gen.ResultInfo, err error)
  191. Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
  192. UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
  193. Updates(value interface{}) (info gen.ResultInfo, err error)
  194. UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
  195. UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
  196. UpdateColumns(value interface{}) (info gen.ResultInfo, err error)
  197. UpdateFrom(q gen.SubQuery) gen.Dao
  198. Attrs(attrs ...field.AssignExpr) IWhatsappDo
  199. Assign(attrs ...field.AssignExpr) IWhatsappDo
  200. Joins(fields ...field.RelationField) IWhatsappDo
  201. Preload(fields ...field.RelationField) IWhatsappDo
  202. FirstOrInit() (*model.Whatsapp, error)
  203. FirstOrCreate() (*model.Whatsapp, error)
  204. FindByPage(offset int, limit int) (result []*model.Whatsapp, count int64, err error)
  205. ScanByPage(result interface{}, offset int, limit int) (count int64, err error)
  206. Scan(result interface{}) (err error)
  207. Returning(value interface{}, columns ...string) IWhatsappDo
  208. UnderlyingDB() *gorm.DB
  209. schema.Tabler
  210. }
  211. func (w whatsappDo) Debug() IWhatsappDo {
  212. return w.withDO(w.DO.Debug())
  213. }
  214. func (w whatsappDo) WithContext(ctx context.Context) IWhatsappDo {
  215. return w.withDO(w.DO.WithContext(ctx))
  216. }
  217. func (w whatsappDo) ReadDB() IWhatsappDo {
  218. return w.Clauses(dbresolver.Read)
  219. }
  220. func (w whatsappDo) WriteDB() IWhatsappDo {
  221. return w.Clauses(dbresolver.Write)
  222. }
  223. func (w whatsappDo) Session(config *gorm.Session) IWhatsappDo {
  224. return w.withDO(w.DO.Session(config))
  225. }
  226. func (w whatsappDo) Clauses(conds ...clause.Expression) IWhatsappDo {
  227. return w.withDO(w.DO.Clauses(conds...))
  228. }
  229. func (w whatsappDo) Returning(value interface{}, columns ...string) IWhatsappDo {
  230. return w.withDO(w.DO.Returning(value, columns...))
  231. }
  232. func (w whatsappDo) Not(conds ...gen.Condition) IWhatsappDo {
  233. return w.withDO(w.DO.Not(conds...))
  234. }
  235. func (w whatsappDo) Or(conds ...gen.Condition) IWhatsappDo {
  236. return w.withDO(w.DO.Or(conds...))
  237. }
  238. func (w whatsappDo) Select(conds ...field.Expr) IWhatsappDo {
  239. return w.withDO(w.DO.Select(conds...))
  240. }
  241. func (w whatsappDo) Where(conds ...gen.Condition) IWhatsappDo {
  242. return w.withDO(w.DO.Where(conds...))
  243. }
  244. func (w whatsappDo) Order(conds ...field.Expr) IWhatsappDo {
  245. return w.withDO(w.DO.Order(conds...))
  246. }
  247. func (w whatsappDo) Distinct(cols ...field.Expr) IWhatsappDo {
  248. return w.withDO(w.DO.Distinct(cols...))
  249. }
  250. func (w whatsappDo) Omit(cols ...field.Expr) IWhatsappDo {
  251. return w.withDO(w.DO.Omit(cols...))
  252. }
  253. func (w whatsappDo) Join(table schema.Tabler, on ...field.Expr) IWhatsappDo {
  254. return w.withDO(w.DO.Join(table, on...))
  255. }
  256. func (w whatsappDo) LeftJoin(table schema.Tabler, on ...field.Expr) IWhatsappDo {
  257. return w.withDO(w.DO.LeftJoin(table, on...))
  258. }
  259. func (w whatsappDo) RightJoin(table schema.Tabler, on ...field.Expr) IWhatsappDo {
  260. return w.withDO(w.DO.RightJoin(table, on...))
  261. }
  262. func (w whatsappDo) Group(cols ...field.Expr) IWhatsappDo {
  263. return w.withDO(w.DO.Group(cols...))
  264. }
  265. func (w whatsappDo) Having(conds ...gen.Condition) IWhatsappDo {
  266. return w.withDO(w.DO.Having(conds...))
  267. }
  268. func (w whatsappDo) Limit(limit int) IWhatsappDo {
  269. return w.withDO(w.DO.Limit(limit))
  270. }
  271. func (w whatsappDo) Offset(offset int) IWhatsappDo {
  272. return w.withDO(w.DO.Offset(offset))
  273. }
  274. func (w whatsappDo) Scopes(funcs ...func(gen.Dao) gen.Dao) IWhatsappDo {
  275. return w.withDO(w.DO.Scopes(funcs...))
  276. }
  277. func (w whatsappDo) Unscoped() IWhatsappDo {
  278. return w.withDO(w.DO.Unscoped())
  279. }
  280. func (w whatsappDo) Create(values ...*model.Whatsapp) error {
  281. if len(values) == 0 {
  282. return nil
  283. }
  284. return w.DO.Create(values)
  285. }
  286. func (w whatsappDo) CreateInBatches(values []*model.Whatsapp, batchSize int) error {
  287. return w.DO.CreateInBatches(values, batchSize)
  288. }
  289. // Save : !!! underlying implementation is different with GORM
  290. // The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
  291. func (w whatsappDo) Save(values ...*model.Whatsapp) error {
  292. if len(values) == 0 {
  293. return nil
  294. }
  295. return w.DO.Save(values)
  296. }
  297. func (w whatsappDo) First() (*model.Whatsapp, error) {
  298. if result, err := w.DO.First(); err != nil {
  299. return nil, err
  300. } else {
  301. return result.(*model.Whatsapp), nil
  302. }
  303. }
  304. func (w whatsappDo) Take() (*model.Whatsapp, error) {
  305. if result, err := w.DO.Take(); err != nil {
  306. return nil, err
  307. } else {
  308. return result.(*model.Whatsapp), nil
  309. }
  310. }
  311. func (w whatsappDo) Last() (*model.Whatsapp, error) {
  312. if result, err := w.DO.Last(); err != nil {
  313. return nil, err
  314. } else {
  315. return result.(*model.Whatsapp), nil
  316. }
  317. }
  318. func (w whatsappDo) Find() ([]*model.Whatsapp, error) {
  319. result, err := w.DO.Find()
  320. return result.([]*model.Whatsapp), err
  321. }
  322. func (w whatsappDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.Whatsapp, err error) {
  323. buf := make([]*model.Whatsapp, 0, batchSize)
  324. err = w.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
  325. defer func() { results = append(results, buf...) }()
  326. return fc(tx, batch)
  327. })
  328. return results, err
  329. }
  330. func (w whatsappDo) FindInBatches(result *[]*model.Whatsapp, batchSize int, fc func(tx gen.Dao, batch int) error) error {
  331. return w.DO.FindInBatches(result, batchSize, fc)
  332. }
  333. func (w whatsappDo) Attrs(attrs ...field.AssignExpr) IWhatsappDo {
  334. return w.withDO(w.DO.Attrs(attrs...))
  335. }
  336. func (w whatsappDo) Assign(attrs ...field.AssignExpr) IWhatsappDo {
  337. return w.withDO(w.DO.Assign(attrs...))
  338. }
  339. func (w whatsappDo) Joins(fields ...field.RelationField) IWhatsappDo {
  340. for _, _f := range fields {
  341. w = *w.withDO(w.DO.Joins(_f))
  342. }
  343. return &w
  344. }
  345. func (w whatsappDo) Preload(fields ...field.RelationField) IWhatsappDo {
  346. for _, _f := range fields {
  347. w = *w.withDO(w.DO.Preload(_f))
  348. }
  349. return &w
  350. }
  351. func (w whatsappDo) FirstOrInit() (*model.Whatsapp, error) {
  352. if result, err := w.DO.FirstOrInit(); err != nil {
  353. return nil, err
  354. } else {
  355. return result.(*model.Whatsapp), nil
  356. }
  357. }
  358. func (w whatsappDo) FirstOrCreate() (*model.Whatsapp, error) {
  359. if result, err := w.DO.FirstOrCreate(); err != nil {
  360. return nil, err
  361. } else {
  362. return result.(*model.Whatsapp), nil
  363. }
  364. }
  365. func (w whatsappDo) FindByPage(offset int, limit int) (result []*model.Whatsapp, count int64, err error) {
  366. result, err = w.Offset(offset).Limit(limit).Find()
  367. if err != nil {
  368. return
  369. }
  370. if size := len(result); 0 < limit && 0 < size && size < limit {
  371. count = int64(size + offset)
  372. return
  373. }
  374. count, err = w.Offset(-1).Limit(-1).Count()
  375. return
  376. }
  377. func (w whatsappDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
  378. count, err = w.Count()
  379. if err != nil {
  380. return
  381. }
  382. err = w.Offset(offset).Limit(limit).Scan(result)
  383. return
  384. }
  385. func (w whatsappDo) Scan(result interface{}) (err error) {
  386. return w.DO.Scan(result)
  387. }
  388. func (w whatsappDo) Delete(models ...*model.Whatsapp) (result gen.ResultInfo, err error) {
  389. return w.DO.Delete(models)
  390. }
  391. func (w *whatsappDo) withDO(do gen.Dao) *whatsappDo {
  392. w.DO = *do.(*gen.DO)
  393. return w
  394. }