package models

import (
	"time"

	"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain"
)

// 任务
type Task struct {
	tableName    struct{}          `comment:"任务" pg:"task"`
	Id           int               `pg:"id,pk"`              //
	CreatedAt    time.Time         `pg:"created_at"`         //
	UpdatedAt    time.Time         `pg:"updated_at"`         //
	DeletedAt    *time.Time        `pg:"deleted_at"`         //
	Name         string            `pg:"name"`               // 任务名称
	Alias        string            `pg:"alias"`              //
	CompanyId    int               `pg:"company_id"`         //
	Leader       domain.TaskLeader `pg:"leader"`             // 任务负责人
	Status       int               `pg:"status,use_zero"`    // 任务的状态
	Level        int               `pg:"level,use_zero"`     // 优先级,值越小优先级越高
	LevelName    string            `pg:"level_name"`         // 优先级名称
	RelatedUser  []int             `pg:"related_user"`       //
	RunAt        int64             `pg:"run_at,use_zero"`    // 启动的时间
	StopAt       int64             `pg:"stop_at,use_zero" `  // 停止的时间
	Anomaly      int               `pg:"anomaly,use_zero"`   // 异常反馈的数量
	WarnFlag     int               `pg:"warn_flag,use_zero"` // 里程碑异常标记
	CurrentStage domain.TaskStage  `pg:"current_stage"`      // 当前执行的里程碑
	LastStage    domain.TaskStage  `pg:"lastStage"`          // 上一个完成的里程碑
}