update .gitignore
This commit is contained in:
62
app/common/model/activity_instance.go
Normal file
62
app/common/model/activity_instance.go
Normal file
@ -0,0 +1,62 @@
|
||||
package model
|
||||
|
||||
import "time"
|
||||
|
||||
// ActivityInstance 活动数据模型
|
||||
type ActivityInstance struct {
|
||||
Model
|
||||
Local
|
||||
Identity int `gorm:"column:identity;type:tinyint(3);default:0;comment:身份来源" json:"-"`
|
||||
Mode ActivityInstanceMode `gorm:"column:mode;type:tinyint(1);default:1;comment:活动模式" json:"mode"`
|
||||
ActivityInstanceBasic
|
||||
Content string `gorm:"column:title;type:text;default:null;comment:活动详情" json:"content"`
|
||||
MaxNumber int `gorm:"column:max_number;type:int(6);default:0;comment:报名限制人数,0不做限制" json:"max_number"`
|
||||
Status ActivityInstanceStatus `gorm:"column:status;type:tinyint(1);default:1;comment:活动状态(1:显示,2:隐藏)" json:"status"`
|
||||
ModelDeleted
|
||||
ModelAt
|
||||
}
|
||||
|
||||
// ActivityInstanceBasic 活动基本信息
|
||||
type ActivityInstanceBasic struct {
|
||||
Title string `gorm:"column:title;type:varchar(50);default:null;comment:活动名称" json:"title"`
|
||||
BeginAt time.Time `gorm:"column:begin_at;type:datetime;not null;comment:活动开始" json:"begin_at"`
|
||||
FinishAt time.Time `gorm:"column:finish_at;type:datetime;not null;comment:活动结束时间" json:"finish_at"`
|
||||
JoinDeadline time.Time `gorm:"column:join_deadline;type:datetime;not null;comment:报名截止时间" json:"join_deadline"`
|
||||
}
|
||||
|
||||
// ActivityInstanceMode 活动类型
|
||||
type ActivityInstanceMode int
|
||||
|
||||
const (
|
||||
// ActivityInstanceModeForOrdinary 普通活动
|
||||
ActivityInstanceModeForOrdinary ActivityInstanceMode = iota + 1
|
||||
// ActivityInstanceModeForCharge 收费活动
|
||||
ActivityInstanceModeForCharge
|
||||
)
|
||||
|
||||
// ActivityInstanceStatus 活动状态
|
||||
type ActivityInstanceStatus int
|
||||
|
||||
const (
|
||||
// ActivityInstanceStatusForShow 状态显示
|
||||
ActivityInstanceStatusForShow ActivityInstanceStatus = iota + 1
|
||||
// ActivityInstanceStatusForHidden 状态隐藏
|
||||
ActivityInstanceStatusForHidden
|
||||
)
|
||||
|
||||
func (m *ActivityInstanceBasic) IsOngoing() bool {
|
||||
now := time.Now()
|
||||
return m.BeginAt.Before(now) && m.FinishAt.After(now)
|
||||
}
|
||||
|
||||
func (m *ActivityInstanceBasic) IsCanJoin() bool {
|
||||
return m.JoinDeadline.After(time.Now())
|
||||
}
|
||||
|
||||
func (m *ActivityInstance) TableName() string {
|
||||
return "activity_instance"
|
||||
}
|
||||
|
||||
func NewActivityInstance() *ActivityInstance {
|
||||
return &ActivityInstance{}
|
||||
}
|
Reference in New Issue
Block a user