4 changed files with 121 additions and 9 deletions
-
16pom.xml
-
13src/main/java/com/lh/bean/dto/TokenDTO.java
-
29src/main/java/com/lh/controller/VoteController.java
-
72src/main/java/com/lh/until/Utils.java
@ -0,0 +1,13 @@ |
|||
package com.lh.bean.dto; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
@Data |
|||
@NoArgsConstructor |
|||
@AllArgsConstructor |
|||
public class TokenDTO { |
|||
private int jwcode; |
|||
private String username; |
|||
} |
@ -0,0 +1,72 @@ |
|||
package com.lh.until; |
|||
|
|||
import com.fasterxml.jackson.databind.JsonNode; |
|||
import com.fasterxml.jackson.databind.ObjectMapper; |
|||
import com.lh.bean.dto.TokenDTO; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.apache.http.client.methods.CloseableHttpResponse; |
|||
import org.apache.http.client.methods.HttpPost; |
|||
import org.apache.http.entity.ContentType; |
|||
import org.apache.http.entity.StringEntity; |
|||
import org.apache.http.impl.client.CloseableHttpClient; |
|||
import org.apache.http.impl.client.HttpClients; |
|||
import org.apache.http.util.EntityUtils; |
|||
import org.springframework.data.redis.core.StringRedisTemplate; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
import javax.annotation.Resource; |
|||
import java.io.IOException; |
|||
import java.nio.charset.StandardCharsets; |
|||
|
|||
@Slf4j |
|||
@Component |
|||
public class Utils { |
|||
@Resource |
|||
private StringRedisTemplate stringRedisTemplate; |
|||
// 获取token中的信息 |
|||
public TokenDTO analysisToken(String token) throws IOException { |
|||
// 编码Token |
|||
String url = "http://39.101.133.168:8828/hljw/api/v2/member/info"; |
|||
// 创建HttpClient实例 |
|||
try (CloseableHttpClient httpClient = HttpClients.createDefault()) { |
|||
// 创建POST请求 |
|||
HttpPost postRequest = new HttpPost(url); |
|||
postRequest.setHeader("Content-Type", "application/x-www-form-urlencoded"); |
|||
System.out.println(token); |
|||
// 设置请求体参数 |
|||
StringEntity entity = new StringEntity(token, ContentType.APPLICATION_FORM_URLENCODED); |
|||
postRequest.setEntity(entity); |
|||
// 发送请求并获取响应 |
|||
try (CloseableHttpResponse response = httpClient.execute(postRequest)) { |
|||
int responseCode = response.getStatusLine().getStatusCode(); // 获取状态码 |
|||
// 检查响应状态 |
|||
if (responseCode == 200) { |
|||
// 读取响应体 |
|||
String responseBody = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8); |
|||
// 使用Jackson解析JSON响应体 |
|||
ObjectMapper objectMapper = new ObjectMapper(); |
|||
JsonNode jsonResponse = objectMapper.readTree(responseBody); |
|||
JsonNode dataNode = jsonResponse.get("data"); |
|||
TokenDTO tokenDTO = new TokenDTO(); |
|||
tokenDTO.setJwcode(dataNode.get("jwcode").asInt()); |
|||
tokenDTO.setUsername(dataNode.get("username").asText()); |
|||
return tokenDTO; |
|||
} |
|||
else { |
|||
throw new RuntimeException("Failed : HTTP error code : " + responseCode); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
// 获取token中的jwcode |
|||
public Integer getJwcode(String token) throws IOException { |
|||
TokenDTO dto = analysisToken(token); |
|||
return dto.getJwcode(); |
|||
} |
|||
public String getUsername(String token) throws IOException { |
|||
TokenDTO dto = analysisToken(token); |
|||
return dto.getUsername(); |
|||
} |
|||
|
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue