Compare commits

..

No commits in common. "605ce4ea826aae257483f4931c82320592f1822a" and "b9f90aa33ac26f3a8f050593a9071d214f7ad504" have entirely different histories.

5 changed files with 10 additions and 22 deletions

View File

@ -4,7 +4,6 @@ import com.electromagnetic.industry.software.common.annotations.RequiredPermissi
import com.electromagnetic.industry.software.common.enums.FilePermission;
import com.electromagnetic.industry.software.common.exception.PermissionDeniedException;
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
import com.electromagnetic.industry.software.manage.pojo.req.FileInfoQueryDTO;
import com.electromagnetic.industry.software.manage.pojo.req.UpdateFileInfoDTO;
import com.electromagnetic.industry.software.manage.service.EdFileInfoService;
import com.electromagnetic.industry.software.manage.service.PermissionService;
@ -47,12 +46,7 @@ public class FilePermissionCheckAspect {
id = edFileInfoService.getCategoryId(childId);
}
if (args[0] instanceof FileInfoQueryDTO) {
FileInfoQueryDTO fileInfoQueryDTO = (FileInfoQueryDTO) args[0];
id = fileInfoQueryDTO.getParentId();
}
Map<String,Boolean> permissions = permissionService.getUserPermission(userId,id,true);
Map<String,Boolean> permissions = permissionService.getUserPermission(userId,id);
if (!permissions.get(filePermission.getCode()).equals(Boolean.TRUE)) {
throw new PermissionDeniedException("用户无权限执行此操作");
}

View File

@ -23,7 +23,7 @@ public class PermissionController {
@GetMapping(value = "/{id}")
public ElectromagneticResult<?> getUserPermission(@PathVariable("id") String id) {
String userId = UserThreadLocal.getUserId();
return ElectromagneticResultUtil.success(permissionService.getUserPermission(userId, id, false));
return ElectromagneticResultUtil.success(permissionService.getUserPermission(userId, id));
}
}

View File

@ -12,7 +12,7 @@ public interface PermissionService {
* @param id
* @return
*/
Map<String, Boolean> getUserPermission(String userId, String id, Boolean includeView);
Map<String, Boolean> getUserPermission(String userId, String id);
/**
* 获取当前用户有权限访问的目录id
@ -36,7 +36,7 @@ public interface PermissionService {
* @param permissionCodes
* @return
*/
Map<String, Boolean> transToMap(List<String> permissionCodes, Boolean includeView);
Map<String, Boolean> transToMap(List<String> permissionCodes);
/**
* 过滤有导出权限的文件id

View File

@ -38,7 +38,7 @@ public class PermissionServiceImpl implements PermissionService {
*/
@Override
@Transactional
public Map<String, Boolean> getUserPermission(String userId, String id, Boolean includeView) {
public Map<String, Boolean> getUserPermission(String userId, String id) {
List<String> roleIds = getRoles(userId);
// 只有当 roleIds 不为空且不为 null 才添加 in 条件
@ -50,10 +50,9 @@ public class PermissionServiceImpl implements PermissionService {
.eq(RolePermission::getFileId, id)
.in(RolePermission::getRoleId, roleIds);
List<String> permissionCodes = rolePermissionMapper.selectObjs(queryWrapper1).stream().map(Object::toString).collect(Collectors.toList());
return transToMap(permissionCodes, includeView);
return transToMap(permissionCodes);
}
/**
* 获取当前用户有权限访问的目录id
*
@ -119,14 +118,9 @@ public class PermissionServiceImpl implements PermissionService {
* @return
*/
@Override
public Map<String, Boolean> transToMap(List<String> permissionCodes, Boolean includeView) {
public Map<String, Boolean> transToMap(List<String> permissionCodes) {
Map<String, Boolean> result = new HashMap<>();
List<String> allCodes = new ArrayList<>();
if (includeView.equals(Boolean.TRUE)) {
allCodes = FilePermission.getAllCodes();
} else {
allCodes = FilePermission.getAllCodesExcludeView();
}
List<String> allCodes = FilePermission.getAllCodesExcludeView();
for (String code : allCodes) {
if (permissionCodes.contains(code)) {
result.put(code, true);

View File

@ -191,7 +191,7 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
dataAuth.put("data", false);
rolePermissionDTO.setDataAuth(dataAuth);
}
rolePermissionDTO.setPermission(permissionService.transToMap(permissionCodes,false));
rolePermissionDTO.setPermission(permissionService.transToMap(permissionCodes));
nodes.add(rolePermissionDTO);
}
@ -290,7 +290,7 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
dataAuth.put("data", false);
rolePermissionDTO.setDataAuth(dataAuth);
rolePermissionDTO.setPermission(permissionService.transToMap(permissionCodes,false));
rolePermissionDTO.setPermission(permissionService.transToMap(permissionCodes));
nodes.add(rolePermissionDTO);
}