diff --git a/backend/api-gateway/src/main/java/com/deepdata/gateway/infrastructure/casdoor/CasdoorUserService.java b/backend/api-gateway/src/main/java/com/deepdata/gateway/infrastructure/casdoor/CasdoorUserService.java index d66abf0..4e61640 100644 --- a/backend/api-gateway/src/main/java/com/deepdata/gateway/infrastructure/casdoor/CasdoorUserService.java +++ b/backend/api-gateway/src/main/java/com/deepdata/gateway/infrastructure/casdoor/CasdoorUserService.java @@ -69,7 +69,8 @@ public class CasdoorUserService { user.setEmail(claims.email()); } applyGroupsAndRole(user, claims, username); - userRepository.save(user); + // 存量用户走更新;IRepository.save() 恒为 INSERT,带 id 调用会撞主键 + userRepository.updateById(user); return new ProvisionedUser(user, userService.generateToken(user), false); } if (!props.isAutoProvision()) {