package org.xyzh.common.dto.sys;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.xyzh.common.dto.BaseDTO;

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

/**
 * @description    系统视图DTO
 * @filename    TbSysViewDTO.java
 * @author    yslg
 * @copyright yslg
 * @since 2025-11-04
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "系统视图DTO")
public class TbSysViewDTO extends BaseDTO {

    @Schema(description = "视图ID")
    private String viewId;

    @Schema(description = "视图名称")
    private String name;

    @Schema(description = "父视图ID")
    private String parentId;

    @Schema(description = "URL")
    private String url;

    @Schema(description = "组件")
    private String component;

    @Schema(description = "图标")
    private String icon;

    @Schema(description = "类型：0=目录 1=菜单页面 2=按钮")
    private Integer type;

    @Schema(description = "页面类型：route=路由页面 iframe=嵌入页面")
    private String viewType;

    @Schema(description = "iframe URL（仅当viewType=iframe时有效）")
    private String iframeUrl;

    @Schema(description = "所属服务：platform=平台应用 bidding=招标应用 workcase=客服应用")
    private String service;

    @Schema(description = "布局")
    private String layout;

    @Schema(description = "排序")
    private Integer orderNum;
    
    @Schema(description = "描述")
    private String description;
}