types.go 650 B

1234567891011121314151617181920212223242526272829303132333435
  1. package identify
  2. import (
  3. "database/sql/driver"
  4. "encoding/json"
  5. )
  6. type Rule struct {
  7. NvIn []string `json:"NvIn"`
  8. NvNotIn []string `json:"NvNotIn"`
  9. OvIn []string `json:"OvIn"`
  10. OvNotIn []string `json:"OvNotIn"`
  11. }
  12. type MultiRule []Rule
  13. // Scan 实现方法
  14. func (d *MultiRule) Scan(input interface{}) error {
  15. _ = json.Unmarshal(input.([]byte), &d)
  16. return nil
  17. }
  18. func (d MultiRule) Value() (driver.Value, error) {
  19. return json.Marshal(d)
  20. }
  21. // Scan 实现方法
  22. func (d *Rule) Scan(input interface{}) error {
  23. _ = json.Unmarshal(input.([]byte), &d)
  24. return nil
  25. }
  26. func (d Rule) Value() (driver.Value, error) {
  27. return json.Marshal(d)
  28. }