package com.skr.mdm.bean.qo.app;

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

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

/**
 * 应用商店添加应用
 *
 * @author nfq
 * @since 2022-11-22 10:47:23
 */
@Data
@ApiModel(value = "应用商店添加应用对象")
public class MdmAppStoreAddQO {

    @NotBlank(message = "应用名称不能为空")
    @ApiModelProperty(value = "应用名称")
    private String appName;

    @NotBlank(message = "包名不能为空")
    @ApiModelProperty(value = "包名")
    private String packageName;

    @NotBlank(message = "版本名称不能为空")
    @ApiModelProperty(value = "版本名称")
    private String versionName;

    @NotNull(message = "版本号不能为空")
    @ApiModelProperty(value = "版本号")
    private Integer versionCode;

    @ApiModelProperty(value = "应用签名")
    private String appSign;

    @NotBlank(message = "文件地址不能为空")
    @ApiModelProperty(value = "文件地址")
    private String fileUrl;

    @NotBlank(message = "文件大小不能为空")
    @ApiModelProperty(value = "文件大小")
    private String fileSize;

    @ApiModelProperty(value = "图标地址")
    private String iconUrl;

    @NotNull(message = "应用分类不能为空")
    @ApiModelProperty(value = "应用分类ID")
    private Integer appTypeId;

    @NotNull(message = "应用类型不能为空")
    @ApiModelProperty(value = "应用类型（1：普通应用(独立应用) 2：轻应用(H5) 3:沙箱应用）")
    private Integer appCategory;

    @ApiModelProperty(value = "备注")
    private String remark;

    @NotNull(message = "发布方式不能为空")
    @ApiModelProperty(value = "发布方式（0：仅上传 1：全局 2：部门 3：设备 4：用户）")
    private Integer globalType;

    @ApiModelProperty(value = "候选ID集合（部门ID集合 用户id 设备ID集合 ）")
    private List<Integer> candidateIdList;

}