From 1588bdb5250cc85595501d8de016b01f4f65dad8 Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Sat, 23 Dec 2023 15:58:55 +0800 Subject: [PATCH] feat: app phone login --- .../cloud/kicc/system/controller/AppController.java | 4 ++-- .../com/cloud/kicc/system/service/AppService.java | 2 +- .../kicc/system/service/impl/AppServiceImpl.java | 12 +++++++++--- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AppController.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AppController.java index 8d779492..4ac6db6d 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AppController.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AppController.java @@ -59,8 +59,8 @@ public class AppController { @Inner(false) @GetMapping("/phoneRegister") - public R phoneRegister(String phone, String captcha, String identityProvider) { - return R.ok(appService.phoneRegister(phone, captcha, identityProvider)); + public R phoneRegister(String phone, String captcha, String identityProvider, String tenantId) { + return R.ok(appService.phoneRegister(phone, captcha, identityProvider, tenantId)); } diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/AppService.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/AppService.java index fa3878a9..ae875168 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/AppService.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/AppService.java @@ -25,5 +25,5 @@ public interface AppService { * @param phone 手机号 * @param captcha 验证码 */ - SsoUser phoneRegister(String phone, String captcha, String identityProvider); + SsoUser phoneRegister(String phone, String captcha, String identityProvider, String tenantId); } diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/AppServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/AppServiceImpl.java index 0eb1f58a..d4f9f123 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/AppServiceImpl.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/AppServiceImpl.java @@ -23,6 +23,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; +import java.util.List; import java.util.Optional; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -68,7 +69,7 @@ public class AppServiceImpl implements AppService { @Transactional(rollbackFor = Exception.class) - public SsoUser phoneRegister(String phone, String captcha, String identityProvider) { + public SsoUser phoneRegister(String phone, String captcha, String identityProvider, String tenantId) { // 设置不区分大小写,全部以小写验证 Validator.validateMobile(phone, "手机号码不合法"); String code = captcha.toLowerCase(); @@ -81,8 +82,13 @@ public class AppServiceImpl implements AppService { if (ObjectUtil.isEmpty(codeObj) || !code.equals(codeObj)) { throw new ValidateCodeException("验证码不合法"); } - if (iSsoUserService.count(Wrappers.lambdaQuery().eq(SsoUser::getPhone, phone)) > 0) { - throw new ValidateCodeException("当前用户已经注册,不能重复注册"); + + List findSsoUser = iSsoUserService.list(Wrappers.lambdaQuery() + .eq(SsoUser::getPhone, phone) + .eq(SsoUser::getTenantId, tenantId) + .eq(SsoUser::getIdentityProvider, identityProvider)); + if (!findSsoUser.isEmpty()) { + return findSsoUser.get(0); } // 进行注册用户