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

import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * 产品需求对象 pms_product_requirement
 *
 * @author otto
 * @date 2023-10-10
 */
@Data
@ApiModel("原始需求搜索对象")
public class ProductReqSpecsSearchVo {
    /**
     * 标题
     */
    @ApiModelProperty(value = "模糊搜索标题")
    private String title;

    /**
     * 关联产品模块标识
     */
    @ApiModelProperty(value = "关联产品标识", required = true)
    @NotNull
    private String pmsProductIdentifier;

    @ApiModelProperty(value = "关联产品模块ID（传0查询不属于任何模块的需求）")
    private Long pmsProductModuleId;

    @ApiModelProperty(value = "关联产品里程碑ID")
    private Long pmsProductPlanId;

    @ApiModelProperty(value = "产品需求状态（全部状态请传空）（可通过逗号分割传多个状态）")
    private String status;

    @ApiModelProperty(value = "产品需求状态（数组）", hidden = true)
    private String[] statusList;

    @ApiModelProperty(value = "产品需求类型")
    private String type;

    @ApiModelProperty(value = "创建人")
    private String createBy;

    /**
     * 关联项目ID
     */
    @ApiModelProperty(value = "关联模块ID", hidden = true)
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private List<Long> childrenModuleIdList;
}
