/** * Copyright © 2015-2020 JeePlus All rights reserved. */ package com.jeeplus.modules.sys.entity; import java.util.List; import javax.validation.constraints.NotNull; import org.hibernate.validator.constraints.Length; import com.fasterxml.jackson.annotation.JsonBackReference; import com.fasterxml.jackson.annotation.JsonIgnore; import com.jeeplus.common.persistence.DataEntity; import com.jeeplus.modules.sys.utils.UserUtils; /** * 菜单Entity * @author jeeplus * @version 2013-05-15 */ public class Menu extends DataEntity { private static final long serialVersionUID = 1L; private Menu parent; // 父级菜单 private String parentIds; // 所有父级编号 private List children; // 父级菜单 private String name; // 名称 private String href; // 链接 private String target; // 目标( mainFrame、_blank、_self、_parent、_top) private String icon; // 图标 private Integer sort; // 排序 private String isShow; // 是否在菜单中显示(1:显示;0:不显示) private String permission; // 权限标识 private String userId; public Menu(){ super(); this.sort = 30; this.isShow = "1"; } public Menu(String id){ super(id); } @JsonBackReference @NotNull public Menu getParent() { return parent; } public void setParent(Menu parent) { this.parent = parent; } @Length(min=1, max=2000) public String getParentIds() { return parentIds; } public void setParentIds(String parentIds) { this.parentIds = parentIds; } @Length(min=1, max=100) public String getName() { return name; } public void setName(String name) { this.name = name; } @Length(min=0, max=2000) public String getHref() { return href; } public void setHref(String href) { this.href = href; } @Length(min=0, max=20) public String getTarget() { return target; } public void setTarget(String target) { this.target = target; } @Length(min=0, max=100) public String getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; } @NotNull public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } @Length(min=1, max=1) public String getIsShow() { return isShow; } public void setIsShow(String isShow) { this.isShow = isShow; } @Length(min=0, max=200) public String getPermission() { return permission; } public void setPermission(String permission) { this.permission = permission; } public String getParentId() { return parent != null && parent.getId() != null ? parent.getId() : "0"; } @JsonIgnore public boolean hasChildren(){ if(children == null || children.size() == 0){ return false; } for(Menu child:children){ if(child.getIsShow().equals("1")){ return true; } } return false; } @JsonIgnore public boolean hasPermisson(){ List menuList = UserUtils.getMenuList(); for(Menu menu:menuList){ if(menu.getId().equals(this.getId())) return true; } return false; } @JsonIgnore public static void sortList(List list, List sourcelist, String parentId, boolean cascade){ for (int i=0; i children) { this.children = children; } public List getChildren() { return children; } }