package com.cpop.system.business.bo;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.experimental.Accessors;


/**
 * @author DB
 * @version 1.0.0
 * @since 2023-12-01 17:04
 */
@Data
@Accessors(chain = true)
@Schema(description = "字典数据参数")
public class DictDataBo {

    /**
     * id
     */
    @Schema(description = "id")
    private String id;

    /**
     * 排序
     */
    @NotNull(message = "排序不能为空")
    @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer dictSort;

    /**
     * 字典标签
     */
    @NotBlank(message = "字典标签不能为空")
    @Schema(description = "字典标签", requiredMode = Schema.RequiredMode.REQUIRED)
    private String dictLabel;

    /**
     * 字典键值
     */
    @NotBlank(message = "字典键值不能为空")
    @Schema(description = "字典键值", requiredMode = Schema.RequiredMode.REQUIRED)
    private String dictValue;

    /**
     * 字典类型
     */
    @NotBlank(message = "字典类型不能为空")
    @Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED)
    private String dictType;

    /**
     * 样式属性（其他样式扩展）
     */
    @Schema(description = "样式属性（其他样式扩展）")
    private String cssClass;

    /**
     * 表格回显样式
     */
    @Schema(description = "表格回显样式")
    private String listClass;

    /**
     * 是否默认（1是 0否）
     */
    @Schema(description = "是否默认（1是 0否）")
    private Boolean isDefault;

    /**
     * 状态（1正常 0停用）
     */
    @NotNull(message = "状态不能为空")
    @Schema(description = "状态（1正常 0停用）", requiredMode = Schema.RequiredMode.REQUIRED)
    private Boolean status;

    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;
}
