From a94a22dc486386011e14ca9d46f7689e3b2652cb Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 23 Oct 2020 13:57:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E8=B0=83=E5=90=8E=E9=97=A8=E5=A4=96?= =?UTF-8?q?=E9=83=A8=E8=B0=83=E7=94=A8=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backdoor/BackDoorController.java | 20 +++++++++++++++---- .../service/backdoor/BackDoorService.java | 4 +--- .../backdoor/impl/BackDoorServiceImpl.java | 20 +++++++++---------- 3 files changed, 26 insertions(+), 18 deletions(-) diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/backdoor/BackDoorController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/backdoor/BackDoorController.java index 883f904a8f..5da98ec9c7 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/backdoor/BackDoorController.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/backdoor/BackDoorController.java @@ -1,6 +1,5 @@ package com.epmet.datareport.controller.backdoor; -import com.epmet.commons.tools.utils.Result; import com.epmet.datareport.service.backdoor.BackDoorService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -16,9 +15,22 @@ public class BackDoorController { @Autowired private BackDoorService backDoorService; - @PostMapping("backdoor") - public Object backDoor(@RequestHeader("Data-Type")String dataType, @RequestHeader("AppId")String appId, @RequestHeader("target")String target, @RequestBody(required = false) Object o){ - return backDoorService.backDoor(dataType,appId,target,o); + /** + * desc: 重定向到target 方法,适用于外部鉴权接口的查询 比如大屏的查询接口 + * + * @param dataType + * @param appId + * @param target + * @param targetParam + * @return java.lang.String + * @author LiuJanJun + * @date 2020/10/23 1:44 下午 + */ + @PostMapping("redirect/external") + public String backDoor(@RequestHeader(value = "Data-Type", defaultValue = "real", required = false) String dataType, + @RequestHeader("AppId") String appId, @RequestHeader("target") String target, + @RequestBody(required = false) String targetParam) { + return backDoorService.redirect(dataType, appId, target, targetParam); } } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/backdoor/BackDoorService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/backdoor/BackDoorService.java index 6fba40f564..ecb40a843e 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/backdoor/BackDoorService.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/backdoor/BackDoorService.java @@ -1,13 +1,11 @@ package com.epmet.datareport.service.backdoor; -import com.epmet.commons.tools.utils.Result; - /** * @Author zxc * @DateTime 2020/10/21 5:17 下午 */ public interface BackDoorService { - Object backDoor(String dataType, String appId, String target, Object o); + String redirect(String dataType, String appId, String target, String o); } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/backdoor/impl/BackDoorServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/backdoor/impl/BackDoorServiceImpl.java index eed2603ede..9a10e683c8 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/backdoor/impl/BackDoorServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/backdoor/impl/BackDoorServiceImpl.java @@ -1,11 +1,10 @@ package com.epmet.datareport.service.backdoor.impl; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.commons.tools.utils.Result; -import com.epmet.datareport.constant.*; +import com.epmet.datareport.constant.FactConstant; import com.epmet.datareport.service.backdoor.BackDoorService; import com.epmet.dto.result.AppIdInfoResultDTO; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; @@ -28,24 +27,23 @@ public class BackDoorServiceImpl implements BackDoorService { private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; @Override - public Object backDoor(String dataType, String appId, String target, Object o) { + public String redirect(String dataType, String appId, String target, String targetParam) { Result appIdInfoResultDTOResult = commonServiceOpenFeignClient.appIdInfo(appId); - if (!appIdInfoResultDTOResult.success()){ + if (!appIdInfoResultDTOResult.success()) { throw new RenException("获取accessToken失败......"); } AppIdInfoResultDTO data = appIdInfoResultDTOResult.getData(); String url = FactConstant.URL.concat(target); - Map headerMap = new HashMap<>(16); - headerMap.put("AccessToken",data.getAccessToken()); - headerMap.put("AppId",data.getAppId()); - headerMap.put("AuthType","jwt"); + Map headerMap = new HashMap<>(16); + headerMap.put("AccessToken", data.getAccessToken()); + headerMap.put("AppId", data.getAppId()); + headerMap.put("AuthType", "jwt"); headerMap.put("Data-Type",dataType); - Result stringResult = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(o),headerMap); + Result stringResult = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, targetParam, headerMap); log.info(JSON.toJSONString(stringResult)); if (!stringResult.success()){ throw new RenException("请求【"+url+"】失败......"+stringResult.error()); } - JSONObject jsonObject = JSON.parseObject(stringResult.getData()); - return jsonObject; + return stringResult.getData(); } }