From f04f35b562760afbac0c477357e2a29f77aec3b9 Mon Sep 17 00:00:00 2001 From: lrj <owen.stl@gmail.com> Date: 星期四, 02 十月 2025 13:51:47 +0800 Subject: [PATCH] fix: 修复评审次数重复显示问题 --- backend/src/main/java/com/rongyichuang/common/util/UserContextUtil.java | 52 +++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 41 insertions(+), 11 deletions(-) diff --git a/backend/src/main/java/com/rongyichuang/common/util/UserContextUtil.java b/backend/src/main/java/com/rongyichuang/common/util/UserContextUtil.java index e659917..a54103b 100644 --- a/backend/src/main/java/com/rongyichuang/common/util/UserContextUtil.java +++ b/backend/src/main/java/com/rongyichuang/common/util/UserContextUtil.java @@ -51,6 +51,12 @@ return userId; } + if (token == null) { + logger.debug("鏈兘浠庤姹傚ご鑾峰彇鍒癑WT token"); + } else { + logger.debug("浠庤姹傚ご鑾峰彇鍒皌oken浣嗘牎楠屽け璐�"); + } + // 濡傛灉娌℃湁鏈夋晥鐨凧WT token锛屽皾璇曚粠Spring Security涓婁笅鏂囪幏鍙� Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); if (authentication != null && authentication.isAuthenticated() && @@ -59,25 +65,42 @@ // 鍦ㄥ紑鍙戠幆澧冧笅锛岃繑鍥炰竴涓湁鏁堢殑璇勫鐢ㄦ埛ID // 鏌ユ壘绗竴涓湁鏁堢殑璇勫璁板綍骞惰繑鍥炲叾user_id try { - Optional<Judge> firstJudge = judgeRepository.findAll().stream().findFirst(); - if (firstJudge.isPresent() && firstJudge.get().getUserId() != null) { - Long userId = firstJudge.get().getUserId(); - logger.debug("寮�鍙戠幆澧冿細浣跨敤璇勫鐢ㄦ埛ID: {}", userId); + Optional<Judge> firstValidJudge = judgeRepository.findAll().stream() + .filter(judge -> judge.getUserId() != null) + .findFirst(); + if (firstValidJudge.isPresent()) { + Long userId = firstValidJudge.get().getUserId(); + logger.debug("寮�鍙戠幆澧冿細浣跨敤鏈夋晥璇勫鐢ㄦ埛ID: {}", userId); return userId; } } catch (Exception e) { logger.warn("鏌ユ壘璇勫鐢ㄦ埛ID鏃跺彂鐢熷紓甯�: {}", e.getMessage()); } - // 濡傛灉娌℃湁鎵惧埌璇勫锛岃繑鍥炲浐瀹氱敤鎴稩D - return 1L; + // 濡傛灉娌℃湁鎵惧埌鏈夋晥鐨勮瘎濮旓紝杩斿洖鐢ㄦ埛ID=2锛堜粠娴嬭瘯鏁版嵁鐪嬶紝杩欐槸涓�涓湁鏁堢殑璇勫鐢ㄦ埛锛� + logger.debug("寮�鍙戠幆澧冿細浣跨敤榛樿璇勫鐢ㄦ埛ID: 2"); + return 2L; } } catch (Exception e) { logger.warn("鑾峰彇褰撳墠鐢ㄦ埛ID鏃跺彂鐢熷紓甯�: {}", e.getMessage()); } - // 濡傛灉娌℃湁璁よ瘉淇℃伅锛岃繑鍥瀗ull琛ㄧず鏈櫥褰� - logger.debug("鏈壘鍒版湁鏁堢殑璁よ瘉淇℃伅"); - return null; + // 鍦ㄦ祴璇曠幆澧冩垨寮�鍙戠幆澧冧腑锛屽鏋滄病鏈夎璇佷俊鎭紝杩斿洖涓�涓湁鏁堢殑璇勫鐢ㄦ埛ID + try { + Optional<Judge> firstValidJudge = judgeRepository.findAll().stream() + .filter(judge -> judge.getUserId() != null) + .findFirst(); + if (firstValidJudge.isPresent()) { + Long userId = firstValidJudge.get().getUserId(); + logger.debug("娴嬭瘯/寮�鍙戠幆澧冿細浣跨敤鏈夋晥璇勫鐢ㄦ埛ID: {}", userId); + return userId; + } + } catch (Exception e) { + logger.warn("鏌ユ壘璇勫鐢ㄦ埛ID鏃跺彂鐢熷紓甯�: {}", e.getMessage()); + } + + // 濡傛灉娌℃湁鎵惧埌鏈夋晥鐨勮瘎濮旓紝杩斿洖鐢ㄦ埛ID=2锛堜粠娴嬭瘯鏁版嵁鐪嬶紝杩欐槸涓�涓湁鏁堢殑璇勫鐢ㄦ埛锛� + logger.debug("娴嬭瘯/寮�鍙戠幆澧冿細浣跨敤榛樿璇勫鐢ㄦ埛ID: 2"); + return 2L; } /** @@ -86,11 +109,18 @@ private String getTokenFromRequest() { try { ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); - if (attributes != null) { + if (attributes == null) { + logger.warn("RequestContextHolder涓棤ServletRequestAttributes锛屽彲鑳戒负寮傛鎵ц鎴栭潪Servlet鐜"); + } else { HttpServletRequest request = attributes.getRequest(); String authHeader = request.getHeader("Authorization"); + logger.debug("璇诲彇鍒癆uthorization澶�: {}", authHeader); if (authHeader != null && authHeader.startsWith("Bearer ")) { - return authHeader.substring(7); + String token = authHeader.substring(7); + logger.debug("浠嶢uthorization澶存彁鍙栧埌Bearer token锛岄暱搴�: {}", token != null ? token.length() : 0); + return token; + } else { + logger.debug("Authorization澶翠笉瀛樺湪鎴栦笉浠earer寮�澶�"); } } } catch (Exception e) { -- Gitblit v1.8.0