diff --git a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/menu/Menu.java b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/menu/Menu.java
new file mode 100644
index 0000000..60b19f3
--- /dev/null
+++ b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/menu/Menu.java
@@ -0,0 +1,109 @@
+package cc.smtweb.system.bpm.web.sys.user.menu;
+
+import cc.smtweb.framework.core.annotation.SwTable;
+import cc.smtweb.framework.core.common.SwMap;
+import cc.smtweb.framework.core.db.impl.DefaultEntity;
+
+/**
+ * Created by 1 at 2022-08-03 08:53:34
+ * 实体【[菜单定义](SYS_MENU)】的Entity类
+ */
+@SwTable("SYS_MENU")
+public class Menu extends DefaultEntity {
+ public static final String ENTITY_NAME = "SYS_MENU";
+
+ public Menu() {
+ super(ENTITY_NAME);
+ }
+
+ /** 主键 */
+ public long getId() {
+ return getLong("sm_id");
+ }
+
+ /** 主键 */
+ public void setId(long sm_id) {
+ put("sm_id", sm_id);
+ }
+ /** 排序 */
+ public int getSeq() {
+ return getInt("sm_seq");
+ }
+
+ /** 排序 */
+ public void setSeq(int sm_seq) {
+ put("sm_seq", sm_seq);
+ }
+ /** 名称 */
+ public String getName() {
+ return getStr("sm_name");
+ }
+
+ /** 名称 */
+ public void setName(String sm_name) {
+ put("sm_name", sm_name);
+ }
+ /** 图标 */
+ public String getIcon() {
+ return getStr("sm_icon");
+ }
+
+ /** 图标 */
+ public void setIcon(String sm_icon) {
+ put("sm_icon", sm_icon);
+ }
+ /** 权限点 */
+ public String getRight() {
+ return getStr("sm_right");
+ }
+
+ /** 权限点 */
+ public void setRight(String sm_right) {
+ put("sm_right", sm_right);
+ }
+ /** 类型 */
+ public boolean isType() {
+ return getBool("sm_type");
+ }
+
+ /** 类型 */
+ public void set(boolean sm_type) {
+ setBool("sm_type", sm_type);
+ }
+ /** 请求内容 */
+ public String getContent() {
+ return getStr("sm_content");
+ }
+
+ /** 请求内容 */
+ public void setContent(String sm_content) {
+ put("sm_content", sm_content);
+ }
+ /** 所属项目 */
+ public long getPrjId() {
+ return getLong("sm_prj_id");
+ }
+
+ /** 所属项目 */
+ public void setPrjId(long sm_prj_id) {
+ put("sm_prj_id", sm_prj_id);
+ }
+ /** 所属目录 */
+ public long getMcId() {
+ return getLong("sm_mc_id");
+ }
+
+ /** 所属目录 */
+ public void setMcId(long sm_mc_id) {
+ put("sm_mc_id", sm_mc_id);
+ }
+ /** 备注 */
+ public String getRemark() {
+ return getStr("sm_remark");
+ }
+
+ /** 备注 */
+ public void setRemark(String sm_remark) {
+ put("sm_remark", sm_remark);
+ }
+}
diff --git a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/menu/MenuCache.java b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/menu/MenuCache.java
new file mode 100644
index 0000000..aaa9c7b
--- /dev/null
+++ b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/menu/MenuCache.java
@@ -0,0 +1,34 @@
+package cc.smtweb.system.bpm.web.sys.user.menu;
+
+import cc.smtweb.framework.core.annotation.SwCache;
+import cc.smtweb.framework.core.cache.AbstractEntityCache;
+import cc.smtweb.framework.core.cache.CacheManager;
+
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * Created by 1 at 2022-08-03 08:53:34
+ * 实体【[菜单定义](SYS_MENU)】的缓存类
+ */
+@SwCache(ident = "SYS_MENU", title = "菜单定义")
+public class MenuCache extends AbstractEntityCache