/** 
 | 
 * 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; 
 | 
} 
 |