|
|
@@ -9,10 +9,12 @@ import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import org.apache.shiro.authz.annotation.RequiresRoles;
|
|
|
import org.jeecg.common.api.vo.Result;
|
|
|
import org.jeecg.common.constant.CacheConstant;
|
|
|
@@ -21,15 +23,9 @@ import org.jeecg.common.system.query.QueryGenerator;
|
|
|
import org.jeecg.common.util.PmsUtil;
|
|
|
import org.jeecg.common.util.TokenUtils;
|
|
|
import org.jeecg.common.util.oConvertUtils;
|
|
|
-import org.jeecg.modules.system.entity.SysPermission;
|
|
|
-import org.jeecg.modules.system.entity.SysPermissionDataRule;
|
|
|
-import org.jeecg.modules.system.entity.SysRole;
|
|
|
-import org.jeecg.modules.system.entity.SysRolePermission;
|
|
|
+import org.jeecg.modules.system.entity.*;
|
|
|
import org.jeecg.modules.system.model.TreeModel;
|
|
|
-import org.jeecg.modules.system.service.ISysPermissionDataRuleService;
|
|
|
-import org.jeecg.modules.system.service.ISysPermissionService;
|
|
|
-import org.jeecg.modules.system.service.ISysRolePermissionService;
|
|
|
-import org.jeecg.modules.system.service.ISysRoleService;
|
|
|
+import org.jeecg.modules.system.service.*;
|
|
|
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
|
|
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
|
|
import org.jeecgframework.poi.excel.entity.ExportParams;
|
|
|
@@ -82,6 +78,9 @@ public class SysRoleController {
|
|
|
@Autowired
|
|
|
private ISysPermissionService sysPermissionService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ISysUserRoleService sysUserRoleService;
|
|
|
+
|
|
|
/**
|
|
|
* 分页列表查询
|
|
|
* @param role
|
|
|
@@ -390,7 +389,20 @@ public class SysRoleController {
|
|
|
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>();
|
|
|
query.eq(SysPermission::getDelFlag, CommonConstant.DEL_FLAG_0);
|
|
|
query.orderByAsc(SysPermission::getSortNo);
|
|
|
+ LoginUser authUser = TokenUtils.getAuthUser();
|
|
|
+ // 如果是租户用户 只取属于他自己的权限
|
|
|
+ if(authUser.getRelTenantIds() != null && !authUser.getRelTenantIds().isEmpty()) {
|
|
|
+ List<SysUserRole> userRoles = sysUserRoleService.list(Wrappers.<SysUserRole>query().eq("user_id",authUser.getId()));
|
|
|
+ List<String> roleIds = userRoles.stream().map(SysUserRole::getRoleId).collect(Collectors.toList());
|
|
|
+// String roleIds.stream().collect(Collectors.joining(","));
|
|
|
+ List<SysRolePermission> rolePermissions = sysRolePermissionService.list(Wrappers.<SysRolePermission>query().in("role_id",roleIds));
|
|
|
+ List<String> permissionIds = rolePermissions.stream().map(SysRolePermission::getPermissionId).distinct().collect(Collectors.toList());
|
|
|
+ query.in(SysPermission::getId,permissionIds);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
List<SysPermission> list = sysPermissionService.list(query);
|
|
|
+
|
|
|
for(SysPermission sysPer : list) {
|
|
|
ids.add(sysPer.getId());
|
|
|
}
|