package com.zy.asrs.wcs.sys.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.zy.asrs.framework.common.Cools; import com.zy.asrs.framework.common.SpringUtils; import com.zy.asrs.wcs.sys.service.HostService; import com.zy.asrs.wcs.sys.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 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: 否 ") 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; @TableField(exist = false) private List children; public Menu() {} public Menu(String name,Long parentId,String parentName,String path,String pathName,String route,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.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.getId()); } 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.getId()); } return null; } }