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();