sys_optionset_model.go 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package model
  2. import (
  3. "database/sql"
  4. "fmt"
  5. "strings"
  6. "time"
  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. sysOptionsetFieldNames = builderx.RawFieldNames(&SysOptionset{})
  14. sysOptionsetRows = strings.Join(sysOptionsetFieldNames, ",")
  15. sysOptionsetRowsExpectAutoSet = strings.Join(stringx.Remove(sysOptionsetFieldNames, "`create_time`", "`update_time`"), ",")
  16. sysOptionsetRowsWithPlaceHolder = strings.Join(stringx.Remove(sysOptionsetFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
  17. )
  18. type (
  19. SysOptionsetModel interface {
  20. Insert(data SysOptionset) (sql.Result, error)
  21. FindOne(id string) (*SysOptionset, error)
  22. Update(data SysOptionset) error
  23. Delete(id string) error
  24. }
  25. defaultSysOptionsetModel struct {
  26. conn sqlx.SqlConn
  27. table string
  28. }
  29. SysOptionset struct {
  30. DelFlag int64 `db:"del_flag" json:"del_flag"`
  31. Name string `db:"name" json:"name"`
  32. Code string `db:"code" json:"code"`
  33. CreateTime time.Time `db:"create_time" json:"create_time"`
  34. LastUpdateBy string `db:"last_update_by" json:"last_update_by"`
  35. LastUpdateTime int64 `db:"last_update_time" json:"last_update_time"`
  36. Id string `db:"id" json:"id"`
  37. Value string `db:"value" json:"value"`
  38. CreateBy string `db:"create_by" json:"create_by"`
  39. }
  40. )
  41. func NewSysOptionsetModel(conn sqlx.SqlConn) SysOptionsetModel {
  42. return &defaultSysOptionsetModel{
  43. conn: conn,
  44. table: "`sys_optionset`",
  45. }
  46. }
  47. func (m *defaultSysOptionsetModel) Insert(data SysOptionset) (sql.Result, error) {
  48. query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?)", m.table, sysOptionsetRowsExpectAutoSet)
  49. ret, err := m.conn.Exec(query, data.DelFlag, data.Name, data.Code, data.LastUpdateBy, data.LastUpdateTime, data.Id, data.Value, data.CreateBy)
  50. return ret, err
  51. }
  52. func (m *defaultSysOptionsetModel) FindOne(id string) (*SysOptionset, error) {
  53. query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", sysOptionsetRows, m.table)
  54. var resp SysOptionset
  55. err := m.conn.QueryRow(&resp, query, id)
  56. switch err {
  57. case nil:
  58. return &resp, nil
  59. case sqlc.ErrNotFound:
  60. return nil, ErrNotFound
  61. default:
  62. return nil, err
  63. }
  64. }
  65. func (m *defaultSysOptionsetModel) Update(data SysOptionset) error {
  66. query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, sysOptionsetRowsWithPlaceHolder)
  67. _, err := m.conn.Exec(query, data.DelFlag, data.Name, data.Code, data.LastUpdateBy, data.LastUpdateTime, data.Value, data.CreateBy, data.Id)
  68. return err
  69. }
  70. func (m *defaultSysOptionsetModel) Delete(id string) error {
  71. query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
  72. _, err := m.conn.Exec(query, id)
  73. return err
  74. }