From 5798c4734641d49a8667c2bd50eed6ee89eb4b2b Mon Sep 17 00:00:00 2001 From: yh <1844516659@qq.com> Date: Sat, 16 Jul 2022 12:18:49 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A3=9E=E6=BB=B4=E5=87=BA=E8=A1=8C=E7=BD=91?= =?UTF-8?q?=E7=BA=A6=E8=BD=A62022-=E4=B9=98=E5=AE=A2=E6=9C=8D=E5=8A=A1=20?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=A3=80=E9=AA=8C=E7=A0=81=E6=A3=80=E9=AA=8C?= =?UTF-8?q?-=E7=94=A8=E6=88=B7=E4=B8=8D=E5=AD=98=E5=9C=A8=E6=B3=A8?= =?UTF-8?q?=E5=86=8C=E7=99=BB=E5=BD=95=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../remote/ServicePassengerUserCLient.java | 16 ++++++++++++++++ .../service/VerificationCodeService.java | 14 +++++++++++++- .../request/VerificationCodeDTO.java | 1 + 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 api-passenger/src/main/java/com/mashibing/apipassenger/remote/ServicePassengerUserCLient.java diff --git a/api-passenger/src/main/java/com/mashibing/apipassenger/remote/ServicePassengerUserCLient.java b/api-passenger/src/main/java/com/mashibing/apipassenger/remote/ServicePassengerUserCLient.java new file mode 100644 index 0000000..599abd5 --- /dev/null +++ b/api-passenger/src/main/java/com/mashibing/apipassenger/remote/ServicePassengerUserCLient.java @@ -0,0 +1,16 @@ +package com.mashibing.apipassenger.remote; + +import com.mashibing.internalcommon.dto.ResponseResult; +import com.mashibing.internalcommon.request.VerificationCodeDTO; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.*; + +@FeignClient("service-passenger-user") +@Service +public interface ServicePassengerUserCLient { + + @RequestMapping(method = RequestMethod.POST,value = "/user") + public ResponseResult loginOrRegister(@RequestBody VerificationCodeDTO verificationCodeDTO); + +} diff --git a/api-passenger/src/main/java/com/mashibing/apipassenger/service/VerificationCodeService.java b/api-passenger/src/main/java/com/mashibing/apipassenger/service/VerificationCodeService.java index 0a7744a..d3474d2 100644 --- a/api-passenger/src/main/java/com/mashibing/apipassenger/service/VerificationCodeService.java +++ b/api-passenger/src/main/java/com/mashibing/apipassenger/service/VerificationCodeService.java @@ -1,8 +1,10 @@ package com.mashibing.apipassenger.service; +import com.mashibing.apipassenger.remote.ServicePassengerUserCLient; import com.mashibing.apipassenger.remote.ServiceVerificationcodeClient; import com.mashibing.internalcommon.constant.CommonStatusEnum; import com.mashibing.internalcommon.dto.ResponseResult; +import com.mashibing.internalcommon.request.VerificationCodeDTO; import com.mashibing.internalcommon.response.NumberCodeResponse; import com.mashibing.internalcommon.response.TokenResponse; import net.sf.json.JSONObject; @@ -19,6 +21,11 @@ public class VerificationCodeService { @Autowired private ServiceVerificationcodeClient verificationcodeClient; + @Autowired + private ServicePassengerUserCLient servicePassengerUserCLient; + + + @Autowired private StringRedisTemplate redisTemplate; @@ -50,7 +57,7 @@ public class VerificationCodeService { * @param passengerPhone * @return */ - public ResponseResult checkCode(String passengerPhone,String verificationCode){ + public ResponseResult checkCode(String passengerPhone,String verificationCode){ // 根据 key前缀+号码 从redis取出对应 校验码比较 String redisKey = getRdisKey(passengerPhone); @@ -60,7 +67,12 @@ public class VerificationCodeService { if(StringUtils.isBlank(codeRedis) || !StringUtils.equals(codeRedis,verificationCode) ){ return ResponseResult.fail(CommonStatusEnum.VERIFICATION_CODE_ERROR.getCode(), CommonStatusEnum.VERIFICATION_CODE_ERROR.getValue()); } + // 判断 登录手机号用户是否存在,不存在则注册登录 + VerificationCodeDTO verificationCodeDTO = new VerificationCodeDTO(); + verificationCodeDTO.setPassengerPhone(passengerPhone); + servicePassengerUserCLient.loginOrRegister(verificationCodeDTO); + redisTemplate.delete(redisKey);// 使用后删除key // 颁布 token 令牌 TokenResponse tokenResponse = new TokenResponse(); diff --git a/internal-common/src/main/java/com/mashibing/internalcommon/request/VerificationCodeDTO.java b/internal-common/src/main/java/com/mashibing/internalcommon/request/VerificationCodeDTO.java index c78bb8a..31801d7 100644 --- a/internal-common/src/main/java/com/mashibing/internalcommon/request/VerificationCodeDTO.java +++ b/internal-common/src/main/java/com/mashibing/internalcommon/request/VerificationCodeDTO.java @@ -1,6 +1,7 @@ package com.mashibing.internalcommon.request; +import lombok.AllArgsConstructor; import lombok.Data; @Data