From 9d6a37830e0c795c0458c646c5c782b8d63478b8 Mon Sep 17 00:00:00 2001
From: liaoxuwei <5789413@qq.com>
Date: Tue, 2 Aug 2022 14:19:59 +0800
Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E7=94=A8=E6=88=B7=E8=8F=9C?=
 =?UTF-8?q?=E5=8D=95=E9=BB=98=E8=AE=A4=E6=B7=BB=E5=8A=A0=E4=B8=80=E7=BA=A7?=
 =?UTF-8?q?=E8=8F=9C=E5=8D=95bug=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../menu/service/impl/MenuServiceImpl.java     | 18 +++---------------
 .../resources/sqlmap/module/menu/menuExt.xml   | 16 ++++++++++------
 2 files changed, 13 insertions(+), 21 deletions(-)

diff --git a/portal-manager/src/main/java/com/mortals/xhx/module/menu/service/impl/MenuServiceImpl.java b/portal-manager/src/main/java/com/mortals/xhx/module/menu/service/impl/MenuServiceImpl.java
index eda7cb19..89c6dbb5 100644
--- a/portal-manager/src/main/java/com/mortals/xhx/module/menu/service/impl/MenuServiceImpl.java
+++ b/portal-manager/src/main/java/com/mortals/xhx/module/menu/service/impl/MenuServiceImpl.java
@@ -127,21 +127,9 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity
     public List<MenuEntity> findTreeMenuByUser(IUser user) throws AppException {
         if (!user.isAdmin()) {
             List<MenuEntity> menuList = dao.selectMenuTreeByUserId(user.getId());
-            if(CollectionUtils.isNotEmpty(menuList)) {
-                //杞崲涓烘爲缁撴瀯
-                List<MenuEntity> menuTreeList = getChildPerms(menuList, -1);
-                return menuTreeList;
-            }else {
-                MenuQuery query = new MenuQuery();
-                query.setStatus(YesNo.YES.getValue());
-                query.setParentId(-1l);
-                List<OrderCol> orderColList = new ArrayList<OrderCol>();
-                orderColList.add(new OrderCol("parentId"));
-                orderColList.add(new OrderCol("orderId"));
-                query.setOrderColList(orderColList);
-                List<MenuEntity> menuEntityList = this.find(query);
-                return menuEntityList;
-            }
+            //杞崲涓烘爲缁撴瀯
+            List<MenuEntity> menuTreeList = getChildPerms(menuList, -1);
+            return menuTreeList;
         } else {
             return findAllEnable();
         }
diff --git a/portal-manager/src/main/resources/sqlmap/module/menu/menuExt.xml b/portal-manager/src/main/resources/sqlmap/module/menu/menuExt.xml
index 8ef5570b..dac85f8b 100644
--- a/portal-manager/src/main/resources/sqlmap/module/menu/menuExt.xml
+++ b/portal-manager/src/main/resources/sqlmap/module/menu/menuExt.xml
@@ -15,12 +15,16 @@
 
 	<select id="selectMenuTreeByUserId" parameterType="paramDto" resultMap="MenuEntity-Map">
 		select  <include refid="_columns"/>
-		from mortals_xhx_menu a
-		left join mortals_xhx_role_auth rm on a.id = rm.menuId
-		left join mortals_xhx_role_user ur on rm.roleId = ur.roleId
-		left join mortals_xhx_role ro on ur.roleId = ro.id
-		left join mortals_xhx_user u on ur.userId = u.id
-		where u.id = #{condition.userId} and a.menuType in ('0','1','2') and a.status = 1
+		FROM (
+		SELECT m.*
+			from mortals_xhx_menu m
+				left join mortals_xhx_role_auth rm on m.id = rm.menuId
+				left join mortals_xhx_role_user ur on rm.roleId = ur.roleId
+				left join mortals_xhx_role ro on ur.roleId = ro.id
+			where ur.userId = #{condition.userId} and m.menuType in ('0','1','2') and m.status = 1
+			UNION
+			SELECT * from mortals_xhx_menu where parentId =-1
+		) a
 		order by a.parentId, a.orderId
 	</select>
 
-- 
2.24.3