From d8bc08083504bc5d8ba61513ac21ec0f26ba5c8d Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 30 十二月 2020 23:51:23 +0800
Subject: [PATCH] 优化代码

---
 service-front/src/main/java/com/java110/front/controller/CallComponentController.java |   64 +++++++++++++++++++++++++++----
 1 files changed, 55 insertions(+), 9 deletions(-)

diff --git a/service-front/src/main/java/com/java110/front/controller/CallComponentController.java b/service-front/src/main/java/com/java110/front/controller/CallComponentController.java
index 0adfe12..91eed06 100644
--- a/service-front/src/main/java/com/java110/front/controller/CallComponentController.java
+++ b/service-front/src/main/java/com/java110/front/controller/CallComponentController.java
@@ -1,19 +1,39 @@
+/*
+ * 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;
+import com.java110.core.base.controller.BaseController;
+import com.java110.core.context.IPageData;
+import com.java110.core.context.PageData;
 import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.exception.SMOException;
 import com.java110.utils.factory.ApplicationContextFactory;
 import com.java110.utils.util.Assert;
-import com.java110.core.base.controller.BaseController;
-import com.java110.core.context.IPageData;
-import com.java110.core.context.PageData;
+import com.java110.utils.util.StringUtil;
+import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.client.RestTemplate;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -31,7 +51,8 @@
 public class CallComponentController extends BaseController {
 
     private final static Logger logger = LoggerFactory.getLogger(CallComponentController.class);
-
+    private static final String VERSION = "version";
+    private static final String VERSION_2 = "2.0";
     @Autowired
     private RestTemplate restTemplate;
 
@@ -40,6 +61,7 @@
      * 鍓嶅彴璋冪敤api鏂规硶
      * add by wuxw 2020-03-16
      * /callComponent/activities.listActivitiess
+     *
      * @return
      */
 
@@ -57,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);
 
@@ -91,6 +113,14 @@
             responseEntity = new ResponseEntity<>(msg, HttpStatus.INTERNAL_SERVER_ERROR);
         } finally {
             logger.debug("api璋冪敤杩斿洖淇℃伅涓簕}", 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;
         }
     }
@@ -115,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);
 
@@ -149,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;
         }
     }
@@ -178,7 +216,7 @@
 
             pd = freshPageDate(request);
             //鏉冮檺鏍¢獙
-            hasPrivilege(restTemplate, pd, "/" + componentCode + "/" + componentMethod);
+            hasPrivilege(restTemplate, pd, "/callComponent/" + componentCode + "/" + componentMethod);
 
             Object componentInstance = ApplicationContextFactory.getBean(componentCode);
 
@@ -212,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;
         }
     }
@@ -237,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);

--
Gitblit v1.8.0