package com.sy.coinage.sys.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.sy.coinage.core.util.TreeUtil.TreeNode;
import java.io.Serializable;
import java.util.Date;
import java.util.List;


import com.alibaba.fastjson2.annotation.JSONField;

import lombok.Data;

/**
 * 列表响应bean
 */
@Data
public class MenuListVO extends TreeNode<Integer> implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Integer id;
    /**
     * 状态 1可用 2禁用
     */
    private Integer status;
    /**
     * 排序
     */
    private Integer sorted;
    /**
     * 父id
     */
    private Integer pid;
    /**
     * 菜单名称
     */
    private String name;
    /**
     * 图标
     */
    private String icon;
    /**
     * 路由
     */
    private String component;
    /**
     * 跳转
     */
    private String redirect;
    /**
     * -菜单树隐藏标记 1是 0否
     */
    @TableField(value = "hide_menu")
    private Boolean hideMenu;

    /**
     * 标题
     */
    private String title;
    /**
     * 路径
     */
    private String path;

    @JSONField(serialize = false)
    private String permission;

    /**
     * 子菜单
     */
    private List<MenuPermissionVO> permissionList;

    @Override
    public Integer getNodeId() {
        return id;
    }

    @Override
    public Integer getNodeParentId() {
        return pid;
    }

    @Override
    public CharSequence getNodeName() {
        return name;
    }

}
