From ed2e3ff8e29eb2bcfda72b83646dbae51b4e33bc Mon Sep 17 00:00:00 2001 From: wxz Date: Wed, 24 Mar 2021 15:16:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9AApiService=E5=9F=BA?= =?UTF-8?q?=E7=B1=BB=E4=B8=AD=E7=9A=84=E4=B8=80=E4=BA=9B=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E7=9A=84=E5=BC=82=E5=B8=B8=E6=96=87=E6=A1=88=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=9A=E6=94=BE=E5=BC=80=E4=BA=86=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=8C=96=E5=B9=B3=E5=8F=B0=E7=9A=84=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=EF=BC=8C=E5=BC=80=E5=A7=8B=E6=AD=A3=E5=BC=8F=E8=B0=83?= =?UTF-8?q?=E7=94=A8=20=E8=B0=83=E9=80=9A=E4=BA=86=E5=AF=B9=E7=BD=91?= =?UTF-8?q?=E6=A0=BC=E5=8C=96=E5=B9=B3=E5=8F=B0=E7=9A=84=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E4=B8=8A=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/apiservice/ApiService.java | 21 ++++++++++--------- .../epmet/apiservice/impl/DemoApiService.java | 6 ++---- .../impl/LuzhouGridPlatformApiService.java | 21 ++++++++++++------- 3 files changed, 26 insertions(+), 22 deletions(-) diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/ApiService.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/ApiService.java index 7aff23fd7a..ef54d00d93 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/ApiService.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/ApiService.java @@ -1,12 +1,12 @@ package com.epmet.apiservice; +import com.alibaba.fastjson.JSON; +import com.epmet.apiservice.result.LZGridPlatformBaseResult; import com.epmet.dto.result.ProjectAssistResult; import com.epmet.commons.tools.exception.RenException; -import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.SpringContextUtils; -import com.epmet.constant.ThirdPlatformActions; import com.epmet.dao.ThirdplatformActionDao; import com.epmet.dao.ThirdplatformCustomerRegisterDao; import com.epmet.dao.ThirdplatformDao; @@ -15,8 +15,6 @@ import com.epmet.dto.form.TPFDemoFormDTO; import com.epmet.entity.ThirdplatformActionEntity; import com.epmet.entity.ThirdplatformCustomerRegisterEntity; import com.epmet.entity.ThirdplatformEntity; -import org.apache.commons.lang3.StringUtils; -import org.springframework.data.redis.core.RedisTemplate; import java.util.HashMap; import java.util.Map; @@ -77,7 +75,8 @@ public abstract class ApiService { if (result.success()) { throw new RenException("请求第三方平台,获取AccessToken失败。"); } - judgeResultSuccess(result.getData()); + LZGridPlatformBaseResult platformResult = JSON.parseObject(result.getData(), LZGridPlatformBaseResult.class); + judgeResultSuccess(platformResult); return result.getData(); } @@ -110,12 +109,14 @@ public abstract class ApiService { headers); if (result == null) { - throw new RenException("请求第三方平台,获取AccessToken失败。result为null"); + throw new RenException("请求第三方平台,发送Post请求失败。result为null"); } - if (result.success()) { - throw new RenException("请求第三方平台,获取AccessToken失败。"); + if (!result.success()) { + throw new RenException("请求第三方平台,发送Post请求失败。错误信息:" + result.getMsg()); } - judgeResultSuccess(result.getData()); + + LZGridPlatformBaseResult platformResult = JSON.parseObject(result.getData(), LZGridPlatformBaseResult.class); + judgeResultSuccess(platformResult); return result.getData(); } @@ -165,5 +166,5 @@ public abstract class ApiService { * @author wxz * @date 2021.03.22 10:32 */ - public abstract void judgeResultSuccess(String stringData); + public abstract void judgeResultSuccess(LZGridPlatformBaseResult result); } diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/impl/DemoApiService.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/impl/DemoApiService.java index 1a1e00cd4e..63f718a0d5 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/impl/DemoApiService.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/impl/DemoApiService.java @@ -1,6 +1,7 @@ package com.epmet.apiservice.impl; import com.epmet.apiservice.ApiService; +import com.epmet.apiservice.result.LZGridPlatformBaseResult; import com.epmet.dto.result.ProjectAssistResult; import com.epmet.dto.form.ProjectApplyAssistFormDTO; import com.epmet.feign.OperCrmOpenFeignClient; @@ -17,9 +18,6 @@ public class DemoApiService extends ApiService { Logger logger = LoggerFactory.getLogger(DemoApiService.class); - @Autowired - private OperCrmOpenFeignClient operCrmOpenFeignClient; - @Override public String getAccessToken(String platformId) { return null; @@ -32,7 +30,7 @@ public class DemoApiService extends ApiService { } @Override - public void judgeResultSuccess(String stringData) { + public void judgeResultSuccess(LZGridPlatformBaseResult result) { } } diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/impl/LuzhouGridPlatformApiService.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/impl/LuzhouGridPlatformApiService.java index 026b40654d..25586f743a 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/impl/LuzhouGridPlatformApiService.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/impl/LuzhouGridPlatformApiService.java @@ -45,14 +45,19 @@ public class LuzhouGridPlatformApiService extends ApiService { params.put("appKey", platformKey); params.put("appSecret", platformSecret); Result result = HttpClientManager.getInstance().sendGet(baseUrl.concat(actionEntity.getApiUrl()), params); + if (result == null) { throw new RenException("请求第三方平台,获取AccessToken失败。result为null"); } + if (!result.success()) { throw new RenException("请求第三方平台,获取AccessToken失败。"); } - judgeResultSuccess(result.getData()); - token = result.getData(); + + LZGridPlatformBaseResult platformResult = JSON.parseObject(result.getData(), LZGridPlatformBaseResult.class); + judgeResultSuccess(platformResult); + + token = platformResult.getResult(); rt.opsForValue().set(RedisKeys.getThirdPlatformAccessTokenKey(platformId), token); } return token; @@ -63,28 +68,28 @@ public class LuzhouGridPlatformApiService extends ApiService { String platformId = formDTO.getPlatformId(); // 正式调用第三方平台 - //String result1 = sendPostRequest(platformId, ThirdPlatformActions.PROJECT_ASSIST, "{}", null); + String argsStr = JSON.toJSONString(formDTO); + String result = sendPostRequest(platformId, ThirdPlatformActions.PROJECT_ASSIST, argsStr, null); // 开发阶段临时写死 - String result = "{\"eventId\":\"test-task-id\"}"; + //String result = "{\"eventId\":\"test-task-id\"}"; ProjectAssistResult projectAssistResult = new ProjectAssistResult(); if (!StringUtils.isBlank(result)) { // 此处要经过一系列业务处理,将第三方平台返回的数据进行解析,等处理最后转换成ProjectAssistResult类型,返回。ProjectAssistResult这个类型是 // 所有apiService的projectAssist方法返回值的统一类型,是我们的epmet-cloud所需要的数据的实体, // 所有apiService都要想办法转化成这个类型。 - LZGridPlatformProjectAssistResult lzResult = JSON.parseObject(result, LZGridPlatformProjectAssistResult.class); + LZGridPlatformBaseResult lzResult = JSON.parseObject(result, LZGridPlatformBaseResult.class); // 此处设置为第三方系统返回的唯一id - projectAssistResult.setTaskId(lzResult.getEventId()); + projectAssistResult.setTaskId(lzResult.getResult()); } System.out.println("泸州网格化平台项目协助发送成功"); return projectAssistResult; } @Override - public void judgeResultSuccess(String stringData) { + public void judgeResultSuccess(LZGridPlatformBaseResult result) { //LZGridPlatformBaseResult; - LZGridPlatformBaseResult result = JSON.parseObject(stringData, LZGridPlatformBaseResult.class); if (!"200".equalsIgnoreCase(result.getCode())) { throw new RenException("泸州网格化平台:返回失败结果,错误码:" + result.getCode()); }