From 0feb7609193346b5b11962614a1d05ed2f16e84c Mon Sep 17 00:00:00 2001 From: yh <1844516659@qq.com> Date: Fri, 15 Jul 2022 15:54:11 +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=BD=BF=E7=94=A8=20feign=20=E8=BF=9C?= =?UTF-8?q?=E7=A8=8B=E8=B0=83=E7=94=A8=E9=AA=8C=E8=AF=81=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=E6=8E=A5=E5=8F=A3=E4=BB=A5=E5=8F=8A=E5=8F=AF=E5=8F=98?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=8E=A7=E5=88=B6=E9=AA=8C=E8=AF=81=E7=A0=81?= =?UTF-8?q?=E4=BD=8D=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api-passenger/pom.xml | 18 ++++++++++++++++++ .../apipassenger/ApiPassengerApplication.java | 2 ++ .../controller/VerificationController.java | 1 + .../remote/ServiceVerificationcodeClient.java | 18 ++++++++++++++++++ .../service/VerificationCodeService.java | 13 ++++++++++++- .../controller/NumberCodeController.java | 4 ++-- 6 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 api-passenger/src/main/java/com/mashibing/apipassenger/remote/ServiceVerificationcodeClient.java diff --git a/api-passenger/pom.xml b/api-passenger/pom.xml index de0eb33..590cedc 100644 --- a/api-passenger/pom.xml +++ b/api-passenger/pom.xml @@ -27,6 +27,24 @@ spring-cloud-starter-alibaba-nacos-discovery + + + com.mashibing + internal-common + 1.0-SNAPSHOT + compile + + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + + org.springframework.cloud + spring-cloud-starter-loadbalancer + + \ No newline at end of file diff --git a/api-passenger/src/main/java/com/mashibing/apipassenger/ApiPassengerApplication.java b/api-passenger/src/main/java/com/mashibing/apipassenger/ApiPassengerApplication.java index 06ff16e..b23030c 100644 --- a/api-passenger/src/main/java/com/mashibing/apipassenger/ApiPassengerApplication.java +++ b/api-passenger/src/main/java/com/mashibing/apipassenger/ApiPassengerApplication.java @@ -3,9 +3,11 @@ package com.mashibing.apipassenger; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; @SpringBootApplication @EnableDiscoveryClient +@EnableFeignClients public class ApiPassengerApplication { public static void main(String[] args) { 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 1803d36..4f0e83e 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 @@ -1,5 +1,6 @@ package com.mashibing.apipassenger.controller; +import com.mashibing.apipassenger.remote.ServiceVerificationcodeClient; import com.mashibing.apipassenger.request.VerificationCodeDTO; import com.mashibing.apipassenger.service.VerificationCodeService; import org.springframework.beans.factory.annotation.Autowired; diff --git a/api-passenger/src/main/java/com/mashibing/apipassenger/remote/ServiceVerificationcodeClient.java b/api-passenger/src/main/java/com/mashibing/apipassenger/remote/ServiceVerificationcodeClient.java new file mode 100644 index 0000000..8a48f0d --- /dev/null +++ b/api-passenger/src/main/java/com/mashibing/apipassenger/remote/ServiceVerificationcodeClient.java @@ -0,0 +1,18 @@ +package com.mashibing.apipassenger.remote; + +import com.mashibing.internalcommon.dto.ResponseResult; +import com.mashibing.internalcommon.response.NumberCodeResponse; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; + +@FeignClient("service-verificationcode") +@Service +public interface ServiceVerificationcodeClient { + + @RequestMapping(method = RequestMethod.GET,value = "/numberCode/{size}") + ResponseResult getNumberCode(@PathVariable("size") Integer size); + +} 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 2d1eb2f..667e6d3 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,16 +1,27 @@ package com.mashibing.apipassenger.service; +import com.mashibing.apipassenger.remote.ServiceVerificationcodeClient; +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.stereotype.Service; @Service public class VerificationCodeService { + @Autowired + private ServiceVerificationcodeClient verificationcodeClient; + public String generatorCode(String passengerPhone){ // 调用验证码服务,获取验证码 System.out.println("调用验证码服务,获取验证码"); - String code = "111111"; + + // 使用 frign 远程调用生成验证码服务接口 + ResponseResult numberCodeResponse = verificationcodeClient.getNumberCode(6); + String numberCode = numberCodeResponse.getData().getNumberCode(); + System.out.println("remote number code: "+numberCode); // 存入redis System.out.println("存入redis"); 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 91b7b2f..453396a 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 @@ -15,9 +15,9 @@ public class NumberCodeController { public ResponseResult getNumbercode(@PathVariable Integer size){ // 生成指定长度验证码 - double codetmp = ((Math.random() + 1)*9) * (Math.pow(10,size-2));// *9 保证首位不为0,+1,保证最低被乘数大于1,长度使用 10的size-2平方数 + 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("已生成 "+size+" 长度验证码"); + System.out.println("generator code:"+size+" 长度验证码为:"+numberCode); // 封装返回结果 NumberCodeResponse data = new NumberCodeResponse();