Переглянути джерело

解决租户菜单管理无法进行菜单搜索问题

xuezizhuo 1 рік тому
батько
коміт
4c79d83c71

+ 1 - 1
zkqy-system/src/main/java/com/zkqy/system/mapper/SysMenuMapper.java

@@ -25,7 +25,7 @@ public interface SysMenuMapper {
      * @param tenantId
      * @return
      */
-    public List<SysMenu> selectTenantMenuList(Long tenantId);
+    public List<SysMenu> selectTenantMenuList(@Param("menu") SysMenu menu,@Param("tenantId") Long tenantId);
 
     /**
      * 根据用户所有权限

+ 1 - 1
zkqy-system/src/main/java/com/zkqy/system/service/impl/SysMenuServiceImpl.java

@@ -79,7 +79,7 @@ public class SysMenuServiceImpl implements ISysMenuService {
         if (SysUser.isAdmin(userId)) {
             menuList = menuMapper.selectMenuList(menu);
         } else if (user.isTenantAdmin()) {
-            menuList = menuMapper.selectTenantMenuList(user.getTenantId());
+            menuList = menuMapper.selectTenantMenuList(menu,user.getTenantId());
         } else {
             menu.getParams().put("userId", userId);
             menuList = menuMapper.selectMenuListByUserId(menu);

+ 7 - 1
zkqy-system/src/main/resources/mapper/system/SysMenuMapper.xml

@@ -72,13 +72,19 @@
 		order by parent_id, order_num
 	</select>
 
-	<select id="selectTenantMenuList" parameterType="Long" resultMap="SysMenuResult">
+	<select id="selectTenantMenuList" resultMap="SysMenuResult">
 		select m.menu_id, menu_name, parent_id, order_num, path, component, `query`, is_frame, is_cache, menu_type, visible, status, ifnull(perms,'') as perms, icon, create_time, tm.`tenant_id`
 		from sys_menu m
 		left join sys_tenant_menu tm on tm.menu_id = m.menu_id
 		where tm.tenant_id = #{tenantId}
 		and m.menu_name not in ('数据引擎','流程引擎','表单引擎')
 		and parent_id not in (select menu_id from  sys_menu where menu_name in ("数据引擎","流程引擎","表单引擎"))
+		<if test="menu.menuName != null and menu.menuName != ''">
+			AND m.menu_name like concat('%', #{menu.menuName}, '%')
+		</if>
+		<if test="menu.status != null and menu.status != ''">
+			AND m.status = #{menu.status}
+		</if>
 		order by parent_id, order_num
 	</select>