base_organ_model.go 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package model
  2. import (
  3. "database/sql"
  4. "fmt"
  5. "strings"
  6. "git.i2edu.net/i2/go-zero/core/stores/sqlc"
  7. "git.i2edu.net/i2/go-zero/core/stores/sqlx"
  8. "git.i2edu.net/i2/go-zero/core/stringx"
  9. "git.i2edu.net/i2/go-zero/tools/goctl/model/sql/builderx"
  10. )
  11. var (
  12. baseOrganFieldNames = builderx.RawFieldNames(&BaseOrgan{})
  13. baseOrganRows = strings.Join(baseOrganFieldNames, ",")
  14. baseOrganRowsExpectAutoSet = strings.Join(stringx.Remove(baseOrganFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
  15. baseOrganRowsWithPlaceHolder = strings.Join(stringx.Remove(baseOrganFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
  16. )
  17. type (
  18. BaseOrganModel interface {
  19. Insert(data BaseOrgan) (sql.Result, error)
  20. FindOne(id int64) (*BaseOrgan, error)
  21. Update(data BaseOrgan) error
  22. Delete(id int64) error
  23. }
  24. defaultBaseOrganModel struct {
  25. conn sqlx.SqlConn
  26. table string
  27. }
  28. BaseOrgan struct {
  29. LastUpdateTime sql.NullTime `db:"last_update_time" json:"last_update_time"`
  30. OrganPinyin sql.NullString `db:"organ_pinyin" json:"organ_pinyin"`
  31. CreateBy sql.NullString `db:"create_by" json:"create_by"`
  32. Inheritance sql.NullString `db:"inheritance" json:"inheritance"`
  33. Parent sql.NullInt64 `db:"parent" json:"parent"`
  34. CreateTime sql.NullTime `db:"create_time" json:"create_time"`
  35. IfBuyOnline sql.NullInt64 `db:"if_buy_online" json:"if_buy_online"`
  36. DelFlag int64 `db:"del_flag" json:"del_flag"`
  37. ShengId sql.NullInt64 `db:"sheng_id" json:"sheng_id"`
  38. Id int64 `db:"id" json:"id"`
  39. OrganTell sql.NullString `db:"organ_tell" json:"organ_tell"`
  40. OrganName sql.NullString `db:"organ_name" json:"organ_name"`
  41. OrganType sql.NullInt64 `db:"organ_type" json:"organ_type"`
  42. LastUpdateBy sql.NullString `db:"last_update_by" json:"last_update_by"`
  43. OrganNumber sql.NullString `db:"organ_number" json:"organ_number"`
  44. ParentId sql.NullInt64 `db:"parent_id" json:"parent_id"`
  45. Name sql.NullString `db:"name" json:"name"`
  46. }
  47. )
  48. func NewBaseOrganModel(conn sqlx.SqlConn) BaseOrganModel {
  49. return &defaultBaseOrganModel{
  50. conn: conn,
  51. table: "`base_organ`",
  52. }
  53. }
  54. func (m *defaultBaseOrganModel) Insert(data BaseOrgan) (sql.Result, error) {
  55. query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, baseOrganRowsExpectAutoSet)
  56. ret, err := m.conn.Exec(query, data.LastUpdateTime, data.OrganPinyin, data.CreateBy, data.Inheritance, data.Parent, data.IfBuyOnline, data.DelFlag, data.ShengId, data.OrganTell, data.OrganName, data.OrganType, data.LastUpdateBy, data.OrganNumber, data.ParentId, data.Name)
  57. return ret, err
  58. }
  59. func (m *defaultBaseOrganModel) FindOne(id int64) (*BaseOrgan, error) {
  60. query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", baseOrganRows, m.table)
  61. var resp BaseOrgan
  62. err := m.conn.QueryRow(&resp, query, id)
  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 *defaultBaseOrganModel) Update(data BaseOrgan) error {
  73. query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, baseOrganRowsWithPlaceHolder)
  74. _, err := m.conn.Exec(query, data.LastUpdateTime, data.OrganPinyin, data.CreateBy, data.Inheritance, data.Parent, data.IfBuyOnline, data.DelFlag, data.ShengId, data.OrganTell, data.OrganName, data.OrganType, data.LastUpdateBy, data.OrganNumber, data.ParentId, data.Name, data.Id)
  75. return err
  76. }
  77. func (m *defaultBaseOrganModel) Delete(id int64) error {
  78. query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
  79. _, err := m.conn.Exec(query, id)
  80. return err
  81. }