From e716803cbb79e8f903119b492cc8a463bd9b5196 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 8 Jan 2026 09:42:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=9C=80=E6=B1=82=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=8F=AF=E7=9C=8B=E5=88=B0=E8=87=AA=E5=B7=B1?= =?UTF-8?q?=E5=8F=91=E8=B5=B7=E7=9A=84=E5=B7=B2=E5=AE=8C=E6=88=90=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/designhub/service/TaskService.java | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/backend/src/main/java/com/designhub/service/TaskService.java b/backend/src/main/java/com/designhub/service/TaskService.java index 6fe060e..267cc34 100644 --- a/backend/src/main/java/com/designhub/service/TaskService.java +++ b/backend/src/main/java/com/designhub/service/TaskService.java @@ -682,7 +682,8 @@ public class TaskService { /** * 获取已完成任务列表(根据角色权限) - * - 个人用户:只看自己接的已完成任务 + * - 需求部门用户:看自己发起的已完成任务 + * - 接单部门用户:看自己接单的已完成任务 * - 部门负责人:看本部门所有已完成任务 * - 管理员:看所有已完成任务 */ @@ -697,6 +698,15 @@ public class TaskService { boolean isAdmin = isAdminUser(userId); boolean isDeptHead = isDeptHeadUser(userId); + // 获取用户所属部门类型 + String deptType = null; + if (user.getDeptId() != null) { + Department dept = departmentMapper.selectById(user.getDeptId()); + if (dept != null) { + deptType = dept.getDeptType(); + } + } + // 2. 构建查询条件 Page pageParam = new Page<>(page, pageSize); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); @@ -716,10 +726,14 @@ public class TaskService { .eq(Task::getReceiverDeptId, user.getDeptId()) // 或本部门接的 ); log.info("部门负责人查看部门已完成任务: deptId={}", user.getDeptId()); + } else if ("demand".equals(deptType)) { + // 需求部门用户:看自己发起的已完成任务 + wrapper.eq(Task::getPublisherId, userId); + log.info("需求部门用户查看自己发起的已完成任务: userId={}", userId); } else { - // 普通用户:只看自己接的 + // 接单部门用户:看自己接单的已完成任务 wrapper.eq(Task::getReceiverId, userId); - log.info("个人用户查看个人已完成任务: userId={}", userId); + log.info("接单部门用户查看自己接单的已完成任务: userId={}", userId); } // 4. 关键词搜索