yangys
2025-08-17 624b380e00c623ba8069583930b2ebc7af6cb888
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
/**
 * BladeX Commercial License Agreement
 * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
 * <p>
 * Use of this software is governed by the Commercial License Agreement
 * obtained after purchasing a license from BladeX.
 * <p>
 * 1. This software is for development use only under a valid license
 * from BladeX.
 * <p>
 * 2. Redistribution of this software's source code to any third party
 * without a commercial license is strictly prohibited.
 * <p>
 * 3. Licensees may copyright their own code but cannot use segments
 * from this software for such purposes. Copyright of this software
 * remains with BladeX.
 * <p>
 * Using this software signifies agreement to this License, and the software
 * must not be used for illegal purposes.
 * <p>
 * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
 * not liable for any claims arising from secondary or illegal development.
 * <p>
 * Author: Chill Zhuang (bladejava@qq.com)
 */
package org.springblade.system.pojo.entity;
 
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springblade.core.tool.utils.Func;
 
import java.io.Serial;
import java.io.Serializable;
import java.util.Objects;
 
/**
 * 实体类
 *
 * @author Chill
 */
@Data
@TableName("blade_menu")
@Schema(description = "Menu对象")
public class Menu implements Serializable {
 
    @Serial
    private static final long serialVersionUID = 1L;
 
    /**
     * 主键
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @Schema(description = "主键")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;
 
    /**
     * 菜单父主键
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @Schema(description = "菜单父主键")
    private Long parentId;
 
    /**
     * 菜单编号
     */
    @Schema(description = "菜单编号")
    private String code;
 
    /**
     * 菜单名称
     */
    @Schema(description = "菜单名称")
    private String name;
 
    /**
     * 菜单别名
     */
    @Schema(description = "菜单别名")
    private String alias;
 
    /**
     * 请求地址
     */
    @Schema(description = "请求地址")
    private String path;
 
    /**
     * 菜单资源
     */
    @Schema(description = "菜单资源")
    private String source;
 
    /**
     * 组件资源
     */
    @Schema(description = "组件资源")
    private String component;
 
    /**
     * 排序
     */
    @Schema(description = "排序")
    private Integer sort;
 
    /**
     * 菜单类型
     */
    @Schema(description = "菜单类型")
    private Integer category;
 
    /**
     * 操作按钮类型
     */
    @Schema(description = "操作按钮类型")
    private Integer action;
 
    /**
     * 是否打开新页面
     */
    @Schema(description = "是否打开新页面")
    private Integer isOpen;
 
    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;
 
    /**
     * 是否已删除
     */
    @TableLogic
    @Schema(description = "是否已删除")
    private Integer isDeleted;
 
 
    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        Menu other = (Menu) obj;
        return Func.equals(this.getId(), other.getId());
    }
 
    @Override
    public int hashCode() {
        return Objects.hash(id, parentId, code);
    }
 
 
}