vars.go 855 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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 Technologys) Value() (driver.Value, error) {
  11. return json.Marshal(d)
  12. }
  13. // Scan 实现方法
  14. func (d *Technologys) Scan(input interface{}) error {
  15. _ = json.Unmarshal(input.([]byte), &d)
  16. return nil
  17. }
  18. type EventRule struct {
  19. Single identify.Rule
  20. Multi identify.MultiRule
  21. }
  22. func (d EventRule) Value() (driver.Value, error) {
  23. return json.Marshal(d)
  24. }
  25. // Scan 实现方法
  26. func (d *EventRule) Scan(input interface{}) error {
  27. if err := json.Unmarshal(input.([]byte), &d.Multi); err == nil {
  28. return nil
  29. }
  30. if err := json.Unmarshal(input.([]byte), &d.Single); err == nil {
  31. return nil
  32. }
  33. return nil
  34. }