chore(init): 初始化解忧商行项目并完成 Phase 0 基座
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
package adtracking
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
type AdTrackingLink struct {
|
||||
ID uint64 `gorm:"primaryKey" json:"id"`
|
||||
Name string `gorm:"size:128;not null" json:"name"`
|
||||
Code string `gorm:"size:64;not null;uniqueIndex:uk_ad_tracking_links_code" json:"code"`
|
||||
ChannelType string `gorm:"size:64;not null;default:'other';index:idx_ad_tracking_links_channel" json:"channel_type"`
|
||||
TargetURL string `gorm:"size:512;not null;default:'https://hao858.com/'" json:"target_url"`
|
||||
Status string `gorm:"size:16;not null;default:'active';index:idx_ad_tracking_links_status" json:"status"`
|
||||
CostCent int64 `gorm:"not null;default:0" json:"cost_cent"`
|
||||
Notes string `gorm:"size:500;not null;default:''" json:"notes"`
|
||||
CreatedBy uint64 `gorm:"not null;default:0" json:"created_by"`
|
||||
CreatedAt time.Time `gorm:"index:idx_ad_tracking_links_created" json:"created_at"`
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
}
|
||||
|
||||
func (AdTrackingLink) TableName() string {
|
||||
return "ad_tracking_links"
|
||||
}
|
||||
|
||||
type AdTrackingClick struct {
|
||||
ID uint64 `gorm:"primaryKey" json:"id"`
|
||||
LinkID uint64 `gorm:"not null;index:idx_ad_tracking_clicks_link_created,priority:1" json:"link_id"`
|
||||
Code string `gorm:"size:64;not null;index:idx_ad_tracking_clicks_code_created,priority:1" json:"code"`
|
||||
IP string `gorm:"size:64;not null;default:'';index:idx_ad_tracking_clicks_ip_created,priority:1" json:"ip"`
|
||||
UserAgent string `gorm:"size:512;not null;default:''" json:"user_agent"`
|
||||
DeviceType string `gorm:"size:32;not null;default:'unknown'" json:"device_type"`
|
||||
OS string `gorm:"size:32;not null;default:'unknown'" json:"os"`
|
||||
Browser string `gorm:"size:32;not null;default:'unknown'" json:"browser"`
|
||||
Referer string `gorm:"size:512;not null;default:''" json:"referer"`
|
||||
VisitorID string `gorm:"size:64;not null;default:'';index:idx_ad_tracking_clicks_visitor,priority:1" json:"visitor_id"`
|
||||
CreatedAt time.Time `gorm:"index:idx_ad_tracking_clicks_link_created,priority:2;index:idx_ad_tracking_clicks_code_created,priority:2;index:idx_ad_tracking_clicks_ip_created,priority:2;index:idx_ad_tracking_clicks_visitor,priority:2" json:"created_at"`
|
||||
}
|
||||
|
||||
func (AdTrackingClick) TableName() string {
|
||||
return "ad_tracking_clicks"
|
||||
}
|
||||
Reference in New Issue
Block a user