package com.ruoyi.project.business.domain.vo.train;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

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

/**
 * @author fangk
 * @date 2024/5/23
 * @desc FileDatabaseVo save、edit
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class FileDatabaseVo {

    /**
     * ID
     */
    private Long id;
    /**
     * 资料名
     */
    @Size(max = 100, message = "编码长度不能超过100")
    @Length(max = 100, message = "编码长度不能超过100")
    private String fileName;
    /**
     * 资料类型（关联字典）
     */
    @Size(max = 60, message = "编码长度不能超过60")
    @Length(max = 60, message = "编码长度不能超过60")
    private String fileType;
    /**
     * 目录ID
     */
    @NotNull(message = "[目录ID]不能为空")
    private Long directoryId;
    /**
     * 可见范围(角色) *可以复选、以[;]分隔
     */
    @Size(max = 500, message = "编码长度不能超过500")
    @Length(max = 500, message = "编码长度不能超过500")
    private String visibleRange1;
    /**
     * 可见范围(区域) *可以复选、以[;]分隔
     */
    @Size(max = 500, message = "编码长度不能超过500")
    @Length(max = 500, message = "编码长度不能超过500")
    private String visibleRange2;
    /**
     * 可见范围(代理商) *可以复选、以[;]分隔
     */
    @Size(max = 500, message = "编码长度不能超过500")
    @Length(max = 500, message = "编码长度不能超过500")
    private String visibleRange3;
    /**
     * 简介
     */
    @Size(max = 2000, message = "编码长度不能超过2000")
    @Length(max = 2000, message = "编码长度不能超过2,000")
    private String briefIntroduction;


    /**
     * 文件列表
     */
    @NotBlank(message = "文件列表不能为空")
    private String fileList;
}