Ver Fonte

!21 优化菜单列表数据获取
Merge pull request !21 from 热你温/master

独孤求胜 há 3 anos atrás
pai
commit
533869fe77

+ 12 - 4
src/main/java/io/renren/modules/sys/controller/SysMenuController.java

@@ -20,7 +20,9 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Objects;
 import java.util.Set;
 
 /**
@@ -53,13 +55,19 @@ public class SysMenuController extends AbstractController {
 	@RequiresPermissions("sys:menu:list")
 	public List<SysMenuEntity> list(){
 		List<SysMenuEntity> menuList = sysMenuService.list();
-		for(SysMenuEntity sysMenuEntity : menuList){
-			SysMenuEntity parentMenuEntity = sysMenuService.getById(sysMenuEntity.getParentId());
-			if(parentMenuEntity != null){
-				sysMenuEntity.setParentName(parentMenuEntity.getName());
+		HashMap<Long, SysMenuEntity> menuMap = new HashMap<>(12);
+		for (SysMenuEntity s : menuList) {
+			menuMap.put(s.getMenuId(), s);
+		}
+		for (SysMenuEntity s : menuList) {
+			SysMenuEntity parent = menuMap.get(s.getParentId());
+			if (Objects.nonNull(parent)) {
+				s.setParentName(parent.getName());
 			}
+
 		}
 
+
 		return menuList;
 	}