package models import ( "time" "github.com/google/uuid" "gorm.io/gorm" ) // Course 课程模型 type Course struct { ID string `gorm:"type:uuid;primaryKey;column:id" json:"id"` // 课程ID ClassName string `gorm:"type:varchar(255);not null;column:classname" json:"classname"` // 班级名称 ClassNameID string `gorm:"type:uuid;not null;column:classname_id" json:"classname_id"` // 班级ID Course string `gorm:"type:varchar(255);not null;column:course" json:"course"` // 课程名称 Teacher string `gorm:"type:varchar(255);not null;column:teacher" json:"teacher"` // 授课老师 Classroom string `gorm:"type:varchar(255);not null;column:classroom" json:"classroom"` // 教室名称 ClassroomID string `gorm:"type:uuid;not null;column:classroom_id" json:"classroom_id"` // 教室ID Week int `gorm:"not null;column:week" json:"week"` // 周次 Day int `gorm:"not null;column:day" json:"day"` // 星期几 ClassTime int `gorm:"not null;column:classTime" json:"classTime"` // 第几节课 StartTime time.Time `gorm:"type:datetime;not null;column:startTime" json:"startTime"` // 开始时间 StartStamp float64 `gorm:"not null;column:startStamp" json:"startStamp"` // 开始时间戳 EndTime time.Time `gorm:"type:datetime;not null;column:endTime" json:"endTime"` // 结束时间 EndStamp float64 `gorm:"not null;column:endStamp" json:"endStamp"` // 结束时间戳 CampusID string `gorm:"type:uuid;not null;column:campus_id" json:"campus_id"` // 校区ID Campus string `gorm:"type:varchar(255);not null;column:campus" json:"campus"` // 校区名称 BuildID string `gorm:"type:uuid;not null;column:build_id" json:"build_id"` // 教学楼ID Build string `gorm:"type:varchar(255);not null;column:build" json:"build"` // 教学楼名称 Status int `gorm:"not null;column:status" json:"status"` // 状态 } // BeforeCreate 在创建Course之前生成UUID func (course *Course) BeforeCreate(tx *gorm.DB) (err error) { course.ID = uuid.New().String() return }