package com.microservices.pms.project.domain.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;

@Data
@ApiModel("项目工作项输入对象")
public class PmsProjectIssuesInputVo {

    @ApiModelProperty(value = "工作项父id")
    private Long rootId;

    @ApiModelProperty(value = "工作项父名称")
    private String rootSubject;

    @ApiModelProperty(value = "工作项名称")
    @NotBlank
    @Size(max = 200, message = "长度需要小于200")
    private String subject;

    @ApiModelProperty(value = "负责人ids")
    private List<Long> assignerIds;

    @ApiModelProperty(value = "项目id")
    private Long pmProjectId;

    @ApiModelProperty(value = "迭代id")
    private String pmSprintId;

    @ApiModelProperty(value = "优先级")
    @NotNull
    private Integer priorityId;

    @ApiModelProperty(value = "描述")
    private String description;

    @ApiModelProperty(value = "仓库id")
    private String projectId;

    @ApiModelProperty(value = "仓库分支")
    private String branchName;

    @ApiModelProperty(value = "开始时间")
    private String startDate;

    @ApiModelProperty(value = "结束时间")
    private String dueDate;

    @ApiModelProperty(value = "附件ids")
    private List<String> attachmentIds;

    @ApiModelProperty(value = "标记ids")
    private List<Long> issueTagIds;

    @ApiModelProperty(value = "状态 1新增 2正在解决 3已解决 4反馈 5关闭 6拒绝")
    @NotNull
    private Integer statusId;

    @ApiModelProperty(value = "工作项类型 1需求 2任务 3缺陷 4周报")
    private Integer pmIssueType;

    @ApiModelProperty(value = "预估工时")
    private String timeScale;

    @ApiModelProperty(value = "关联工作项id")
    private Long linkAbleId;
}
