jiaosong
2023-08-14 3eca8e4741b06c6049fedccd5c0dea4e01b7aa5c
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
package doumeemes.dao.system.model;
 
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import doumeemes.core.constants.OperaType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
 
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
 
/**
 * 系统菜单
 * @author Eva.Caesar Liu
 * @date 2022/04/18 18:12
 */
@Data
@ApiModel("系统菜单")
public class SystemMenu implements Serializable {
 
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键", example = "1")
    @NotNull(message = "主键不能为空", groups = {OperaType.Update.class, OperaType.UpdateStatus.class})
    private Integer id;
 
    @ApiModelProperty(value = "上一级菜单", example = "1")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer parentId;
 
    @ApiModelProperty(value = "菜单名称")
    @NotBlank(message = "菜单名称不能为空", groups = {OperaType.Create.class, OperaType.Update.class})
    private String name;
 
    @ApiModelProperty(value = "菜单访问路径")
    private String path;
 
    @ApiModelProperty(value = "备注")
    private String remark;
 
    @ApiModelProperty(value = "图标")
    private String icon;
 
    @ApiModelProperty(value = "是否禁用")
    @NotNull(message = "是否禁用不能为空", groups = OperaType.UpdateStatus.class)
    private Boolean disabled;
 
    @ApiModelProperty(value = "排序", example = "1")
    private Integer sort;
 
    @ApiModelProperty(value = "是否为固定菜单", hidden = true)
    private Boolean fixed;
 
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
 
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
 
    @ApiModelProperty(value = "创建者ID", example = "1", hidden = true)
    private Integer createUser;
 
    @ApiModelProperty(value = "更新者ID", example = "1", hidden = true)
    private Integer updateUser;
 
    @ApiModelProperty(value = "是否已删除", hidden = true)
    private Boolean deleted;
 
    @ApiModelProperty(value = "所属模块编码(关联system_dict_data表)", example = "1")
    private Integer moduleId;
 
    @ApiModelProperty(value = "类型 0平台 1企业PC端 2企业手机端", example = "1")
    private Integer type;
 
    @ApiModelProperty(value = "文件访问前缀")
    @TableField(exist = false)
    private String resourcePath;
}