vars.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package model
  2. import (
  3. "database/sql/driver"
  4. "encoding/json"
  5. "github.com/zeromicro/go-zero/core/stores/sqlx"
  6. "metawant.greentech.com.cn/gaoyagang/gt-common/identify"
  7. )
  8. var ErrNotFound = sqlx.ErrNotFound
  9. type Technologys []string
  10. func (d ManageProjectIds) Value() (driver.Value, error) {
  11. return json.Marshal(d)
  12. }
  13. // Scan 实现方法
  14. func (d *ManageProjectIds) Scan(input interface{}) error {
  15. _ = json.Unmarshal(input.([]byte), &d)
  16. return nil
  17. }
  18. func (d Technologys) Value() (driver.Value, error) {
  19. return json.Marshal(d)
  20. }
  21. // Scan 实现方法
  22. func (d *Technologys) Scan(input interface{}) error {
  23. _ = json.Unmarshal(input.([]byte), &d)
  24. return nil
  25. }
  26. type EventRule struct {
  27. Single identify.Rule
  28. Multi identify.MultiRule
  29. }
  30. func (d EventRule) Value() (driver.Value, error) {
  31. return json.Marshal(d)
  32. }
  33. // Scan 实现方法
  34. func (d *EventRule) Scan(input interface{}) error {
  35. if err := json.Unmarshal(input.([]byte), &d.Multi); err == nil {
  36. return nil
  37. }
  38. if err := json.Unmarshal(input.([]byte), &d.Single); err == nil {
  39. return nil
  40. }
  41. return nil
  42. }