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 | 16 ++++++++++++---- 1 files changed, 12 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 a4c4913..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) { -- Gitblit v1.8.0