diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectGroupController.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectGroupController.java index ed598bb..6ba847b 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectGroupController.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectGroupController.java @@ -94,7 +94,7 @@ public class ProjectGroupController { @PathVariable Integer projectId, @PathVariable Integer staffId ) { - if (projectGroupService.compareProjectAccessLevel(projectId, token, staffId) <= 0) { + if (projectGroupService.compareProjectAccessLevel(projectId, token, staffId) >= 0) { throw new ForbiddenException(ForbiddenException.UNABLE_TO_OPERATE); } if (projectGroupService.remove(Wrappers.lambdaQuery() diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectGroupService.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectGroupService.java index 140afd4..cb579ca 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectGroupService.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectGroupService.java @@ -45,7 +45,7 @@ public interface IProjectGroupService extends IService { *

* token持有者的判断受全局权限影响,目标id不会 *

- * 返回类似于{@link Integer#compare(int, int)} + * 返回类似于{@link Integer#compare(int, int)},推荐使用compareProjectAccessLevel(...)>(或其他逻辑判断符)0,若<则token持有者拥有更高权限 */ Integer compareProjectAccessLevel(Integer projectId, String token, Integer targetId); diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/AnnouncementServiceImpl.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/AnnouncementServiceImpl.java index 0f45eab..7ba73ce 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/AnnouncementServiceImpl.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/AnnouncementServiceImpl.java @@ -71,7 +71,7 @@ public class AnnouncementServiceImpl extends ServiceImpl 0) { throw new ForbiddenException(ForbiddenException.UNABLE_TO_OPERATE); } return removeById(announcementId); diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java index 13be26c..3d83b73 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java @@ -443,7 +443,7 @@ public class TaskServiceImpl extends ServiceImpl implements IT || projectGroupService.getProjectAccessLevelIgnoreGlobalLevel(transferredStaffId, projectId) == 0) { throw new ForbiddenException(IProjectGroupService.UNABLE_TO_ACCESS_PROJECT); } - if (projectGroupService.compareProjectAccessLevel(projectId, token, transferredStaffId) < 0) { + if (projectGroupService.compareProjectAccessLevel(projectId, token, transferredStaffId) > 0) { throw new ForbiddenException(ForbiddenException.UNABLE_TO_OPERATE); } @@ -498,7 +498,7 @@ public class TaskServiceImpl extends ServiceImpl implements IT || projectGroupService.getProjectAccessLevelIgnoreGlobalLevel(targetStaffId, projectId) == 0) { throw new ForbiddenException(IProjectGroupService.UNABLE_TO_ACCESS_PROJECT); } - if (projectGroupService.compareProjectAccessLevel(projectId, token, transferredStaffId) < 0) { + if (projectGroupService.compareProjectAccessLevel(projectId, token, transferredStaffId) > 0) { throw new ForbiddenException(ForbiddenException.UNABLE_TO_OPERATE); } Long transferredTaskCount = baseMapper.selectCount(Wrappers.lambdaQuery().eq(Task::getTaskHolderId, transferredStaffId));