business_conf_operation_record.go 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. package models
  2. import (
  3. sql2 "database/sql"
  4. "eta/eta_api/global"
  5. "eta/eta_api/utils"
  6. "fmt"
  7. "strings"
  8. "time"
  9. )
  10. // BusinessConfOperationRecord 商户配置操作记录表
  11. type BusinessConfOperationRecord struct {
  12. Id int `gorm:"column:id;primaryKey;autoIncrement"`
  13. SysUserId int `description:"操作人ID"`
  14. SysRealName string `description:"操作人姓名"`
  15. Content string `description:"操作数据"`
  16. CreateTime time.Time `description:"操作时间"`
  17. }
  18. func (m *BusinessConfOperationRecord) TableName() string {
  19. return "business_conf_operation_record"
  20. }
  21. func (m *BusinessConfOperationRecord) PrimaryId() string {
  22. return "id"
  23. }
  24. func (m *BusinessConfOperationRecord) Create() (err error) {
  25. err = global.DEFAULT_DB.Create(m).Error
  26. return
  27. }
  28. func (m *BusinessConfOperationRecord) CreateMulti(items []*BusinessConfOperationRecord) (err error) {
  29. if len(items) == 0 {
  30. return
  31. }
  32. err = global.DEFAULT_DB.CreateInBatches(items, utils.MultiAddNum).Error
  33. return
  34. }
  35. func (m *BusinessConfOperationRecord) Update(cols []string) (err error) {
  36. err = global.DEFAULT_DB.Select(cols).Updates(m).Error
  37. return
  38. }
  39. func (m *BusinessConfOperationRecord) Del() (err error) {
  40. sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.PrimaryId())
  41. err = global.DEFAULT_DB.Exec(sql, m.Id).Error
  42. return
  43. }
  44. func (m *BusinessConfOperationRecord) GetItemById(id int) (item *BusinessConfOperationRecord, err error) {
  45. sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.PrimaryId())
  46. err = global.DEFAULT_DB.Raw(sql, id).First(&item).Error
  47. return
  48. }
  49. func (m *BusinessConfOperationRecord) GetItemByCondition(condition string, pars []interface{}) (item *BusinessConfOperationRecord, err error) {
  50. sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s LIMIT 1`, m.TableName(), condition)
  51. err = global.DEFAULT_DB.Raw(sql, pars...).First(&item).Error
  52. return
  53. }
  54. func (m *BusinessConfOperationRecord) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
  55. sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
  56. var countNull sql2.NullInt64
  57. err = global.DEFAULT_DB.Raw(sql, pars...).Scan(&countNull).Error
  58. if err != nil {
  59. return
  60. }
  61. if countNull.Valid {
  62. count = int(countNull.Int64)
  63. }
  64. return
  65. }
  66. func (m *BusinessConfOperationRecord) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*BusinessConfOperationRecord, err error) {
  67. fields := strings.Join(fieldArr, ",")
  68. if len(fieldArr) == 0 {
  69. fields = `*`
  70. }
  71. order := `ORDER BY create_time DESC`
  72. if orderRule != "" {
  73. order = ` ORDER BY ` + orderRule
  74. }
  75. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
  76. err = global.DEFAULT_DB.Raw(sql, pars...).Find(&items).Error
  77. return
  78. }
  79. func (m *BusinessConfOperationRecord) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*BusinessConfOperationRecord, err error) {
  80. fields := strings.Join(fieldArr, ",")
  81. if len(fieldArr) == 0 {
  82. fields = `*`
  83. }
  84. order := `ORDER BY create_time DESC`
  85. if orderRule != "" {
  86. order = ` ORDER BY ` + orderRule
  87. }
  88. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s LIMIT ?,?`, fields, m.TableName(), condition, order)
  89. pars = append(pars, startSize, pageSize)
  90. err = global.DEFAULT_DB.Raw(sql, pars...).Find(&items).Error
  91. return
  92. }