mkt_part_time_user_model.go 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  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. CityName sql.NullString `db:"city_name"`
  36. Sex sql.NullInt64 `db:"sex"`
  37. CreateBy sql.NullString `db:"create_by"`
  38. CreateTime sql.NullTime `db:"create_time"`
  39. LastUpdateBy sql.NullString `db:"last_update_by"`
  40. LastUpdateTime sql.NullTime `db:"last_update_time"`
  41. IponeNumber sql.NullString `db:"ipone_number"`
  42. DelFlag sql.NullInt64 `db:"del_flag"`
  43. }
  44. )
  45. func NewMktPartTimeUserModel(conn sqlx.SqlConn, c cache.CacheConf) MktPartTimeUserModel {
  46. return &defaultMktPartTimeUserModel{
  47. CachedConn: sqlc.NewConn(conn, c),
  48. table: "`mkt_part_time_user`",
  49. }
  50. }
  51. func (m *defaultMktPartTimeUserModel) Insert(data MktPartTimeUser) (sql.Result, error) {
  52. query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?)", m.table, mktPartTimeUserRowsExpectAutoSet)
  53. ret, err := m.ExecNoCache(query, data.Name, data.Sex, data.CreateBy, data.LastUpdateBy, data.LastUpdateTime, data.IponeNumber, data.DelFlag)
  54. return ret, err
  55. }
  56. func (m *defaultMktPartTimeUserModel) FindOne(id int64) (*MktPartTimeUser, error) {
  57. mktPartTimeUserIdKey := fmt.Sprintf("%s%v", cacheMktPartTimeUserIdPrefix, id)
  58. var resp MktPartTimeUser
  59. err := m.QueryRow(&resp, mktPartTimeUserIdKey, func(conn sqlx.SqlConn, v interface{}) error {
  60. query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", mktPartTimeUserRows, m.table)
  61. return conn.QueryRow(v, query, id)
  62. })
  63. switch err {
  64. case nil:
  65. return &resp, nil
  66. case sqlc.ErrNotFound:
  67. return nil, ErrNotFound
  68. default:
  69. return nil, err
  70. }
  71. }
  72. func (m *defaultMktPartTimeUserModel) FindOneByPhone(phone string) (*MktPartTimeUser, error) {
  73. mktPartTimeUserPhoneKey := fmt.Sprintf("%s%v", cacheMktPartTimeUserPhonePrefix, phone)
  74. var resp MktPartTimeUser
  75. err := m.QueryRow(&resp, mktPartTimeUserPhoneKey, func(conn sqlx.SqlConn, v interface{}) error {
  76. query := fmt.Sprintf("select %s from %s where `ipone_number` = ? limit 1", mktPartTimeUserRows, m.table)
  77. return conn.QueryRow(v, query, phone)
  78. })
  79. switch err {
  80. case nil:
  81. return &resp, nil
  82. case sqlc.ErrNotFound:
  83. return nil, ErrNotFound
  84. default:
  85. return nil, err
  86. }
  87. }
  88. func (m *defaultMktPartTimeUserModel) Update(data MktPartTimeUser) error {
  89. mktPartTimeUserIdKey := fmt.Sprintf("%s%v", cacheMktPartTimeUserIdPrefix, data.Id)
  90. _, err := m.Exec(func(conn sqlx.SqlConn) (result sql.Result, err error) {
  91. query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, mktPartTimeUserRowsWithPlaceHolder)
  92. return conn.Exec(query, data.Name, data.Sex, data.CreateBy, data.LastUpdateBy, data.LastUpdateTime, data.IponeNumber, data.DelFlag, data.Id)
  93. }, mktPartTimeUserIdKey)
  94. return err
  95. }
  96. func (m *defaultMktPartTimeUserModel) Delete(id int64) error {
  97. mktPartTimeUserIdKey := fmt.Sprintf("%s%v", cacheMktPartTimeUserIdPrefix, id)
  98. _, err := m.Exec(func(conn sqlx.SqlConn) (result sql.Result, err error) {
  99. query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
  100. return conn.Exec(query, id)
  101. }, mktPartTimeUserIdKey)
  102. return err
  103. }
  104. func (m *defaultMktPartTimeUserModel) formatPrimary(primary interface{}) string {
  105. return fmt.Sprintf("%s%v", cacheMktPartTimeUserIdPrefix, primary)
  106. }
  107. func (m *defaultMktPartTimeUserModel) queryPrimary(conn sqlx.SqlConn, v, primary interface{}) error {
  108. query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", mktPartTimeUserRows, m.table)
  109. return conn.QueryRow(v, query, primary)
  110. }