/** * 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 { 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 children = new ArrayList<>(); @ApiModelProperty(value = "备注") private String remark; @ApiModelProperty(value = "菜单图标") @TableField(exist = false) private Integer iconNo; }