user.go 11 KB

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