package com.cf.imes.module.report.controller.admin.template.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import java.util.Map;

/**
 * @author Gqr
 * @since 2024/7/19 9:22
 */
@Data
@Schema(description = "管理后台 - 报表模板通用预览请求参数 Request VO")
public class ReportTemplateCommonPreviewReqVO {
    @Schema(description = "页码",example = "1")
    @Min(value = 1, message = "页码最小值为 1")
    private int pageIndex;

    @Schema(description = "报表模板编号")
    @NotNull(message = "报表模板编号不能为空")
    private Long templateId;

    /**
     * 表单参数
     */
    @Schema(description = "表单参数")
    @Size(max = 30, message = "表单参数数量不能超过30个")
    private Map<String, Object> query;

    /**
     * 表单对应组件唯一标识
     */
    @Schema(description = "表单对应组件唯一标识")
    @Size(max = 30, message = "表单对应组件唯一标识数量不能超过30个")
    private Map<String, String> component;

    /**
     * 图表图片目前用于PDF导出
     */
    @Schema(description = "图表图片")
    @Size(max = 30, message = "图表图片数量不能超过30个")
    private Map<String, String> chartImages;

}