Administrator
2024-01-16 3e07db653080c9e50c437e86029d157385f5a305
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserSv.java
@@ -186,27 +186,38 @@
            voUserInfo.setUserName(map.get("userName").toString());
        }
        /**
         * 添加角色编号列表、角色名称列表、权限列表
         * 如果当前用户是超级管理员,则上述三项均为admin
         */
        List list_roleIds = new ArrayList();
        List list_roleNames = new ArrayList();
        if(voUserInfo.getUserName().equals("超级管理员")) {
            array_permission.add("admin");
            list_roleIds.add("admin");
            list_roleNames.add("admin");
        } else {
            List<Map<String, Object>> list = Optional.ofNullable(urDao.getPermissionsByUserId(userId)).orElse(new ArrayList<>());
            if(list.size() > 0) {
                JSONArray array= JSONArray.parseArray(JSON.toJSONString(list));
                for (int i = 0; i < array.size(); i++) {
                    JSONObject job = array.getJSONObject(i);
                    list_roleIds.add(job.getLong("roleId").toString());
                    list_roleNames.add(job.getString("roleName"));
        List<Map<String, Object>> list = Optional.ofNullable(urDao.getPermissionsByUserId(userId)).orElse(new ArrayList<>());
        if(list.size() > 0) {
            JSONArray array= JSONArray.parseArray(JSON.toJSONString(list));
            for (int i = 0; i < array.size(); i++) {
                JSONObject job = array.getJSONObject(i);
                list_roleIds.add(job.getLong("roleId").toString());
                list_roleNames.add(job.getString("roleName"));
                Long perId = Optional.ofNullable(job.getLong("perId")).orElse(0L);
                BaRolePermissions baRolePermissions = baRolePermissionsMapper.selectByPrimaryKey(perId);
                if(baRolePermissions != null) {
                    array_permission.addAll(baRolePermissions.getPermissions());
                    Long perId = Optional.ofNullable(job.getLong("perId")).orElse(0L);
                    BaRolePermissions baRolePermissions = baRolePermissionsMapper.selectByPrimaryKey(perId);
                    if(baRolePermissions != null) {
                        array_permission.addAll(baRolePermissions.getPermissions());
                    }
                }
            }
            voUserInfo.setRoleIds(list_roleIds);
            voUserInfo.setRoleNames(list_roleNames);
            voUserInfo.setPermissions(array_permission);
        }
        voUserInfo.setRoleIds(list_roleIds);
        voUserInfo.setRoleNames(list_roleNames);
        voUserInfo.setPermissions(array_permission);
        return voUserInfo;
    }
}