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