package com.zanxiang.game.module.manage.pojo.params;

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

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @author : lingfeng
 * @time : 2023-07-10
 * @description : 客保控制
 */
@Data
public class GameAppletShellAddUpdateParam {

    /**
     * 主键
     */
    @ApiModelProperty(notes = "主键id, 不传为创建, 传则更新")
    private Long id;

    /**
     * 游戏id
     */
    @NotNull(message = "游戏id不可为空")
    @ApiModelProperty(notes = "游戏id, 必传")
    private Long gameId;

    /**
     * 是否在申诉
     */
    @NotNull(message = "申诉状态不可为空")
    @ApiModelProperty(notes = "是否在申诉, 必传, 非申诉中proControlType字段只能选择 0 和 1, 申诉只则没有限制")
    private Boolean isAppeal;

    /**
     * 线上版本号
     */
    @NotBlank(message = "线上版本号不可为空")
    @ApiModelProperty(notes = "线上版本号, 必传")
    private String proVersion;

    /**
     * 提审版本号
     */
    @ApiModelProperty(notes = "提审版本号")
    private String arraignVersion;

    /**
     * 壳包控制类型, 0:关闭, 1:开启, 2:新用户开启, 老用户关闭, 3:角色等级控制开启
     */
    @NotNull(message = "壳包控制类型不可为空")
    @ApiModelProperty(notes = "壳包控制类型, 0:关闭, 1:开启, 2:新用户开启, 老用户关闭, 3:角色等级控制开启, 必传")
    private Integer proControlType;

    /**
     * 壳包控制等级, 类型为3时, 必填
     */
    @ApiModelProperty(notes = "壳包控制等级, proControlType类型为3时, 必填")
    private Long proControlLevel;

    /**
     * 壳跳出按钮开关
     */
    @ApiModelProperty(notes = "壳跳出按钮开关, 非必填")
    private Boolean isSkipSwitch;
}
