diff --git a/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java b/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java index d91ce874..c30813a7 100644 --- a/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java @@ -2217,20 +2217,28 @@ public class AccountServiceImpl extends ServiceImpl impl accountExtendInsert.setHeadImgUrl(pictureUrl); accountExtendInsert.setName(name); + QueryWrapper accountQueryWrapper = new QueryWrapper<>(); + accountQueryWrapper.lambda().eq(Account::getUserEmail, email); // 根据邮箱查询用户 + List accounts = accountMapper.selectList(accountQueryWrapper); + // 用户不存在,创建新用户(自动注册) Account newUser = new Account(); - newUser.setUserEmail(email); - newUser.setUserName(name); - newUser.setUserPassword("Third-000000"); - newUser.setLanguage(Language.ENGLISH.name()); - newUser.setValidStartTime(System.currentTimeMillis()); - newUser.setValidEndTime(toDayEnd(Instant.now().plus(5, ChronoUnit.DAYS).toEpochMilli())); - newUser.setCreateDate(new Date()); - newUser.setIsTrial(1); - newUser.setIsBeginner(1); - newUser.setCredits(BigDecimal.valueOf(100)); - newUser.setSystemUser(3); - accountMapper.insert(newUser); + if (CollectionUtil.isNotEmpty(accounts)) { + newUser = CopyUtil.copyObject(accounts.get(0), Account.class); + }else { + newUser.setUserEmail(email); + newUser.setUserName(name); + newUser.setUserPassword("Third-000000"); + newUser.setLanguage(Language.ENGLISH.name()); + newUser.setValidStartTime(System.currentTimeMillis()); + newUser.setValidEndTime(toDayEnd(Instant.now().plus(5, ChronoUnit.DAYS).toEpochMilli())); + newUser.setCreateDate(new Date()); + newUser.setIsTrial(1); + newUser.setIsBeginner(1); + newUser.setCredits(BigDecimal.valueOf(100)); + newUser.setSystemUser(3); + accountMapper.insert(newUser); + } accountExtendInsert.setAccountId(newUser.getId()); accountExtendMapper.insert(accountExtendInsert);