jinlin
2024-07-26 bcd950216084a6208de0c636f9430e47601acc01
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/**
 * 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;
}