wx.gen.go 14 KB

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