فهرست منبع

根据菜单查询按钮菜单权限获取

jichaobo 3 سال پیش
والد
کامیت
bd21d634a0

+ 10 - 8
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/system/SysMenuMapper.java

@@ -13,8 +13,7 @@ import java.util.List;
  * @author yq
  */
 @Repository
-public interface SysMenuMapper
-{
+public interface SysMenuMapper {
     /**
      * 查询系统菜单列表
      *
@@ -23,9 +22,9 @@ public interface SysMenuMapper
      */
     public List<SysMenu> selectMenuList(SysMenu menu);
 
-    public List<SysMenu> getMenuListOne(Long userId,String menuType);
+    public List<SysMenu> getMenuListOne(Long userId, String menuType);
 
-    public List<SysMenu> getMenuListTwo(Long userId,String menuType,Integer tenantId);
+    public List<SysMenu> getMenuListTwo(Long userId, String menuType, Integer tenantId);
 
     /**
      * 根据用户所有权限
@@ -74,8 +73,11 @@ public interface SysMenuMapper
      * @param userId
      * @return
      */
-    public List<SysMenu> getButtonlist(Long userId, String menuName,Long roleId);
-    public List<SysMenu> getButtonlistTwo(Long userId, String menuName,Long roleId);
+    public List<SysMenu> getButtonlist(Long userId, String menuName, Long roleId);
+
+    public List<SysMenu> getTenantButtonlist(Integer tenantId, String menuName);
+
+    public List<SysMenu> getButtonlistTwo(Long userId, String menuName, Long roleId);
 
     public List<SysMenu> getButtonlistOne(String menuName);
 
@@ -83,8 +85,8 @@ public interface SysMenuMapper
 
     /**
      * 根据角色ID查询菜单树信息
-     * 
-     * @param roleId 角色ID
+     *
+     * @param roleId            角色ID
      * @param menuCheckStrictly 菜单树选择项是否关联显示
      * @return 选中菜单列表
      */

+ 3 - 0
fiveep-persistence/src/main/resources/mapper/mysql/SysTenantMapper.xml

@@ -60,6 +60,7 @@
                 and a.tenant_term BETWEEN #{startTime} and #{endTime}
             </if>
         </where>
+        order by a.id desc
         <if test="current != null and size != null and size != 0">
             limit #{current},#{size}
         </if>
@@ -71,6 +72,7 @@
         FROM
         sys_tenant as a left join sys_platform as b on a.system_name=b.id
         <where>
+            a.status=0
             <if test="tenantName != null and tenantName != ''">
                 and a.tenant_name LIKE CONCAT(CONCAT('%', #{tenantName}), '%')
             </if>
@@ -78,6 +80,7 @@
                 and a.tenant_manager LIKE CONCAT(CONCAT('%', #{tenantManager}), '%')
             </if>
         </where>
+        order by a.id desc
         <if test="current != null and size != null and size != 0">
             limit #{current},#{size}
         </if>

+ 29 - 0
fiveep-persistence/src/main/resources/mapper/mysql/system/SysMenuMapper.xml

@@ -125,6 +125,35 @@
 		order by a.parent_id, a.order_num
 	</select>
 
+	<select id="getTenantButtonlist"  resultType="com.bizmatics.model.system.SysMenu" >
+		SELECT
+		a.*
+		FROM
+		sys_menu a
+		JOIN sys_tenant_menu b ON a.menu_id = b.menu_id
+		WHERE
+		a. STATUS = 0
+		<if test="tenantId != null and tenantId != 0">
+			AND b.tenant_id  = #{tenantId}
+		</if>
+		AND a.menu_type = 'F'
+		AND a.parent_id in (
+		SELECT
+		menu_id
+		FROM
+		sys_menu
+		WHERE
+		STATUS = 0
+		AND menu_type = 'C'
+		<if test="menuName != null and menuName != ''">
+			AND menu_name = #{menuName}
+		</if>
+		)
+		GROUP BY
+		a.menu_id
+		order by a.parent_id, a.order_num
+	</select>
+
 	<select id="getButtonlistTwo"  resultType="com.bizmatics.model.system.SysMenu" >
 		SELECT
 		a.*

+ 3 - 0
fiveep-service/src/main/java/com/bizmatics/service/impl/SysTenantServiceImpl.java

@@ -43,6 +43,9 @@ public class SysTenantServiceImpl extends AbstractCrudService<SysTenantMapper, S
      */
     @Override
     public CommonPage<SysTenantTwoVo> getTenantData(SysTenantOneVo sysTenantOneVo) {
+        if (sysTenantOneVo.getStatus()==null||sysTenantOneVo.getStatus().equals("")||sysTenantOneVo.getStatus().equals("null")){
+            sysTenantOneVo.setStatus("0");
+        }
         List<SysTenantTwoVo> list1 = baseMapper.getTenantData(sysTenantOneVo.getTenantName(),
                 sysTenantOneVo.getTenantManager(),
                 sysTenantOneVo.getTenantType(),

+ 12 - 5
fiveep-service/src/main/java/com/bizmatics/service/system/impl/SysMenuServiceImpl.java

@@ -492,11 +492,18 @@ public class SysMenuServiceImpl implements ISysMenuService {
     public List<SysMenu> getButtonlist(String menuName) {
         SysUser user = SecurityUtils.getLoginUser().getUser();
         List<SysMenu> sysMenuList = new ArrayList<>();
-        if (SecurityUtils.isAdmin(user.getUserId())) {
-            sysMenuList = menuMapper.getButtonlistOne(menuName);
-        } else {
-            sysMenuList = menuMapper.getButtonlist(user.getUserId(), menuName, 0L);
-        }
+//        if (SecurityUtils.isAdmin(user.getUserId())) {
+//            sysMenuList = menuMapper.getButtonlistOne(menuName);
+//        } else {
+            Long userId = SecurityUtils.getLoginUser().getUser().getUserId();
+            List<SysUser> tenantIdList = userMapper.getTenantId(userId);
+//            role.setTenantId(sysMenuList.get(0).getTenantId());
+            if (tenantIdList.get(0).getUserType().equals("00")){
+                sysMenuList = menuMapper.getButtonlist(user.getUserId(), menuName, 0L);
+            }else {
+                sysMenuList = menuMapper.getTenantButtonlist(tenantIdList.get(0).getTenantId(),menuName);
+            }
+//        }
         return sysMenuList;
     }