diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/ITaskService.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/ITaskService.java index 1951822..edce239 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/ITaskService.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/ITaskService.java @@ -38,7 +38,7 @@ public interface ITaskService extends IService { */ Integer getHolderLevel(String token, Long taskId); - List listMyTasks(String token, Integer projectId) throws BadRequestException; + List listMyTasks(String token, Integer projectId) throws BadRequestException, ForbiddenException; Boolean canBeDone(Long taskId); 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 35f3b41..6a8a4b2 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 @@ -210,6 +210,8 @@ public class TaskServiceImpl extends ServiceImpl implements IT private int upperBound(List data, long x) { int l = 0, r = data.size() - 1; + if(data.get(r).getTaskFatherId().equals(x)) + return r; while (l < r) { int mid = (l + r) / 2; if (data.get(mid).getTaskFatherId() <= x) l = mid + 1; @@ -220,8 +222,11 @@ public class TaskServiceImpl extends ServiceImpl implements IT @Override - public List listMyTasks(String token, Integer projectId) { + public List listMyTasks(String token, Integer projectId) throws ForbiddenException { Integer staffId = TokenUtils.getStaffId(token); + if(projectGroupService.getProjectAccessLevel(token,projectId)==0){ + throw new ForbiddenException("不可操作的项目"); + } List resList = baseMapper.selectList(Wrappers.lambdaQuery() .select(Task::getTaskId, Task::getTaskFatherId, Task::getTaskHolderId) .eq(Task::getTaskProjectId, projectId)