From c569069f3202d4694e3b89dee78116d4c67f2331 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期五, 31 七月 2020 13:14:08 +0800
Subject: [PATCH] 优化代码

---
 service-front/src/main/java/com/java110/front/controller/CallComponentController.java |   49 ++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 40 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..fd9ee11 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,24 @@
 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 +36,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 +46,7 @@
      * 鍓嶅彴璋冪敤api鏂规硶
      * add by wuxw 2020-03-16
      * /callComponent/activities.listActivitiess
+     *
      * @return
      */
 
@@ -57,7 +64,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 +98,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 +130,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 +164,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 +201,7 @@
 
             pd = freshPageDate(request);
             //鏉冮檺鏍¢獙
-            hasPrivilege(restTemplate, pd, "/" + componentCode + "/" + componentMethod);
+            hasPrivilege(restTemplate, pd, "/callComponent/" + componentCode + "/" + componentMethod);
 
             Object componentInstance = ApplicationContextFactory.getBean(componentCode);
 
@@ -212,6 +235,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 +268,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