i2billacquirermktqrmodel.go 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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. i2billAcquirerMktQrFieldNames = builderx.RawFieldNames(&I2billAcquirerMktQr{})
  14. i2billAcquirerMktQrRows = strings.Join(i2billAcquirerMktQrFieldNames, ",")
  15. i2billAcquirerMktQrRowsExpectAutoSet = strings.Join(stringx.Remove(i2billAcquirerMktQrFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
  16. i2billAcquirerMktQrRowsWithPlaceHolder = strings.Join(stringx.Remove(i2billAcquirerMktQrFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
  17. cacheI2billAcquirerMktQrIdPrefix = "cache:i2billAcquirerMktQr:id:"
  18. )
  19. type (
  20. I2billAcquirerMktQrModel interface {
  21. Insert(data I2billAcquirerMktQr) (sql.Result, error)
  22. FindOne(id int64) (*I2billAcquirerMktQr, error)
  23. Update(data I2billAcquirerMktQr) error
  24. Delete(id int64) error
  25. }
  26. defaultI2billAcquirerMktQrModel struct {
  27. sqlc.CachedConn
  28. table string
  29. }
  30. I2billAcquirerMktQr struct {
  31. CreateBy sql.NullString `db:"create_by"`
  32. UserId sql.NullInt64 `db:"user_id"` // 用户id
  33. ActivityId sql.NullString `db:"activity_id"` // 活动id
  34. Qr sql.NullString `db:"qr"` // 二维码url
  35. DelFlag sql.NullString `db:"del_flag"`
  36. CreateTime sql.NullTime `db:"create_time"`
  37. LastUpdateTime sql.NullTime `db:"last_update_time"`
  38. LastUpdateBy sql.NullString `db:"last_update_by"`
  39. Id int64 `db:"id"` // 主键
  40. QudaoId sql.NullString `db:"qudao_id"` // 渠道id
  41. }
  42. )
  43. func NewI2billAcquirerMktQrModel(conn sqlx.SqlConn, c cache.CacheConf) I2billAcquirerMktQrModel {
  44. return &defaultI2billAcquirerMktQrModel{
  45. CachedConn: sqlc.NewConn(conn, c),
  46. table: "`i2bill_acquirer_mkt_qr`",
  47. }
  48. }
  49. func (m *defaultI2billAcquirerMktQrModel) Insert(data I2billAcquirerMktQr) (sql.Result, error) {
  50. query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?)", m.table, i2billAcquirerMktQrRowsExpectAutoSet)
  51. ret, err := m.ExecNoCache(query, data.CreateBy, data.UserId, data.ActivityId, data.Qr, data.DelFlag, data.LastUpdateTime, data.LastUpdateBy, data.QudaoId)
  52. return ret, err
  53. }
  54. func (m *defaultI2billAcquirerMktQrModel) FindOne(id int64) (*I2billAcquirerMktQr, error) {
  55. i2billAcquirerMktQrIdKey := fmt.Sprintf("%s%v", cacheI2billAcquirerMktQrIdPrefix, id)
  56. var resp I2billAcquirerMktQr
  57. err := m.QueryRow(&resp, i2billAcquirerMktQrIdKey, func(conn sqlx.SqlConn, v interface{}) error {
  58. query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", i2billAcquirerMktQrRows, m.table)
  59. return conn.QueryRow(v, query, id)
  60. })
  61. switch err {
  62. case nil:
  63. return &resp, nil
  64. case sqlc.ErrNotFound:
  65. return nil, ErrNotFound
  66. default:
  67. return nil, err
  68. }
  69. }
  70. func (m *defaultI2billAcquirerMktQrModel) Update(data I2billAcquirerMktQr) error {
  71. i2billAcquirerMktQrIdKey := fmt.Sprintf("%s%v", cacheI2billAcquirerMktQrIdPrefix, data.Id)
  72. _, err := m.Exec(func(conn sqlx.SqlConn) (result sql.Result, err error) {
  73. query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, i2billAcquirerMktQrRowsWithPlaceHolder)
  74. return conn.Exec(query, data.CreateBy, data.UserId, data.ActivityId, data.Qr, data.DelFlag, data.LastUpdateTime, data.LastUpdateBy, data.QudaoId, data.Id)
  75. }, i2billAcquirerMktQrIdKey)
  76. return err
  77. }
  78. func (m *defaultI2billAcquirerMktQrModel) Delete(id int64) error {
  79. i2billAcquirerMktQrIdKey := fmt.Sprintf("%s%v", cacheI2billAcquirerMktQrIdPrefix, id)
  80. _, err := m.Exec(func(conn sqlx.SqlConn) (result sql.Result, err error) {
  81. query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
  82. return conn.Exec(query, id)
  83. }, i2billAcquirerMktQrIdKey)
  84. return err
  85. }
  86. func (m *defaultI2billAcquirerMktQrModel) formatPrimary(primary interface{}) string {
  87. return fmt.Sprintf("%s%v", cacheI2billAcquirerMktQrIdPrefix, primary)
  88. }
  89. func (m *defaultI2billAcquirerMktQrModel) queryPrimary(conn sqlx.SqlConn, v, primary interface{}) error {
  90. query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", i2billAcquirerMktQrRows, m.table)
  91. return conn.QueryRow(v, query, primary)
  92. }