watcher/pkg/model/product.go

46 lines
1.2 KiB
Go
Raw Normal View History

2024-04-10 17:36:56 +08:00
package model
import (
"gorm.io/gorm"
"time"
)
type Product struct {
ID uint `gorm:"primaryKey" json:"id"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
DeletedAt gorm.DeletedAt `gorm:"index"`
UpdateErr bool `json:"updateErr"` //更新出错了
Uid string `json:"uid" gorm:"index:,unique"`
2024-04-12 15:29:43 +08:00
Pid string `json:"pid" gorm:"index:,not null"` //产品编号
2024-04-10 17:36:56 +08:00
Name string `json:"name"`
Brand string `json:"brand"`
Website WebsiteType `json:"website"` //是什么网站
Watch bool `json:"watch"`
Orderable bool `json:"orderable"`
Link string `json:"link"`
Remark string `json:"remark,omitempty"`
AllocationResetDate time.Time `json:"allocationResetDate"` //上次补货时间
PusherIds []uint `json:"pusherIds" gorm:"serializer:json"`
}
type WebsiteType uint
func (t WebsiteType) IsZero() bool {
return t == WebsiteType(0)
}
const (
CoachOutlet WebsiteType = iota + 1
)
func (p *Product) TableName() string {
return "product_info"
}
type Producter interface {
Product() *Product
}