package cn.iocoder.yudao.module.system.controller.admin.tenantagencypackage.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 代理租户套餐新增/修改 Request VO")
@Data
public class TenantAgencyPackageSaveReqVO {

    @Schema(description = "套餐编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "20125")
    private Long id;

    @Schema(description = "套餐名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @NotEmpty(message = "套餐名不能为空")
    private String name;

    @Schema(description = "租户状态（0正常 1停用）", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "租户状态（0正常 1停用）不能为空")
    private Integer status;

    @Schema(description = "备注", example = "你猜")
    private String remark;

    @Schema(description = "关联的菜单编号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "关联的菜单编号不能为空")
    private Set<Long> menuIds;

    @Schema(description = "套餐天数", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "套餐天数不能为空")
    private Integer days;

    @Schema(description = "套餐价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "22890")
    @NotNull(message = "套餐价格不能为空")
    private Integer price;

    @Schema(description = "爬主播客户端 0 关闭 1 开启")
    private Integer hostslClient;

    @Schema(description = "爬大哥客户端 0 关闭 1 开启")
    private Integer brotherClient;

    @Schema(description = "AI 客户端 0 关闭 1 开启")
    private Integer aiClient;

    @Schema(description = "套餐类型", example = "2")
    private Integer packageType;

    @Schema(description = "Ai自动回复权限 0关闭 1 开启")
    private Integer aiReplay;

    @Schema(description = "WebAi权限 0关闭 1开启")
    private Integer webAi;
}