package com.cf.imes.module.system.controller.admin.systemconfig.vo;

import com.cf.imes.framework.common.pojo.PageParam;
import com.cf.imes.module.system.validation.common.CommonStatus;
import com.cf.imes.module.system.validation.config.SystemConfigTypeEnumValid;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;

import jakarta.validation.constraints.Size;

/**
 * 系统配置分页查询VO
 *
 * @author Gqr
 * @since 2024/11/7 16:29
 */
@Schema(description = "管理后台 - 系统配置分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@Builder
public class ConfigPageReqVO extends PageParam {

    @Schema(description = "配置项名称", example = "晨丰")
    @Size(max = 64, message = "配置项名称长度不能超过64个字符")
    private String name;

    @Schema(description = "展示状态，参见 CommonStatusEnum 枚举类", example = "1")
    @CommonStatus
    private Integer status;

    @Schema(description = "配置类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @SystemConfigTypeEnumValid
    private Integer type;
}
