java110
2020-12-30 d8bc08083504bc5d8ba61513ac21ec0f26ba5c8d
service-front/src/main/java/com/java110/front/controller/CallComponentController.java
@@ -1,3 +1,18 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.front.controller;
import com.alibaba.fastjson.JSONObject;
@@ -64,7 +79,7 @@
            IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
            pd.setApiUrl("/api/" + api);
            //权限校验
            hasPrivilege(restTemplate, pd, "/" + api);
            hasPrivilege(restTemplate, pd, "/callComponent/" + api);
            Object componentInstance = ApplicationContextFactory.getBean(componentCode);
@@ -130,7 +145,7 @@
            IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
            //权限校验
            hasPrivilege(restTemplate, pd, "/" + componentCode + "/" + componentMethod);
            hasPrivilege(restTemplate, pd, "/callComponent/" + componentCode + "/" + componentMethod);
            Object componentInstance = ApplicationContextFactory.getBean(componentCode);
@@ -164,6 +179,14 @@
            responseEntity = new ResponseEntity<>(msg, HttpStatus.INTERNAL_SERVER_ERROR);
        } finally {
            logger.debug("组件调用返回信息为{}", responseEntity);
            if (responseEntity.getStatusCode() == HttpStatus.OK) {
                return responseEntity;
            }
            String version = request.getParameter(VERSION);
            //当 接口版本号为2.0时 返回错误处理
            if (!StringUtil.isEmpty(version) && VERSION_2.equals(version)) {
                return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, responseEntity.getBody());
            }
            return responseEntity;
        }
    }
@@ -193,7 +216,7 @@
            pd = freshPageDate(request);
            //权限校验
            hasPrivilege(restTemplate, pd, "/" + componentCode + "/" + componentMethod);
            hasPrivilege(restTemplate, pd, "/callComponent/" + componentCode + "/" + componentMethod);
            Object componentInstance = ApplicationContextFactory.getBean(componentCode);
@@ -227,6 +250,14 @@
            responseEntity = new ResponseEntity<>(msg, HttpStatus.INTERNAL_SERVER_ERROR);
        } finally {
            logger.debug("组件调用返回信息为{}", responseEntity);
            if (responseEntity.getStatusCode() == HttpStatus.OK) {
                return responseEntity;
            }
            String version = request.getParameter(VERSION);
            //当 接口版本号为2.0时 返回错误处理
            if (!StringUtil.isEmpty(version) && VERSION_2.equals(version)) {
                return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, responseEntity.getBody());
            }
            return responseEntity;
        }
    }
@@ -252,7 +283,7 @@
            Assert.hasLength(componentMethod, "参数错误,未传入调用组件方法");
            pd = freshPageDate(request);
            hasPrivilege(restTemplate, pd, "/" + componentCode + "/" + componentMethod);
            hasPrivilege(restTemplate, pd, "/callComponent/download/" + componentCode + "/" + componentMethod);
            Object componentInstance = ApplicationContextFactory.getBean(componentCode);