group.go 11 KB

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