package com.ruoyi.common.core.domain.entity;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.ArrayList;
import java.util.List;

/**
 * 政策类别对象 policy_menu
 * 
 * @author boman
 * @date 2022-06-10
 */
public class PolicyMenu extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 类别ID */
    private Long menuId;

    /** 类别名称 */
    @Excel(name = "类别名称")
    private String menuName;

    /** 类别简介 */
    @Excel(name = "类别简介")
    private String menuIntroduce;

    /** 父类别ID */
    private Long parentId;

    /** 显示顺序 */
    @Excel(name = "显示顺序")
    private Integer orderNum;

    /** 类别状态（0显示 1隐藏） */
    @Excel(name = "类别状态", readConverterExp = "0=显示,1=隐藏")
    private String visible;

    /** 类别状态（0正常 1停用） */
    @Excel(name = "类别状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 缩略图 */
    @Excel(name = "缩略图")
    private String photo;
    /**
     * 祖级列表
     */
    private String ancestors;

    /** 子菜单 */
    private List<PolicyMenu> children = new ArrayList<PolicyMenu>();

    public String getAncestors() {
        return ancestors;
    }

    public void setAncestors(String ancestors) {
        this.ancestors = ancestors;
    }

    public List<PolicyMenu> getChildren() {
        return children;
    }

    public void setChildren(List<PolicyMenu> children) {
        this.children = children;
    }

    public void setMenuId(Long menuId)
    {
        this.menuId = menuId;
    }

    public Long getMenuId() 
    {
        return menuId;
    }
    public void setMenuName(String menuName) 
    {
        this.menuName = menuName;
    }

    public String getMenuName() 
    {
        return menuName;
    }
    public void setMenuIntroduce(String menuIntroduce) 
    {
        this.menuIntroduce = menuIntroduce;
    }

    public String getMenuIntroduce() 
    {
        return menuIntroduce;
    }
    public void setParentId(Long parentId) 
    {
        this.parentId = parentId;
    }

    public Long getParentId() 
    {
        return parentId;
    }
    public void setOrderNum(Integer orderNum) 
    {
        this.orderNum = orderNum;
    }

    public Integer getOrderNum() 
    {
        return orderNum;
    }
    public void setVisible(String visible) 
    {
        this.visible = visible;
    }

    public String getVisible() 
    {
        return visible;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setPhoto(String photo) 
    {
        this.photo = photo;
    }

    public String getPhoto() 
    {
        return photo;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("menuId", getMenuId())
            .append("menuName", getMenuName())
            .append("menuIntroduce", getMenuIntroduce())
            .append("parentId", getParentId())
            .append("orderNum", getOrderNum())
            .append("visible", getVisible())
            .append("status", getStatus())
            .append("photo", getPhoto())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
