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