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

View File

@ -23,7 +23,7 @@ public class PermissionController {
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public ElectromagneticResult<?> getUserPermission(@PathVariable("id") String id) { public ElectromagneticResult<?> getUserPermission(@PathVariable("id") String id) {
String userId = UserThreadLocal.getUserId(); 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 * @param id
* @return * @return
*/ */
Map<String, Boolean> getUserPermission(String userId, String id, Boolean includeView); Map<String, Boolean> getUserPermission(String userId, String id);
/** /**
* 获取当前用户有权限访问的目录id * 获取当前用户有权限访问的目录id
@ -36,7 +36,7 @@ public interface PermissionService {
* @param permissionCodes * @param permissionCodes
* @return * @return
*/ */
Map<String, Boolean> transToMap(List<String> permissionCodes, Boolean includeView); Map<String, Boolean> transToMap(List<String> permissionCodes);
/** /**
* 过滤有导出权限的文件id * 过滤有导出权限的文件id

View File

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

View File

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