From 90ee01ad22334bf0534ac00e2839eced4939d26b Mon Sep 17 00:00:00 2001 From: yh <1844516659@qq.com> Date: Fri, 15 Jul 2022 16:54:58 +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=E7=AB=AF=20=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E6=89=8B=E6=9C=BA=E5=8F=B7=E8=AF=B7=E6=B1=82=E9=AA=8C?= =?UTF-8?q?=E8=AF=81=E7=A0=81=E5=B9=B6=E5=AD=98=E5=85=A5redis=E7=BC=93?= =?UTF-8?q?=E5=AD=982=E5=88=86=E9=92=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api-passenger/pom.xml | 5 ++++ .../controller/VerificationController.java | 4 +-- .../service/VerificationCodeService.java | 26 +++++++++++-------- .../src/main/resources/application.yml | 6 ++++- .../internalcommon/dto/ResponseResult.java | 14 ++++++++-- .../controller/NumberCodeController.java | 2 +- 6 files changed, 40 insertions(+), 17 deletions(-) diff --git a/api-passenger/pom.xml b/api-passenger/pom.xml index 590cedc..c28661c 100644 --- a/api-passenger/pom.xml +++ b/api-passenger/pom.xml @@ -45,6 +45,11 @@ spring-cloud-starter-loadbalancer + + org.springframework.boot + spring-boot-starter-data-redis + + \ No newline at end of file diff --git a/api-passenger/src/main/java/com/mashibing/apipassenger/controller/VerificationController.java b/api-passenger/src/main/java/com/mashibing/apipassenger/controller/VerificationController.java index 4f0e83e..9b752d1 100644 --- a/api-passenger/src/main/java/com/mashibing/apipassenger/controller/VerificationController.java +++ b/api-passenger/src/main/java/com/mashibing/apipassenger/controller/VerificationController.java @@ -3,6 +3,7 @@ package com.mashibing.apipassenger.controller; import com.mashibing.apipassenger.remote.ServiceVerificationcodeClient; import com.mashibing.apipassenger.request.VerificationCodeDTO; import com.mashibing.apipassenger.service.VerificationCodeService; +import com.mashibing.internalcommon.dto.ResponseResult; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -16,10 +17,9 @@ public class VerificationController { // 实现 乘客获取验证码 API @GetMapping("/verification-code") - public String verificationcode(@RequestBody VerificationCodeDTO verificationCodeDTO){ + public ResponseResult verificationcode(@RequestBody VerificationCodeDTO verificationCodeDTO){ String passengerPhone = verificationCodeDTO.getPassengerPhone(); - System.out.println("接受到的手机验证码为"+passengerPhone); return service.generatorCode(passengerPhone); } 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 667e6d3..efd73b2 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 @@ -5,31 +5,35 @@ import com.mashibing.internalcommon.dto.ResponseResult; import com.mashibing.internalcommon.response.NumberCodeResponse; import net.sf.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; +import java.util.concurrent.TimeUnit; + @Service public class VerificationCodeService { @Autowired private ServiceVerificationcodeClient verificationcodeClient; - public String generatorCode(String passengerPhone){ + @Autowired + private StringRedisTemplate redisTemplate; + + private String prefixKey = "passenger-verification-code-"; - // 调用验证码服务,获取验证码 - System.out.println("调用验证码服务,获取验证码"); - // 使用 frign 远程调用生成验证码服务接口 + public ResponseResult generatorCode(String passengerPhone){ + + // 使用 feign 远程调用生成验证码服务接口 ResponseResult numberCodeResponse = verificationcodeClient.getNumberCode(6); String numberCode = numberCodeResponse.getData().getNumberCode(); - System.out.println("remote number code: "+numberCode); // 存入redis - System.out.println("存入redis"); - JSONObject result = new JSONObject(); - result.put("code",1); - result.put("message","success"); - // 返回值 - return result.toString(); + String redisKey = prefixKey + passengerPhone; + redisTemplate.opsForValue().set(redisKey,numberCode,2, TimeUnit.MINUTES); + + // 返回处理结果 + return ResponseResult.success(""); } } diff --git a/api-passenger/src/main/resources/application.yml b/api-passenger/src/main/resources/application.yml index bb8fa7f..a31fd4f 100644 --- a/api-passenger/src/main/resources/application.yml +++ b/api-passenger/src/main/resources/application.yml @@ -8,4 +8,8 @@ spring: cloud: nacos: discovery: - server-addr: 127.0.0.1:8848 \ No newline at end of file + server-addr: 127.0.0.1:8848 + redis: + host: 127.0.0.1 + port: 6379 + database: 0 \ No newline at end of file diff --git a/internal-common/src/main/java/com/mashibing/internalcommon/dto/ResponseResult.java b/internal-common/src/main/java/com/mashibing/internalcommon/dto/ResponseResult.java index 9e2f3e6..90a6f0c 100644 --- a/internal-common/src/main/java/com/mashibing/internalcommon/dto/ResponseResult.java +++ b/internal-common/src/main/java/com/mashibing/internalcommon/dto/ResponseResult.java @@ -13,8 +13,18 @@ public class ResponseResult { private String message ; private T data ; + + /** + * 成功 无结果信息 默认响应 + * @param + * @return + */ + public static ResponseResult success(){ + return new ResponseResult().setCode(CommonStatusEnum.SUCCESS.getCode()).setMessage(CommonStatusEnum.SUCCESS.getValue()).setData(""); + } + /** - * 成功 默认响应 + * 成功 携带处理结果 响应 * @param data * @param * @return @@ -35,7 +45,7 @@ public class ResponseResult { } /** - * 失败 统一响应 只有错误结果体 + * 失败 统一响应 携带错误结果数据 * @param data * @param * @return diff --git a/service-verificationcode/src/main/java/com/mashibing/serviceverificationcode/controller/NumberCodeController.java b/service-verificationcode/src/main/java/com/mashibing/serviceverificationcode/controller/NumberCodeController.java index 453396a..c72eb4e 100644 --- a/service-verificationcode/src/main/java/com/mashibing/serviceverificationcode/controller/NumberCodeController.java +++ b/service-verificationcode/src/main/java/com/mashibing/serviceverificationcode/controller/NumberCodeController.java @@ -17,12 +17,12 @@ public class NumberCodeController { // 生成指定长度验证码 double codetmp = (Math.random() *9 + 1) * (Math.pow(10,size-1));// *9 保证首位不为0,+1,保证最低被乘数大于1,长度使用 10的size-1平方数 Integer numberCode = (int)codetmp; - System.out.println("generator code:"+size+" 长度验证码为:"+numberCode); // 封装返回结果 NumberCodeResponse data = new NumberCodeResponse(); data.setNumberCode(numberCode.toString()); + // 返回处理结果 return ResponseResult.success(data); }