Files
2024-11-11 10:57:15 +08:00

38 lines
2.3 KiB
Go

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
}