/*
* Copyright (c) 京北方信息技术股份有限公司 Corporation 2022 . All rights reserved.
*
*/
package net.northking.cctp.saas.dto.menu;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;

/**
* Restful接口--资源详情--数据传输对象：租户菜单配置
*
* createdate:  2022-03-09 14:55:21  <br>
* @author:  maven-cctp-plugin  <br>
* @since:  1.0 <br>
*/
@JsonSerialize
@ApiModel(description = "租户菜单配置")
public class SaasTenantMenuDetailDto implements Serializable
{
    /**
     * 主键<br>
     */
    @ApiModelProperty("主键")
    @Size(max = 32, message="主键-id: 数据长度不能 > 32" )
    private String id;
    /**
     * 租户id<br>
     */
    @ApiModelProperty("租户id")
    @Size(max = 32, message="租户id-tenantId: 数据长度不能 > 32" )
    private String tenantId;
    /**
     * 软件id<br>
     */
    @ApiModelProperty("软件id")
    @Size(max = 32, message="软件id-softwareId: 数据长度不能 > 32" )
    private String softwareId;
    /**
     * 功能id<br>
     */
    @ApiModelProperty("功能id")
    @Size(max = 10, message="功能id-funcId: 数据长度不能 > 10" )
    private String funcId;
    /**
     * 功能名称<br>
     */
    @ApiModelProperty("功能名称")
    @Size(max = 128, message="功能名称-funcName: 数据长度不能 > 128" )
    private String funcName;
    /**
     * 原来功能名称<br>
     */
    @ApiModelProperty("原来功能名称")
    @Size(max = 128, message="原来功能名称: 数据长度不能 > 128" )
    private String originFuncName;
    /**
     * 父节点<br>
     */
    @ApiModelProperty("父节点")
    @Size(max = 32, message="父节点-parentId: 数据长度不能 > 32" )
    private String parentId;
    /**
     * 顺序号<br>
     */
    @ApiModelProperty("顺序号")
    private Integer idx;
    /**
     * 层级<br>
     */
    @ApiModelProperty("层级")
    private Integer levelNo;
    /**
     * 是否叶子<br>
     */
    @ApiModelProperty("是否叶子")
    private Boolean leaf;

    @ApiModelProperty("下级节点")
    private List<SaasTenantMenuDetailDto> children;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getSoftwareId() {
        return softwareId;
    }

    public void setSoftwareId(String softwareId) {
        this.softwareId = softwareId;
    }

    public String getFuncId() {
        return funcId;
    }

    public void setFuncId(String funcId) {
        this.funcId = funcId;
    }

    public String getFuncName() {
        return funcName;
    }

    public void setFuncName(String funcName) {
        this.funcName = funcName;
    }

    public String getOriginFuncName() {
        return originFuncName;
    }

    public void setOriginFuncName(String originFuncName) {
        this.originFuncName = originFuncName;
    }

    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId;
    }

    public Integer getIdx() {
        return idx;
    }

    public void setIdx(Integer idx) {
        this.idx = idx;
    }

    public Integer getLevelNo() {
        return levelNo;
    }

    public void setLevelNo(Integer levelNo) {
        this.levelNo = levelNo;
    }

    public Boolean getLeaf() {
        return leaf;
    }

    public void setLeaf(Boolean leaf) {
        this.leaf = leaf;
    }

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

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

    @Override
    public String toString() {
        return "SaasTenantMenuDetailDto{" +
                "id='" + id + '\'' +
                ", tenantId='" + tenantId + '\'' +
                ", softwareId='" + softwareId + '\'' +
                ", funcId='" + funcId + '\'' +
                ", funcName='" + funcName + '\'' +
                ", originFuncName='" + originFuncName + '\'' +
                ", parentId='" + parentId + '\'' +
                ", idx=" + idx +
                ", levelNo=" + levelNo +
                ", leaf=" + leaf +
                ", children=" + children +
                '}';
    }
}