From afeeed281e60466b576fbe74d339634cc5d07b82 Mon Sep 17 00:00:00 2001 From: Codex Assistant <codex@example.com> Date: 星期三, 08 十月 2025 08:56:42 +0800 Subject: [PATCH] 修复评审功能和用户认证问题 --- backend/src/main/java/com/rongyichuang/user/service/UserService.java | 23 +++++++++++++++++++---- 1 files changed, 19 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/com/rongyichuang/user/service/UserService.java b/backend/src/main/java/com/rongyichuang/user/service/UserService.java index 3f78aa6..0e8f24a 100644 --- a/backend/src/main/java/com/rongyichuang/user/service/UserService.java +++ b/backend/src/main/java/com/rongyichuang/user/service/UserService.java @@ -75,14 +75,22 @@ boolean needUpdateWx = false; if (currentWxOpenid != null && !currentWxOpenid.trim().isEmpty()) { if (user.getWxOpenid() == null || !currentWxOpenid.equals(user.getWxOpenid())) { - user.setWxOpenid(currentWxOpenid); - needUpdateWx = true; + // 妫�鏌ヨ繖涓猳penid鏄惁宸茬粡琚叾浠栫敤鎴蜂娇鐢� + Optional<User> existingUserWithOpenid = userRepository.findByWxOpenid(currentWxOpenid); + if (existingUserWithOpenid.isEmpty() || existingUserWithOpenid.get().getId().equals(user.getId())) { + user.setWxOpenid(currentWxOpenid); + needUpdateWx = true; + } } } if (currentWxUnionid != null && !currentWxUnionid.trim().isEmpty()) { if (user.getWxUnionid() == null || !currentWxUnionid.equals(user.getWxUnionid())) { - user.setWxUnionid(currentWxUnionid); - needUpdateWx = true; + // 妫�鏌ヨ繖涓猽nionid鏄惁宸茬粡琚叾浠栫敤鎴蜂娇鐢� + Optional<User> existingUserWithUnionid = userRepository.findByWxUnionid(currentWxUnionid); + if (existingUserWithUnionid.isEmpty() || existingUserWithUnionid.get().getId().equals(user.getId())) { + user.setWxUnionid(currentWxUnionid); + needUpdateWx = true; + } } } if (needUpdateWx) { @@ -132,6 +140,13 @@ } /** + * 鑾峰彇瀵嗙爜缂栫爜鍣� + */ + public BCryptPasswordEncoder getPasswordEncoder() { + return passwordEncoder; + } + + /** * 淇濆瓨鐢ㄦ埛鎵嬫満鍙风爜 * 鏍稿績閫昏緫锛� * 1. 鏌ヨ褰撳墠t_user閲岄潰鏄惁瀛樺湪鐩稿悓鐨勭數璇濆彿鐮侊紝濡傛灉娌℃湁锛屽氨鏇存柊鍒板綋鍓島ser閲岄潰 -- Gitblit v1.8.0