diff --git a/timeline-user-service/src/main/java/com/timeline/user/controller/ReactionController.java b/timeline-user-service/src/main/java/com/timeline/user/controller/ReactionController.java index a526d62..8bf969c 100644 --- a/timeline-user-service/src/main/java/com/timeline/user/controller/ReactionController.java +++ b/timeline-user-service/src/main/java/com/timeline/user/controller/ReactionController.java @@ -35,12 +35,12 @@ public class ReactionController { @PathVariable String entityId, HttpServletRequest request) { log.info("获取反应汇总: {} - {}", entityType, entityId); - + try { // 获取当前用户ID(可能为null,用于匿名访问) String currentUserId = null; try { - currentUserId = jwtUtils.getUserIdFromRequest(request); + currentUserId = getUserIdFromRequest(request); } catch (Exception e) { log.debug("未获取到用户ID,可能是匿名访问"); } @@ -67,9 +67,9 @@ public class ReactionController { @RequestParam String reactionType, HttpServletRequest request) { log.info("添加/更新反应: {} - {} - {}", entityType, entityId, reactionType); - + try { - String userId = jwtUtils.getUserIdFromRequest(request); + String userId = getUserIdFromRequest(request); reactionService.addOrUpdateReaction(userId, entityType, entityId, reactionType); return ResponseEntity.success(null); } catch (IllegalArgumentException e) { @@ -91,9 +91,9 @@ public class ReactionController { @PathVariable String entityId, HttpServletRequest request) { log.info("移除反应: {} - {}", entityType, entityId); - + try { - String userId = jwtUtils.getUserIdFromRequest(request); + String userId = getUserIdFromRequest(request); reactionService.removeReaction(userId, entityType, entityId); return ResponseEntity.success(null); } catch (IllegalArgumentException e) { @@ -104,4 +104,16 @@ public class ReactionController { return ResponseEntity.error(500, "移除反应失败"); } } + + /** + * 从请求中获取用户ID + */ + private String getUserIdFromRequest(HttpServletRequest request) { + String token = request.getHeader("Authorization"); + if (token != null && token.startsWith("Bearer ")) { + token = token.substring(7); + return jwtUtils.getUserIdFromToken(token); + } + throw new RuntimeException("Unauthorized"); + } }