refactor(ReactionController): 提取获取用户ID的逻辑到独立方法
Some checks failed
test/timeline-server/pipeline/head There was a failure building this commit

将重复的jwtUtils.getUserIdFromRequest调用提取为私有方法getUserIdFromRequest
This commit is contained in:
2026-02-25 15:58:54 +08:00
parent 32097e57d7
commit 8080750078

View File

@@ -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");
}
}