mktparttimeusermodel.go 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. package model
  2. import (
  3. "database/sql"
  4. "fmt"
  5. "strings"
  6. "git.i2edu.net/i2/go-zero/core/stores/cache"
  7. "git.i2edu.net/i2/go-zero/core/stores/sqlc"
  8. "git.i2edu.net/i2/go-zero/core/stores/sqlx"
  9. "git.i2edu.net/i2/go-zero/core/stringx"
  10. "git.i2edu.net/i2/go-zero/tools/goctl/model/sql/builderx"
  11. )
  12. var (
  13. mktPartTimeUserFieldNames = builderx.RawFieldNames(&MktPartTimeUser{})
  14. mktPartTimeUserRows = strings.Join(mktPartTimeUserFieldNames, ",")
  15. mktPartTimeUserRowsExpectAutoSet = strings.Join(stringx.Remove(mktPartTimeUserFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
  16. mktPartTimeUserRowsWithPlaceHolder = strings.Join(stringx.Remove(mktPartTimeUserFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
  17. cacheMktPartTimeUserIdPrefix = "cache:mktPartTimeUser:id:"
  18. cacheMktPartTimeUserPhonePrefix = "cache:mktPartTimeUser:phone:"
  19. )
  20. type (
  21. MktPartTimeUserModel interface {
  22. Insert(data MktPartTimeUser) (sql.Result, error)
  23. FindOne(id int64) (*MktPartTimeUser, error)
  24. FindOneByPhone(id string) (*MktPartTimeUser, error)
  25. Update(data MktPartTimeUser) error
  26. Delete(id int64) error
  27. }
  28. defaultMktPartTimeUserModel struct {
  29. sqlc.CachedConn
  30. table string
  31. }
  32. MktPartTimeUser struct {
  33. Id int64 `db:"id"`
  34. Name sql.NullString `db:"name"`
  35. Sex sql.NullInt64 `db:"sex"`
  36. CreateBy sql.NullString `db:"create_by"`
  37. CreateTime sql.NullTime `db:"create_time"`
  38. LastUpdateBy sql.NullString `db:"last_update_by"`
  39. LastUpdateTime sql.NullTime `db:"last_update_time"`
  40. IponeNumber sql.NullString `db:"ipone_number"`
  41. DelFlag sql.NullInt64 `db:"del_flag"`
  42. }
  43. )
  44. func NewMktPartTimeUserModel(conn sqlx.SqlConn, c cache.CacheConf) MktPartTimeUserModel {
  45. return &defaultMktPartTimeUserModel{
  46. CachedConn: sqlc.NewConn(conn, c),
  47. table: "`mkt_part_time_user`",
  48. }
  49. }
  50. func (m *defaultMktPartTimeUserModel) Insert(data MktPartTimeUser) (sql.Result, error) {
  51. query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?)", m.table, mktPartTimeUserRowsExpectAutoSet)
  52. ret, err := m.ExecNoCache(query, data.Name, data.Sex, data.CreateBy, data.LastUpdateBy, data.LastUpdateTime, data.IponeNumber, data.DelFlag)
  53. return ret, err
  54. }
  55. func (m *defaultMktPartTimeUserModel) FindOne(id int64) (*MktPartTimeUser, error) {
  56. mktPartTimeUserIdKey := fmt.Sprintf("%s%v", cacheMktPartTimeUserIdPrefix, id)
  57. var resp MktPartTimeUser
  58. err := m.QueryRow(&resp, mktPartTimeUserIdKey, func(conn sqlx.SqlConn, v interface{}) error {
  59. query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", mktPartTimeUserRows, m.table)
  60. return conn.QueryRow(v, query, id)
  61. })
  62. switch err {
  63. case nil:
  64. return &resp, nil
  65. case sqlc.ErrNotFound:
  66. return nil, ErrNotFound
  67. default:
  68. return nil, err
  69. }
  70. }
  71. func (m *defaultMktPartTimeUserModel) FindOneByPhone(phone string) (*MktPartTimeUser, error) {
  72. mktPartTimeUserPhoneKey := fmt.Sprintf("%s%v", cacheMktPartTimeUserPhonePrefix, phone)
  73. var resp MktPartTimeUser
  74. err := m.QueryRow(&resp, mktPartTimeUserPhoneKey, func(conn sqlx.SqlConn, v interface{}) error {
  75. query := fmt.Sprintf("select %s from %s where `ipone_number` = ? limit 1", mktPartTimeUserRows, m.table)
  76. return conn.QueryRow(v, query, phone)
  77. })
  78. switch err {
  79. case nil:
  80. return &resp, nil
  81. case sqlc.ErrNotFound:
  82. return nil, ErrNotFound
  83. default:
  84. return nil, err
  85. }
  86. }
  87. func (m *defaultMktPartTimeUserModel) Update(data MktPartTimeUser) error {
  88. mktPartTimeUserIdKey := fmt.Sprintf("%s%v", cacheMktPartTimeUserIdPrefix, data.Id)
  89. _, err := m.Exec(func(conn sqlx.SqlConn) (result sql.Result, err error) {
  90. query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, mktPartTimeUserRowsWithPlaceHolder)
  91. return conn.Exec(query, data.Name, data.Sex, data.CreateBy, data.LastUpdateBy, data.LastUpdateTime, data.IponeNumber, data.DelFlag, data.Id)
  92. }, mktPartTimeUserIdKey)
  93. return err
  94. }
  95. func (m *defaultMktPartTimeUserModel) Delete(id int64) error {
  96. mktPartTimeUserIdKey := fmt.Sprintf("%s%v", cacheMktPartTimeUserIdPrefix, id)
  97. _, err := m.Exec(func(conn sqlx.SqlConn) (result sql.Result, err error) {
  98. query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
  99. return conn.Exec(query, id)
  100. }, mktPartTimeUserIdKey)
  101. return err
  102. }
  103. func (m *defaultMktPartTimeUserModel) formatPrimary(primary interface{}) string {
  104. return fmt.Sprintf("%s%v", cacheMktPartTimeUserIdPrefix, primary)
  105. }
  106. func (m *defaultMktPartTimeUserModel) queryPrimary(conn sqlx.SqlConn, v, primary interface{}) error {
  107. query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", mktPartTimeUserRows, m.table)
  108. return conn.QueryRow(v, query, primary)
  109. }