/**
|
* Copyright (c) 2018 人人开源 All rights reserved.
|
*
|
* https://www.renren.io
|
*
|
* 版权所有,侵权必究!
|
*/
|
|
package com.zt.modules.sys.model;
|
|
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.zt.common.entity.PlatformEntity;
|
import com.zt.common.entity.TreeNode;
|
import com.zt.common.validator.group.DefaultGroup;
|
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Data;
|
import lombok.EqualsAndHashCode;
|
import org.hibernate.validator.constraints.Range;
|
|
import javax.validation.constraints.Min;
|
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotNull;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* 菜单
|
*
|
* @author hehz
|
*/
|
@Data
|
@ApiModel(value = "菜单")
|
@EqualsAndHashCode(callSuper=false)
|
@TableName("SYS_MENU")
|
public class SysMenu extends PlatformEntity implements TreeNode<SysMenu> {
|
private static final long serialVersionUID = 1L;
|
|
@ApiModelProperty(value = "上级ID")
|
@NotNull(message="上级ID,不能为空", groups = DefaultGroup.class)
|
private Long pid;
|
|
|
@ApiModelProperty(value = "菜单名称")
|
@NotBlank(message="菜单名称不能为空", groups = DefaultGroup.class)
|
private String name;
|
|
@ApiModelProperty(value = "菜单URL")
|
private String url;
|
|
@ApiModelProperty(value = "类型 0:菜单 1:按钮 2 系统 3 平台")
|
@Range(min=0, max=3, message = "菜单类型取值范围0~3", groups = DefaultGroup.class)
|
private Integer type;
|
|
@ApiModelProperty(value = "是否显示菜单")
|
private Integer showMenu;
|
|
@ApiModelProperty(value = "是否刷新页面")
|
private Integer isRefresh;
|
|
@ApiModelProperty(value = "菜单参数")
|
private String params;
|
|
@ApiModelProperty(value = "菜单图标")
|
private String icon;
|
|
@ApiModelProperty(value = "授权(多个用逗号分隔,如:sys:user:list,sys:user)")
|
private String permissions;
|
|
@ApiModelProperty(value = "排序")
|
@Min(value = 0, message = "排序值不能小于0", groups = DefaultGroup.class)
|
private Integer sort;
|
|
@ApiModelProperty(value = "上级菜单名称")
|
@TableField(exist = false)
|
private String parentName;
|
|
@ApiModelProperty(value = "子菜单")
|
@TableField(exist = false)
|
private List<SysMenu> children = new ArrayList<>();
|
|
@ApiModelProperty(value = "备注")
|
private String remark;
|
|
@ApiModelProperty(value = "菜单图标")
|
@TableField(exist = false)
|
private Integer iconNo;
|
}
|