From bc44ef3c55007439a01bcbbdd3239f3e9cccb550 Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期三, 19 七月 2023 18:13:02 +0800
Subject: [PATCH] 1、完成返回前端增加keepAlive字段用来标识页面是否缓存

---
 Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/vo/MenuVO.java            |    6 ++++++
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java         |    8 ++++++++
 Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/Menu.java          |    6 ++++++
 Source/UBCS-WEB/src/views/system/menu.vue                                                                |    1 +
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/MenuController.java    |    5 +++--
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java |   16 ++++++++++++++++
 6 files changed, 40 insertions(+), 2 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/system/menu.vue b/Source/UBCS-WEB/src/views/system/menu.vue
index 30e004c..9a292ec 100644
--- a/Source/UBCS-WEB/src/views/system/menu.vue
+++ b/Source/UBCS-WEB/src/views/system/menu.vue
@@ -316,6 +316,7 @@
         });
       },
       rowUpdate(row, index, done, loading) {
+        debugger;
         update(row).then(() => {
           this.$message({
             type: "success",
diff --git a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/Menu.java b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/Menu.java
index 790f531..a171e37 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/Menu.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/Menu.java
@@ -118,6 +118,12 @@
 	private String remark;
 
 	/**
+	 * 鏄惁缂撳瓨
+	 */
+	@ApiModelProperty(value = "鏄惁缂撳瓨")
+	private String keepAlive;
+
+	/**
 	 * 鏄惁宸插垹闄�
 	 */
 	@TableLogic
diff --git a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/vo/MenuVO.java b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/vo/MenuVO.java
index 94e7ec2..e62ba6c 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/vo/MenuVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/vo/MenuVO.java
@@ -21,11 +21,13 @@
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.vci.ubcs.system.entity.Menu;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.springblade.core.tool.node.INode;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -90,4 +92,8 @@
 	 * 鏄惁鏂扮獥鍙f墦寮�
 	 */
 	private String isOpenName;
+	/**
+	 * 鍓嶇鏄惁闅愯棌
+	 */
+	private HashMap<String,Boolean> meta = new HashMap<>();
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/MenuController.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/MenuController.java
index 039a4b3..6204bfc 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/MenuController.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/MenuController.java
@@ -180,8 +180,9 @@
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "鍓嶇鑿滃崟鏁版嵁", notes = "鍓嶇鑿滃崟鏁版嵁")
 	public R<List<MenuVO>> routes(BladeUser user, Long topMenuId) {
-		List<MenuVO> list = menuService.routes((user == null) ? null : user.getRoleId(), topMenuId);
-		return R.data(list);
+		List<MenuVO> lists = menuService.routes((user == null) ? null : user.getRoleId(), topMenuId);
+		menuService.handleKeepAlive(lists);
+		return R.data(lists);
 	}
 
 	/**
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java
index 1a6e9e3..48cc81b 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java
@@ -174,4 +174,12 @@
 	 */
 	List<Menu> getMenuButtonByType(String btmType);
 
+	/**
+	 * 瀵筀eepAlive鍊艰浆鎹㈡垚甯冨皵绫诲瀷杩涜灏佽
+	 *
+	 * @param childMenu
+	 * @return
+	 */
+	void handleKeepAlive(List<MenuVO> childMenu);
+
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
index 7905b2c..dac120f 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
@@ -303,4 +303,20 @@
 		return baseMapper.selectMenuChildByBtnType(btmType);
     }
 
+	/**
+	 * 瀵筀eepAlive鍊艰浆鎹㈡垚甯冨皵绫诲瀷杩涜灏佽
+	 *
+	 * @param childMenu
+	 * @return
+	 */
+	@Override
+	public void handleKeepAlive(List<MenuVO> childMenu) {
+		childMenu.forEach(list->{
+			list.getMeta().put("keepAlive","true".equals(list.getKeepAlive()));
+			if(list.getChildren().size()>0){
+				handleKeepAlive(list.getChildren());
+			}
+		});
+	}
+
 }

--
Gitblit v1.9.3