ads14.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. // Copyright 2019 getensh.com. All rights reserved.
  2. // Use of this source code is governed by getensh.com.
  3. package model
  4. import (
  5. //"adm-vehicle-style/common.in/utils"
  6. // "git.getensh.com/common/gopkgsv2/logger"
  7. // "go.uber.org/zap"
  8. "gorm.io/gorm"
  9. "time"
  10. )
  11. type Ads14 struct {
  12. ID int64 `gorm:"primary_key" json:"-"`
  13. StyleId string `json:"style_id"`
  14. C2Id int `json:"c2_id"`
  15. AttributeRule string `json:"attribute_rule"`
  16. Useage string `json:"useage"`
  17. Detail string `json:"detail"`
  18. CreatedAt int64 `json:"-"`
  19. UpdatedAt int64 `json:"-"`
  20. }
  21. func (Ads14) TableName() string {
  22. return "db_adm_dws.t_adm_ads14"
  23. }
  24. // Insert 插入一条记录
  25. func (p *Ads14) Insert(db *gorm.DB) error {
  26. timeNow := time.Now().Unix()
  27. p.CreatedAt = timeNow
  28. p.UpdatedAt = timeNow
  29. err := db.Create(p).Error
  30. /*if err != nil {
  31. logger.Error("mysql",
  32. zap.String("sql", "insert into "+p.TableName()),
  33. zap.String("fields", utils.MarshalJsonString(*p)),
  34. zap.String("error", err.Error()))
  35. }*/
  36. return err
  37. }
  38. func (p *Ads14) InsertByMap(db *gorm.DB, data map[string]interface{}) error {
  39. err := db.Model(p).Create(data).Error
  40. /*if err != nil {
  41. logger.Error("mysql",
  42. zap.String("sql", "insert into "+p.TableName()),
  43. zap.String("fields", utils.MarshalJsonString(data)),
  44. zap.String("error", err.Error()))
  45. }*/
  46. return err
  47. }
  48. func (p *Ads14) Delete(db *gorm.DB, filter map[string]interface{}) error {
  49. err := db.Where(filter).Delete(p).Error
  50. /*if err != nil {
  51. logger.Error("mysql",
  52. zap.String("sql", "delete from "+p.TableName()),
  53. zap.String("fields", utils.MarshalJsonString(filter)),
  54. zap.String("error", err.Error()))
  55. }*/
  56. return err
  57. }
  58. func (p *Ads14) Save(db *gorm.DB) error {
  59. err := db.Save(p).Error
  60. /*if err != nil {
  61. logger.Error("mysql",
  62. zap.String("sql", "save "+p.TableName()),
  63. zap.String("fields", utils.MarshalJsonString(*p)),
  64. zap.String("error", err.Error()))
  65. }*/
  66. return err
  67. }
  68. func (p *Ads14) Update(db *gorm.DB) error {
  69. p.CreatedAt = 0
  70. timeNow := time.Now().Unix()
  71. p.UpdatedAt = timeNow
  72. err := db.Model(p).UpdateColumns(p).Error
  73. /*if err != nil {
  74. logger.Error("mysql",
  75. zap.String("sql", "update "+p.TableName()),
  76. zap.String("fields", utils.MarshalJsonString(*p)),
  77. zap.String("error", err.Error()))
  78. }*/
  79. return err
  80. }
  81. func (p *Ads14) UpdateByMap(db *gorm.DB, data map[string]interface{}) error {
  82. err := db.Model(p).Updates(data).Error
  83. /*if err != nil {
  84. logger.Error("mysql",
  85. zap.String("sql", "update "+p.TableName()),
  86. zap.String("fields", utils.MarshalJsonString(data)),
  87. zap.String("error", err.Error()))
  88. }*/
  89. return err
  90. }
  91. // 通过结构体变量更新字段值, gorm库会忽略零值字段。就是字段值等于0, nil, "", false这些值会被忽略掉,不会更新。如果想更新零值,可以使用map类型替代结构体。
  92. func (p *Ads14) UpdateSome(db *gorm.DB, filed map[string]interface{}) error {
  93. err := db.Model(p).Updates(filed).Error
  94. /*if err != nil {
  95. logger.Error("mysql",
  96. zap.String("sql", "update "+p.TableName()),
  97. zap.String("fields", utils.MarshalJsonString(filed)),
  98. zap.String("error", err.Error()))
  99. }*/
  100. return err
  101. }
  102. func (p *Ads14) Query(db *gorm.DB, filter map[string]interface{}) error {
  103. err := db.Where(filter).Find(p).Error
  104. /*if err != nil {
  105. logger.Error("mysql",
  106. zap.String("sql", "select from "+p.TableName()),
  107. zap.String("fields", utils.MarshalJsonString(filter)),
  108. zap.String("error", err.Error()))
  109. }*/
  110. if p.ID == 0 {
  111. return gorm.ErrRecordNotFound
  112. }
  113. return err
  114. }
  115. func (p *Ads14) QueryAll(db *gorm.DB, filter map[string]interface{}, out interface{}) error {
  116. err := db.Where(filter).Find(out).Error
  117. /*if err != nil {
  118. logger.Error("mysql",
  119. zap.String("sql", "select from "+p.TableName()),
  120. zap.String("fields", utils.MarshalJsonString(filter)),
  121. zap.String("error", err.Error()))
  122. }*/
  123. return err
  124. }