package models

import (
	"gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/domain"
	"time"
)

type Task struct {
	TableName string `pg:"tasks,alias:task"`
	// 任务ID
	Id int64 `pg:",pk"`
	// 公司ID
	CompanyId int64
	// 任务名称
	TaskName string
	// 任务类型
	TaskType int
	// 任务发起者
	Sponsor *domain.EmployeeInfo
	// 任务状态
	TaskStatus int
	// 引用资源
	ReferenceResource *domain.ReferenceResource
	// 项目归属
	ProjectBelong int
	// 客户价值列表
	CustomerValues []int `pg:",array"`
	// 任务性质
	TaskNature int
	// 奖励素币
	SuMoney float64
	// 最小奖励素币
	MinSuMoney float64
	// 最大奖励素币
	MaxSuMoney float64
	// 验收标准
	AcceptanceStandard string
	// 任务描述
	TaskDescription string
	// 任务图片URL列表
	TaskPictureUrls []string `pg:",array"`
	// 是否悬赏任务
	IsRewardTake bool
	// 任务参与者列表
	Participators []*domain.EmployeeInfo
	// 任务贡献占比
	TaskPercentage []*domain.TaskPercentageItem
	// 解决报告
	SolveReport string
	// 解决图片URL列表
	SolvePictureUrls []string `pg:",array"`
	// 指派人员
	AssignedPerson *domain.EmployeeInfo
	// 计划完成时间
	PlannedCompletionTime time.Time
	// 实际完成时间
	ActualCompletionTime time.Time
	// 抢单任务信息
	RobInfo *RobInfo
	// 竞标任务信息
	BidInfo *BidInfo
	// 创建时间
	CreateTime  time.Time
	ReceiverUid int64
	// 发布任务时间
	ReleaseTime time.Time
	// 领取任务时间
	ReceiveTime time.Time
	// 完成任务操作时间
	CompleteTime time.Time
	// 验收方验收时间
	AcceptanceTime time.Time
	RemoveTime     time.Time `pg:",soft_delete"`
}