From f8c605b85824e571656b2ec84f3626ba0c4bed29 Mon Sep 17 00:00:00 2001 From: figmar Date: Tue, 1 Sep 2026 19:24:21 +0800 Subject: [PATCH] =?UTF-8?q?fix(gateway):=20=E7=A9=BA=20email=20=E6=8C=89?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=90=8D=E5=90=88=E6=88=90=20casdoor.local?= =?UTF-8?q?=20=E5=8D=A0=E4=BD=8D=EF=BC=88email=20=E5=88=97=20NOT=20NULL=20?= =?UTF-8?q?UNIQUE=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gateway/infrastructure/casdoor/CasdoorUserService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 f0fb29d..7a5fae4 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 @@ -116,9 +116,9 @@ public class CasdoorUserService { private User createUser(IdTokenClaims claims, String username, LocalDateTime now) { User user = new User(); user.setUsername(username); - // email 列有唯一约束:空串会互相冲突,空值统一落 NULL(NULL 不参与唯一约束) + // email 列 NOT NULL UNIQUE:空串会互相冲突,缺省按用户名合成占位 email String email = claims.email(); - user.setEmail(email == null || email.isBlank() ? null : email.trim()); + user.setEmail(email == null || email.isBlank() ? username + "@casdoor.local" : email.trim()); user.setFullName(claims.name()); // 本地密码不可用:随机占位(登录统一走 Casdoor,本地 BCrypt 仅迁移期兜底) user.setPasswordHash(new BCryptPasswordEncoder(10).encode(UUID.randomUUID().toString()));