diff --git a/backend/src/main/java/com/designhub/controller/UserController.java b/backend/src/main/java/com/designhub/controller/UserController.java index cbaae20..b0d9810 100644 --- a/backend/src/main/java/com/designhub/controller/UserController.java +++ b/backend/src/main/java/com/designhub/controller/UserController.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.designhub.common.Result; import com.designhub.entity.User; import com.designhub.service.UserService; +import com.designhub.util.JwtUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -24,6 +25,7 @@ import java.util.Map; public class UserController { private final UserService userService; + private final JwtUtil jwtUtil; @Operation(summary = "分页查询用户列表") @GetMapping @@ -129,8 +131,23 @@ public class UserController { @Operation(summary = "获取设计师列表及工作量", description = "获取部门内的设计师列表,包含每个设计师当前进行中的任务数量") @GetMapping("/designers-with-workload") public Result>> getDesignersWithWorkload( - @RequestParam(required = false) Long deptId + @RequestParam(required = false) Long deptId, + @RequestHeader("Authorization") String authHeader ) { + // 如果没有传入deptId,则根据当前用户角色判断 + if (deptId == null) { + String token = jwtUtil.extractTokenFromHeader(authHeader); + Long userId = jwtUtil.getUserIdFromToken(token); + + // 如果不是管理员,强制使用自己的部门ID + if (!userService.isAdminUser(userId)) { + User currentUser = userService.getUserById(userId); + if (currentUser != null) { + deptId = currentUser.getDeptId(); + } + } + } + log.info("获取设计师列表及工作量: deptId={}", deptId); return Result.success(userService.getDesignersWithWorkload(deptId)); } diff --git a/backend/src/main/java/com/designhub/service/TaskApprovalService.java b/backend/src/main/java/com/designhub/service/TaskApprovalService.java index 463644a..edcd1be 100644 --- a/backend/src/main/java/com/designhub/service/TaskApprovalService.java +++ b/backend/src/main/java/com/designhub/service/TaskApprovalService.java @@ -389,6 +389,8 @@ public class TaskApprovalService { if (brand != null) { // Brand实体类中name字段映射到brand_name,使用getName() task.setBrandName(brand.getName()); + } else { + log.warn("任务 {} 品牌ID {} 不存在", task.getId(), task.getBrandId()); } } @@ -398,6 +400,8 @@ public class TaskApprovalService { if (category != null) { // Category实体类中name字段映射到category_name,使用getName() task.setCategoryName(category.getName()); + } else { + log.warn("任务 {} 类目ID {} 不存在", task.getId(), task.getCategoryId()); } } @@ -407,6 +411,8 @@ public class TaskApprovalService { if (platform != null) { // Platform实体类中name字段映射到platform_name,使用getName() task.setPlatformName(platform.getName()); + } else { + log.warn("任务 {} 平台ID {} 不存在", task.getId(), task.getPlatformId()); } } diff --git a/frontend/src/views/TaskHall.vue b/frontend/src/views/TaskHall.vue index 0730d99..be9a935 100644 --- a/frontend/src/views/TaskHall.vue +++ b/frontend/src/views/TaskHall.vue @@ -1872,14 +1872,14 @@
选择接单方式
- - + +
发布到任务大厅 所有设计师均可抢单
- +
指定设计师接单 直接分配给特定设计师