package model import ( "time" "gorm.io/gorm" ) // UserMembership 表示会员订阅记录(DDL 见 docs/sql/users.sql)。 type UserMembership struct { ID uint `gorm:"primarykey" json:"id"` CreatedAt time.Time `gorm:"comment:创建时间" json:"created_at"` UpdatedAt time.Time `gorm:"comment:更新时间" json:"updated_at"` DeletedAt gorm.DeletedAt `gorm:"index;comment:删除时间" json:"-"` MiniProgramID uint `gorm:"index:idx_membership_user,priority:1;index:idx_membership_status,priority:1;comment:小程序ID" json:"mini_program_id"` UserID uint `gorm:"index:idx_membership_user,priority:2;index:idx_membership_status,priority:2;comment:用户ID" json:"user_id"` Plan string `gorm:"size:30;comment:会员套餐" json:"plan"` Status string `gorm:"size:20;index:idx_membership_status,priority:3;comment:状态(active/canceled/expired)" json:"status"` StartsAt time.Time `gorm:"comment:开始时间" json:"starts_at"` EndsAt time.Time `gorm:"index:idx_membership_user,priority:3;index:idx_membership_status,priority:4;comment:结束时间" json:"ends_at"` } func (UserMembership) TableName() string { return "user_memberships" } func (UserMembership) TableComment() string { return "用户会员订阅" }