diff --git a/backend/src/main/java/com/designhub/service/TaskItemService.java b/backend/src/main/java/com/designhub/service/TaskItemService.java index c3c4fa0..40fdb36 100644 --- a/backend/src/main/java/com/designhub/service/TaskItemService.java +++ b/backend/src/main/java/com/designhub/service/TaskItemService.java @@ -1116,10 +1116,17 @@ public class TaskItemService { content.append(" \n"); - // 任务明细(与第一轮格式完全一致) - if (!groupItems.isEmpty()) { + // 🔥 任务明细:获取该任务的所有子任务组(不只是当前审核的这一组) + // 这样通知显示的积分才与任务卡片一致 + List allTaskItems = taskItemMapper.selectList( + new LambdaQueryWrapper() + .eq(TaskItem::getTaskId, taskId) + .orderBy(true, true, TaskItem::getGroupNo) + ); + + if (!allTaskItems.isEmpty()) { content.append("**任务明细**: \n"); - for (TaskItem item : groupItems) { + for (TaskItem item : allTaskItems) { // 通过任务类型ID获取接单部门名称 String deptName = "未指定"; if (item.getTaskTypeId() != null) { @@ -1141,7 +1148,7 @@ public class TaskItemService { // 格式化工时显示(与第一轮一致) String hoursDisplay = formatEstimatedHours(item.getEstimatedHours()); - content.append(" \n"); + content.append(" \n"); content.append("▸ **").append(deptName).append("** | ") .append(item.getTotalScore()).append("分 | ") .append(hoursDisplay).append(" \n"); @@ -1161,7 +1168,7 @@ public class TaskItemService { content.append("  └ ").append(typeName) .append(" ×").append(qty) .append(" = ").append(score).append("分 \n"); - } + } } catch (Exception e) { log.warn("解析任务类型明细失败: {}", e.getMessage()); }