diff --git a/epmet-module/epmet-third-platform/epmet-third-platform-server/pom.xml b/epmet-module/epmet-third-platform/epmet-third-platform-server/pom.xml
index 2ca9cbae36..aa7bc1f05f 100644
--- a/epmet-module/epmet-third-platform/epmet-third-platform-server/pom.xml
+++ b/epmet-module/epmet-third-platform/epmet-third-platform-server/pom.xml
@@ -100,7 +100,6 @@
4.3.1
-
org.springframework.boot
spring-boot-starter-test
diff --git a/epmet-module/epmet-third-platform/epmet-third-platform-server/src/main/java/com/epmet/constant/ModuleConstant.java b/epmet-module/epmet-third-platform/epmet-third-platform-server/src/main/java/com/epmet/constant/ModuleConstant.java
index 4e220ae7d7..8758c9a05a 100644
--- a/epmet-module/epmet-third-platform/epmet-third-platform-server/src/main/java/com/epmet/constant/ModuleConstant.java
+++ b/epmet-module/epmet-third-platform/epmet-third-platform-server/src/main/java/com/epmet/constant/ModuleConstant.java
@@ -42,6 +42,10 @@ public interface ModuleConstant {
String TICKET_REDIS_KEY = "epmet:wechartthird:componentverifyticket";
+ String PRE_AUTH_CODE_REDIS_KEY = "epmet:wechartthird:preauthcode";
+
+ String ACCESS_TOKEN_REDIS_KEY = "epmet:wechartthird:preauthcode";
+
}
diff --git a/epmet-module/epmet-third-platform/epmet-third-platform-server/src/main/java/com/epmet/redis/RedisThird.java b/epmet-module/epmet-third-platform/epmet-third-platform-server/src/main/java/com/epmet/redis/RedisThird.java
index 9ba6820911..678d86f1d0 100644
--- a/epmet-module/epmet-third-platform/epmet-third-platform-server/src/main/java/com/epmet/redis/RedisThird.java
+++ b/epmet-module/epmet-third-platform/epmet-third-platform-server/src/main/java/com/epmet/redis/RedisThird.java
@@ -17,29 +17,52 @@ import java.util.concurrent.TimeUnit;
@Component
public class RedisThird {
- @Autowired
- private RedisUtils redisUtils;
@Autowired
private RedisTemplate redisTemplate;
+ /**
+ * @Description 缓存 component_access_token 有效期:2H
+ * @param accessToken
+ * @author zxc
+ */
public void setComponentAccessToken (String accessToken){
- redisTemplate.opsForValue().set(ModuleConstant.COMPONENT_ACCESS_TOKEN, accessToken, 60 * 60 * 2, TimeUnit.SECONDS);
+ redisTemplate.opsForValue().set(ModuleConstant.ACCESS_TOKEN_REDIS_KEY+ModuleConstant.COMPONENT_ACCESS_TOKEN, accessToken, 60 * 60 * 2, TimeUnit.SECONDS);
}
+ /**
+ * @Description 获取 component_access_token
+ * @param key
+ * @author zxc
+ */
public String getComponentAccessToken(String key){
- return redisTemplate.opsForValue().get(key).toString();
+ return redisTemplate.opsForValue().get(ModuleConstant.ACCESS_TOKEN_REDIS_KEY+key).toString();
}
+ /**
+ * @Description 获取 component_verify_ticket
+ * @param key
+ * @author zxc
+ */
public String getComponentVerifyTicket(String key){
- return redisTemplate.opsForValue().get(key).toString();
+ return redisTemplate.opsForValue().get(ModuleConstant.TICKET_REDIS_KEY+ModuleConstant.TICKET_REDIS_KEY+key).toString();
}
+ /**
+ * @Description 缓存 component_verify_ticket 有效期:10min
+ * @param verifyTicket
+ * @author zxc
+ */
public void setComponentVerifyTicket(String verifyTicket){
redisTemplate.opsForValue().set(ModuleConstant.TICKET_REDIS_KEY+ModuleConstant.TICKET_UNDERLINE_KEY, verifyTicket, 60 * 10, TimeUnit.SECONDS);
}
+ /**
+ * @Description 缓存 pre_auth_code 有效期:10min
+ * @param authCode
+ * @author zxc
+ */
public void setPreAuthCode(String authCode){
- redisTemplate.opsForValue().set(ModuleConstant.PRE_AUTH_CODE, authCode, 60 * 10, TimeUnit.SECONDS);
+ redisTemplate.opsForValue().set(ModuleConstant.PRE_AUTH_CODE_REDIS_KEY+ModuleConstant.PRE_AUTH_CODE, authCode, 60 * 10, TimeUnit.SECONDS);
}
}
diff --git a/epmet-module/epmet-third-platform/epmet-third-platform-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java b/epmet-module/epmet-third-platform/epmet-third-platform-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java
index 782fabfac7..7637c4af1c 100644
--- a/epmet-module/epmet-third-platform/epmet-third-platform-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java
+++ b/epmet-module/epmet-third-platform/epmet-third-platform-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java
@@ -2,14 +2,13 @@ package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.constant.ModuleConstant;
import com.epmet.constant.ThirdPlatformConstant;
-import com.epmet.dto.form.ThirdPlatformEventFormDTO;
import com.epmet.dto.form.WeChatPlatformAuthCodeFormDTO;
import com.epmet.exception.AesException;
import com.epmet.redis.RedisThird;
import com.epmet.service.ComponentVerifyTicketService;
+import com.epmet.util.OkHttpHelper;
import com.epmet.util.WXBizMsgCrypt;
import com.epmet.util.WXXmlToMapUtil;
import lombok.extern.slf4j.Slf4j;
@@ -18,6 +17,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
@@ -33,6 +33,8 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe
@Autowired
private RedisThird redisThird;
+ @Autowired
+ private OkHttpHelper okHttpHelper;
/**
* @Description 获得授权事件的票据
@@ -77,9 +79,8 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe
jsonObject.put(ModuleConstant.COMPONENT_APPID, PLATFORM_APP_ID);
jsonObject.put(ModuleConstant.COMPONENT_APPSECRET, PLATFORM_APP_SECRET);
jsonObject.put(ModuleConstant.TICKET_UNDERLINE_KEY, componentVerifyTicket);
-// String post = OkHttpHelper.post(API_COMPONENT_TOKEN_URl, JSON.toJSONString(jsonObject));
- String post = null;
- log.info("====================返回post结果:" + post);
+ // todo OkHttpHelper 无法引入
+ String post = okHttpHelper.post(API_COMPONENT_TOKEN_URl, JSON.toJSONString(jsonObject));
HashMap hashMap = JSON.parseObject(post, HashMap.class);
String componentAccessToken = hashMap.get(ModuleConstant.COMPONENT_ACCESS_TOKEN);
if (StringUtils.isNotEmpty(componentAccessToken)) {
@@ -102,18 +103,15 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe
public void preAuthCode() {
log.info("====================开始执行定时任务获取预授权码【pre_auth_code】====================");
try {
-// String accessToken = redisTemplate.opsForValue().get(ModuleConstant.COMPONENT_ACCESS_TOKEN).toString();
String accessToken = redisThird.getComponentAccessToken(ModuleConstant.COMPONENT_ACCESS_TOKEN);
JSONObject jsonObject = new JSONObject();
jsonObject.put(ModuleConstant.COMPONENT_APPID, PLATFORM_APP_ID);
-// String post = OkHttpHelper.post(API_CREATE_PREAUTHCODE_URL + accessToken, JSON.toJSONString(jsonObject));
- String post = null;
+ String post = okHttpHelper.post(API_CREATE_PREAUTHCODE_URL + accessToken, JSON.toJSONString(jsonObject));
log.info("====================返回post结果:" + post);
HashMap hashMap = JSON.parseObject(post, HashMap.class);
String authCode = hashMap.get("pre_auth_code");
if (StringUtils.isNotEmpty(authCode)) {
redisThird.setPreAuthCode(authCode);
-// redisTemplate.opsForValue().set("pre_auth_code", authCode, 60 * 10, TimeUnit.SECONDS);
} else {
throw new RuntimeException("微信开放平台,第三方平台获取【预授权码】失败");
}
@@ -133,7 +131,11 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe
JSONObject jsonObject = new JSONObject();
jsonObject.put(ModuleConstant.COMPONENT_APPID, PLATFORM_APP_ID);
jsonObject.put(ModuleConstant.AUTHORIZATION_CODE, authCode);
-// String post = OkHttpHelper.post(API_QUERY_AUTH_URL + accessToken, JSON.toJSONString(jsonObject));
+ try {
+ String post = okHttpHelper.post(API_QUERY_AUTH_URL + accessToken, JSON.toJSONString(jsonObject));
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
// 重定向地址
// response.sendRedirect("/wechat/authcode");
}
diff --git a/epmet-module/epmet-third-platform/epmet-third-platform-server/src/main/java/com/epmet/util/OkHttpHelper.java b/epmet-module/epmet-third-platform/epmet-third-platform-server/src/main/java/com/epmet/util/OkHttpHelper.java
new file mode 100644
index 0000000000..0c11244db8
--- /dev/null
+++ b/epmet-module/epmet-third-platform/epmet-third-platform-server/src/main/java/com/epmet/util/OkHttpHelper.java
@@ -0,0 +1,30 @@
+package com.epmet.util;
+
+import okhttp3.*;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+
+/**
+ * @Author zxc
+ * @CreateTime 2020/7/7 17:39
+ */
+@Component
+public class OkHttpHelper {
+
+ public static final MediaType JSON = MediaType.get("application/json; charset=utf-8");
+
+ OkHttpClient client = new OkHttpClient();
+
+ public String post(String url, String json) throws IOException {
+ RequestBody body = RequestBody.create(JSON, json);
+ Request request = new Request.Builder()
+ .url(url)
+ .post(body)
+ .build();
+ try (Response response = client.newCall(request).execute()) {
+ return response.body().string();
+ }
+ }
+
+}