package cn.iocoder.yudao.module.configure.controller.admin.unitemplate.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
* 小程序模板 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class UniTemplateBaseVO {

    @ApiModelProperty(value = "模板名称", required = true)
    @NotNull(message = "模板名称不能为空")
    private String templateName;

    @ApiModelProperty(value = "模板类型: 1)标准模板; 2)定制模板", required = true)
    @NotNull(message = "模板类型: 1)标准模板; 2)定制模板不能为空")
    private Integer templateType;

    @ApiModelProperty(value = "背景图片", required = true)
    @NotBlank(message = "背景图片不能为空")
    private String bgUrl;

    @ApiModelProperty(value = "背景图宽度", required = true)
    @NotNull(message = "背景图宽度不能为空")
    private BigDecimal bgWidth;

    @ApiModelProperty(value = "背景图高度", required = true)
    @NotNull(message = "背景图高度不能为空")
    private BigDecimal bgHeight;

    @ApiModelProperty(value = "字体颜色 标准模板时有效", required = true)
    @NotBlank(message = "字体颜色 标准模板时有效不能为空")
    private String fontColor;

    @ApiModelProperty(value = "是否为默认模板", required = true)
    @NotNull(message = "是否为默认模板不能为空")
    private Boolean defaultTemplate;

    @ApiModelProperty(value = "是否显示扫码弹窗", required = true)
    @NotNull(message = "是否显示扫码弹窗不能为空")
    private Boolean showPop;

    @ApiModelProperty(value = "是否显示扫码记录", required = true)
    @NotNull(message = "是否显示扫码记录不能为空")
    private Boolean showScanRecord;

    @ApiModelProperty(value = "扫码记录图标")
    @Length(max = 256)
    private String scanRecordIconUrl;

    @ApiModelProperty(value = "显示切换语言", required = true)
    @NotNull(message = "显示切换语言不能为空")
    private Boolean showChangeLanguage;

    @ApiModelProperty(value = "显示切换语言图标")
    @Length(max = 256)
    private String changeLanguageIconUrl;

}
