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()); }