package com.zy.asrs.wms.system.entity;
|
|
import com.baomidou.mybatisplus.annotation.*;
|
import com.zy.asrs.framework.common.Cools;
|
import com.zy.asrs.framework.common.SpringUtils;
|
import com.zy.asrs.wms.system.service.HostService;
|
import com.zy.asrs.wms.system.service.UserService;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Data;
|
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.security.core.GrantedAuthority;
|
|
import java.io.Serializable;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.List;
|
|
@Data
|
@TableName("sys_menu")
|
public class Menu implements Serializable, GrantedAuthority {
|
|
private static final long serialVersionUID = 1L;
|
|
public static final int TYPE_MENU = 0; // 菜单类型
|
public static final int TYPE_BTN = 1; // 按钮类型
|
|
/**
|
* ID
|
*/
|
@ApiModelProperty(value= "ID")
|
@TableId(value = "id", type = IdType.AUTO)
|
private Long id;
|
|
/**
|
* 名称
|
*/
|
@ApiModelProperty(value= "名称")
|
private String name;
|
|
/**
|
* 上级菜单
|
*/
|
@ApiModelProperty(value= "上级菜单")
|
private Long parentId;
|
|
/**
|
* 上级菜单名
|
*/
|
@ApiModelProperty(value= "上级菜单名")
|
private String parentName;
|
|
/**
|
* 关联路径
|
*/
|
@ApiModelProperty(value= "关联路径")
|
private String path;
|
|
/**
|
* 关联路径名
|
*/
|
@ApiModelProperty(value= "关联路径名")
|
private String pathName;
|
|
/**
|
* 路由地址
|
*/
|
@ApiModelProperty(value= "路由地址")
|
private String route;
|
|
/**
|
* 页面组件
|
*/
|
@ApiModelProperty(value= "页面组件")
|
private String component;
|
|
/**
|
* 简述
|
*/
|
@ApiModelProperty(value= "简述")
|
private String brief;
|
|
/**
|
* 标识
|
*/
|
@ApiModelProperty(value= "标识")
|
private String code;
|
|
/**
|
* 类型 0: 菜单 1: 按钮
|
*/
|
@ApiModelProperty(value= "类型 0: 菜单 1: 按钮 ")
|
private Integer type;
|
|
/**
|
* 权限标识
|
*/
|
@ApiModelProperty(value= "权限标识")
|
private String authority;
|
|
/**
|
* 菜单图标
|
*/
|
@ApiModelProperty(value= "菜单图标")
|
private String icon;
|
|
/**
|
* 排序
|
*/
|
@ApiModelProperty(value= "排序")
|
private Integer sort;
|
|
/**
|
* 元信息
|
*/
|
@ApiModelProperty(value= "元信息")
|
private String meta;
|
|
/**
|
* 所属机构
|
*/
|
@ApiModelProperty(value= "所属机构")
|
private Long hostId;
|
|
/**
|
* 状态 1: 正常 0: 禁用
|
*/
|
@ApiModelProperty(value= "状态 1: 正常 0: 禁用 ")
|
private Integer status;
|
|
/**
|
* 是否删除 1: 是 0: 否
|
*/
|
@ApiModelProperty(value= "是否删除 1: 是 0: 否 ")
|
@TableLogic
|
private Integer deleted;
|
|
/**
|
* 添加时间
|
*/
|
@ApiModelProperty(value= "添加时间")
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
private Date createTime;
|
|
/**
|
* 添加人员
|
*/
|
@ApiModelProperty(value= "添加人员")
|
private Long createBy;
|
|
/**
|
* 修改时间
|
*/
|
@ApiModelProperty(value= "修改时间")
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
private Date updateTime;
|
|
/**
|
* 修改人员
|
*/
|
@ApiModelProperty(value= "修改人员")
|
private Long updateBy;
|
|
/**
|
* 备注
|
*/
|
@ApiModelProperty(value= "备注")
|
private String memo;
|
|
/**
|
* 国际化ID
|
*/
|
@ApiModelProperty(value= "国际化ID")
|
private String languageId;
|
|
@TableField(exist = false)
|
private List<Menu> children;
|
|
public Menu() {}
|
|
public Menu(String name, Long parentId, String parentName, String path, String pathName, String route, String component, String brief, String code, Integer type, String authority, String icon, Integer sort, String meta, Long hostId, Integer status, Integer deleted, Date createTime, Long createBy, Date updateTime, Long updateBy, String memo) {
|
this.name = name;
|
this.parentId = parentId;
|
this.parentName = parentName;
|
this.path = path;
|
this.pathName = pathName;
|
this.route = route;
|
this.component = component;
|
this.brief = brief;
|
this.code = code;
|
this.type = type;
|
this.authority = authority;
|
this.icon = icon;
|
this.sort = sort;
|
this.meta = meta;
|
this.hostId = hostId;
|
this.status = status;
|
this.deleted = deleted;
|
this.createTime = createTime;
|
this.createBy = createBy;
|
this.updateTime = updateTime;
|
this.updateBy = updateBy;
|
this.memo = memo;
|
}
|
|
// Menu menu = new Menu(
|
// null, // 名称[非空]
|
// null, // 上级菜单
|
// null, // 上级菜单名
|
// null, // 关联路径
|
// null, // 关联路径名
|
// null, // 路由地址
|
// null, // 简述
|
// null, // 标识
|
// null, // 类型
|
// null, // 权限标识
|
// null, // 菜单图标
|
// null, // 排序
|
// null, // 元信息
|
// null, // 所属机构
|
// null, // 状态
|
// null, // 是否删除
|
// null, // 添加时间
|
// null, // 添加人员
|
// null, // 修改时间
|
// null, // 修改人员
|
// null // 备注
|
// );
|
|
public String getType$(){
|
if (null == this.type){ return null; }
|
switch (this.type){
|
case 0:
|
return "菜单";
|
case 1:
|
return "按钮";
|
default:
|
return String.valueOf(this.type);
|
}
|
}
|
|
public String getHostId$(){
|
HostService service = SpringUtils.getBean(HostService.class);
|
Host host = service.getById(this.hostId);
|
if (!Cools.isEmpty(host)){
|
return String.valueOf(host.getId());
|
}
|
return null;
|
}
|
|
public String getStatus$(){
|
if (null == this.status){ return null; }
|
switch (this.status){
|
case 1:
|
return "正常";
|
case 0:
|
return "禁用";
|
default:
|
return String.valueOf(this.status);
|
}
|
}
|
|
public String getDeleted$(){
|
if (null == this.deleted){ return null; }
|
switch (this.deleted){
|
case 1:
|
return "是";
|
case 0:
|
return "否";
|
default:
|
return String.valueOf(this.deleted);
|
}
|
}
|
|
public String getCreateTime$(){
|
if (Cools.isEmpty(this.createTime)){
|
return "";
|
}
|
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
|
}
|
|
public String getCreateBy$(){
|
UserService service = SpringUtils.getBean(UserService.class);
|
User user = service.getById(this.createBy);
|
if (!Cools.isEmpty(user)){
|
return String.valueOf(user.getNickname());
|
}
|
return null;
|
}
|
|
public String getUpdateTime$(){
|
if (Cools.isEmpty(this.updateTime)){
|
return "";
|
}
|
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
|
}
|
|
public String getUpdateBy$(){
|
UserService service = SpringUtils.getBean(UserService.class);
|
User user = service.getById(this.updateBy);
|
if (!Cools.isEmpty(user)){
|
return String.valueOf(user.getNickname());
|
}
|
return null;
|
}
|
|
|
}
|