label.gen.go 12 KB

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