fix: 分切业务修改

This commit is contained in:
2024-03-04 18:08:34 +08:00
parent 2586cb6405
commit 317f6a848f
16 changed files with 162 additions and 23 deletions

View File

@@ -6,6 +6,7 @@ import org.nl.common.domain.vo.MenuVo;
import org.nl.system.service.menu.dao.SysMenu;
import org.nl.system.service.menu.dto.MenuDto;
import org.nl.system.service.menu.dto.MenuQuery;
import org.springframework.http.ResponseEntity;
import java.util.List;
import java.util.Map;
@@ -166,4 +167,5 @@ public interface ISysMenuService extends IService<SysMenu> {
*/
List<Map> getMenusByRole(String roleId, String systemType, String category);
Map<String, Object> queryAuthority(Map<String, String> param);
}

View File

@@ -1,5 +1,7 @@
package org.nl.system.service.menu.dao.mapper;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
@@ -60,4 +62,6 @@ public interface SysMenuMapper extends BaseMapper<SysMenu> {
List<Map> getMenusByRole(@Param("systemType") String systemType, @Param("category") String category);
String findAllChild(String pid);
JSONArray queryPdaAuthority(String accountId, String component, String pid);
}

View File

@@ -91,4 +91,40 @@
(select @p := #{pid}) t2) t3
where childId != '0'
</select>
<select id="queryPdaAuthority" resultType="com.alibaba.fastjson.JSONObject">
SELECT
max( sys_user.user_id )as accountId,
max( sys_user.username ) as username,
max( sys_roles_menus.menu_id ) as menu_id,
max( sys_menu.component ) as component,
max( sys_menu.path ) as path,
max( sys_menu.`name` ) as name
FROM
sys_user AS sys_user
LEFT JOIN sys_users_roles AS sys_users_roles ON sys_users_roles.user_id = sys_user.user_id
LEFT JOIN sys_role AS sys_role ON sys_role.role_id = sys_users_roles.role_id
LEFT JOIN sys_roles_menus AS sys_roles_menus ON sys_roles_menus.role_id = sys_role.role_id
LEFT JOIN sys_menu AS sys_menu ON sys_menu.menu_id = sys_roles_menus.menu_id
WHERE
sys_menu.path LIKE 'RF%'
and sys_menu.is_pc='0'
AND sys_menu.hidden = 0
<if test="accountId != null">
AND sys_user.user_id = #{accountId}
</if>
<if test="component != null">
AND sys_menu.component = #{component}
</if>
<if test="pid != null">
AND sys_menu.pid = #{pid}
</if>
GROUP BY
sys_menu.menu_id,
sys_menu.title,
sys_menu.component,
sys_menu.path,
sys_menu.NAME,
sys_menu.menu_sort
ORDER BY sys_menu.menu_sort
</select>
</mapper>

View File

@@ -3,6 +3,8 @@ package org.nl.system.service.menu.impl;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -458,4 +460,35 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
baseMapper.getMenusByRole(systemType, category);
return null;
}
@Override
public Map<String, Object> queryAuthority(Map<String, String> param) {
String accountId = SecurityUtils.getCurrentUserId();
JSONObject returnjo = new JSONObject();
if (StrUtil.isEmpty(accountId)) {
returnjo.put("code", "0");
returnjo.put("desc", "用户id不能为空");
returnjo.put("result", new JSONArray());
}
//查询一级
JSONArray pa = baseMapper.queryPdaAuthority(accountId, "0", null);
JSONObject result = pa.getJSONObject(0);
//查询二级
JSONArray SecondResults = baseMapper.queryPdaAuthority(accountId, "1", null);
//查询三级
JSONArray roleTree = new JSONArray();
for (int i = 0; i < SecondResults.size(); i++) {
JSONObject row = SecondResults.getJSONObject(i);
String menu_id = row.getString("menu_id");
JSONArray ThirdResults = baseMapper.queryPdaAuthority(accountId, "1", menu_id);
row.put("sonTree", ThirdResults);
roleTree.add(row);
}
result.put("sonTree", roleTree);
returnjo.put("code", "1");
returnjo.put("desc", "查询成功!");
returnjo.put("result", result);
return returnjo;
}
}