Compare commits

...

2 Commits

@ -21,6 +21,28 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.mashibing</groupId>
<artifactId>internal-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>

@ -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 {
//log
public static void main(String[] args) {

@ -2,8 +2,10 @@ package com.mashibing.apipassenger.controller;
import com.mashibing.apipassenger.request.VerificationCodeDTO;
import com.mashibing.apipassenger.service.VerificationCodeService;
import com.mashibing.common.dto.ResponseResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@ -13,12 +15,23 @@ public class VerificationCodeController {
private VerificationCodeService verificationCodeService;
@GetMapping("verification-code")
public String verificateCode(@RequestBody VerificationCodeDTO verificationCodeDTO){
public ResponseResult verificateCode(@RequestBody VerificationCodeDTO verificationCodeDTO){
String passengerPhone = verificationCodeDTO.getPassengerPhone();
System.out.println("接收到的参数:" + passengerPhone);
//调用短信验证码服务并存储到Redis
return verificationCodeService.generatorCode(passengerPhone);
}
@PostMapping("/verification-code-check")
public ResponseResult checkVerificationCode(@RequestBody VerificationCodeDTO verificationCodeDTO){
String verificationCode = verificationCodeDTO.getVerificationCode();
String passengerPhone = verificationCodeDTO.getPassengerPhone();
System.out.println("verificationCode:" + verificationCode + ",passengerPhone:" + passengerPhone);
return verificationCodeService.checkCode(passengerPhone,verificationCode);
}
}

@ -0,0 +1,13 @@
package com.mashibing.apipassenger.remote;
import com.mashibing.common.dto.ResponseResult;
import com.mashibing.common.response.NumberCodeResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@FeignClient("service-verificationcode")
public interface ServiceVefificationcodeClient {
@GetMapping("/numberCode/{size}")
ResponseResult<NumberCodeResponse> getNumberCode(@PathVariable("size") int size);
}

@ -1,16 +1,10 @@
package com.mashibing.apipassenger.request;
import lombok.Data;
@Data
public class VerificationCodeDTO {
private String passengerPhone;
public String getPassengerPhone() {
return passengerPhone;
}
public void setPassengerPhone(String passengerPhone) {
this.passengerPhone = passengerPhone;
}
private String verificationCode;
}

@ -1,37 +1,66 @@
package com.mashibing.apipassenger.service;
import com.mashibing.apipassenger.remote.ServiceVefificationcodeClient;
import com.mashibing.common.dto.ResponseResult;
import com.mashibing.common.response.NumberCodeResponse;
import com.mashibing.common.response.TokenResponse;
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 {
public String generatorCode(String passengerPhone){
@Autowired
private ServiceVefificationcodeClient serviceVefificationcodeClient;
@Autowired
private StringRedisTemplate stringRedisTemplate;
private String verificationCodePrefix = "verification-code-";
/**
*
* @param passengerPhone
* @return
*/
public ResponseResult generatorCode(String passengerPhone){
//调用验证码服务,获取验证码
System.out.println("调用验证码服务,获取验证码");
String code = "111111";
ResponseResult<NumberCodeResponse> responseResult = serviceVefificationcodeClient.getNumberCode(6);
int numberCode = responseResult.getData().getNumberCode();
System.out.println("接收到的numberCode:" + numberCode);
//存入redis
System.out.println("存入redis");
String key = verificationCodePrefix + numberCode;
stringRedisTemplate.opsForValue().set(key, "" + numberCode,2, TimeUnit.MINUTES);
JSONObject jsonObject = new JSONObject();
jsonObject.put("code",1);
jsonObject.put("message","success");
return jsonObject.toString();
//发送短信。。。
return ResponseResult.success("");
}
/**
*
* @param passengerPhone
* @param verificationCode
* @return
*/
public ResponseResult checkCode(String passengerPhone, String verificationCode) {
System.out.println("根据手机号和验证码查询redis");
System.out.println("校验验证码");
System.out.println("判断是否有用户,没有则新增用户");
System.out.println("颁发token");
TokenResponse tokenResponse = new TokenResponse();
tokenResponse.setToken("my token");
return ResponseResult.success(tokenResponse);
}
}

@ -7,4 +7,8 @@ spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
server-addr: 127.0.0.1:8848
redis:
port: 6379
host: 192.168.1.10
database: 0

@ -7,4 +7,8 @@ spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
server-addr: 127.0.0.1:8848
redis:
port: 6379
host: 192.168.1.10
database: 0

@ -11,6 +11,16 @@ public class ResponseResult<T> {
private String message;
private T data;
/**
*
* @param <T>
* @return
*/
public static <T> ResponseResult success(){
return new ResponseResult().setCode(CommonStatusEnum.SUCCESS.getCode())
.setMessage(CommonStatusEnum.SUCCESS.getMsg());
}
/**
*
* @param data

@ -0,0 +1,8 @@
package com.mashibing.common.response;
import lombok.Data;
@Data
public class TokenResponse {
private String token;
}

@ -34,24 +34,39 @@
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
</dependency>
<!-- nacos 依赖 -->
<!-- nacos 依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2021.1</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2021.1</version>
</dependency>
</dependency>-->
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2021.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2020.0.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>

@ -32,6 +32,11 @@
<artifactId>internal-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
<build>

@ -18,7 +18,7 @@ public class NumberCodeController {
//获取随机数
double mathRandom = (Math.random() * 9 + 1) * pow(10, size-1);
int resultInt = (int) mathRandom;
System.out.println(resultInt);
System.out.println("generate numberCode:" + resultInt);
NumberCodeResponse response = new NumberCodeResponse();
response.setNumberCode(resultInt);

Loading…
Cancel
Save