merchant_clean.go 1.4 KB

123456789101112131415161718192021222324252627282930
  1. package model
  2. import (
  3. "time"
  4. "gorm.io/datatypes"
  5. )
  6. type MerchantClean struct {
  7. ID uint `gorm:"primaryKey;autoIncrement" json:"id"`
  8. RawID *uint `gorm:"index" json:"raw_id"`
  9. MerchantName string `gorm:"size:500" json:"merchant_name"`
  10. TgUsername string `gorm:"uniqueIndex;size:255" json:"tg_username"`
  11. Website string `gorm:"size:2048" json:"website"`
  12. Email string `gorm:"size:255" json:"email"`
  13. Phone string `gorm:"size:100" json:"phone"`
  14. Industry string `gorm:"size:100;index" json:"industry"`
  15. Status string `gorm:"type:enum('valid','invalid','bot','duplicate','group');not null;index" json:"status"`
  16. TgFirstName string `gorm:"size:255" json:"tg_first_name"`
  17. TgLastName string `gorm:"size:255" json:"tg_last_name"`
  18. IsPremium bool `gorm:"default:false" json:"is_premium"`
  19. LastOnline *time.Time `json:"last_online"`
  20. ActiveLevel string `gorm:"type:enum('active','moderate','inactive')" json:"active_level"`
  21. MemberCount int `gorm:"default:0" json:"member_count"`
  22. QualityScore float64 `gorm:"default:0;index" json:"quality_score"`
  23. SourceCount int `gorm:"default:1" json:"source_count"`
  24. SourceLinks datatypes.JSON `gorm:"type:json" json:"source_links"`
  25. CreatedAt time.Time `json:"created_at"`
  26. UpdatedAt time.Time `json:"updated_at"`
  27. }