package domain import ( "time" ) const ( ProjectStateWaitConfig int = 0 // 项目状态-待完成配置 ProjectStateWaitActive int = 1 // 项目状态-待启用 ProjectStateEnable int = 2 // 项目状态-启用 ProjectStateDisable int = 3 // 项目状态-停用(假状态) ) // 项目的评估内容配置 type EvaluationProject struct { Id int64 `json:"id,string" comment:"ID"` Name string `json:"name" comment:"名称"` Describe string `json:"describe" comment:"描述"` CompanyId int64 `json:"companyId,string" comment:"公司ID"` CycleId int64 `json:"cycleId,string" comment:"周期ID"` CreatorId int64 `json:"creatorId,string" comment:"创建人ID"` State int `json:"state" comment:"状态(0待完成配置、1待启用、2启用、3结束)"` HrBp int `json:"hrBp" comment:"HR角色权限"` Pmp int `json:"pmp" comment:"PM角色权限"` PmpIds []string `json:"pmpIds" comment:"项目管理员ID"` Recipients []string `json:"recipients" comment:"被评估人ID"` Template *EvaluationTemplate `json:"template" comment:"评估模板"` BeginTime time.Time `json:"beginTime" comment:"项目起始时间"` EndTime time.Time `json:"endTime" comment:"项目截至时间"` CreatedAt time.Time `json:"createdAt" comment:"创建时间"` UpdatedAt time.Time `json:"updatedAt" comment:"更新时间"` DeletedAt *time.Time `json:"deletedAt" comment:"删除时间"` } type EvaluationProjectRepository interface { Insert(project *EvaluationProject) (*EvaluationProject, error) Remove(project *EvaluationProject) (*EvaluationProject, error) FindOne(queryOptions map[string]interface{}) (*EvaluationProject, error) Find(queryOptions map[string]interface{}, excludeColumns ...string) (int64, []*EvaluationProject, error) Count(queryOptions map[string]interface{}) (int64, error) }