From efe77734d4e0f19bdf385e57c18f3be6e4276f94 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期六, 28 十二月 2019 18:47:16 +0800
Subject: [PATCH] 加入头信息日志

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

diff --git a/java110-front/src/main/java/com/java110/front/controller/CallComponentController.java b/java110-front/src/main/java/com/java110/front/controller/CallComponentController.java
index 3ee37ee..a79d1d6 100644
--- a/java110-front/src/main/java/com/java110/front/controller/CallComponentController.java
+++ b/java110-front/src/main/java/com/java110/front/controller/CallComponentController.java
@@ -10,9 +10,11 @@
 import com.java110.core.context.PageData;
 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.client.RestTemplate;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
@@ -29,6 +31,9 @@
 public class CallComponentController extends BaseController {
 
     private final static Logger logger = LoggerFactory.getLogger(CallComponentController.class);
+
+    @Autowired
+    private RestTemplate restTemplate;
 
     /**
      * 璋冪敤缁勪欢鏂规硶
@@ -47,6 +52,10 @@
             Assert.hasLength(componentCode, "鍙傛暟閿欒锛屾湭浼犲叆缁勪欢缂栫爜");
             Assert.hasLength(componentMethod, "鍙傛暟閿欒锛屾湭浼犲叆璋冪敤缁勪欢鏂规硶");
 
+            IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
+            //鏉冮檺鏍¢獙
+            hasPrivilege(restTemplate, pd, "/" + componentCode + "/" + componentMethod);
+
             Object componentInstance = ApplicationContextFactory.getBean(componentCode);
 
             Assert.notNull(componentInstance, "鏈壘鍒扮粍浠跺搴旂殑澶勭悊绫伙紝璇风‘璁� " + componentCode);
@@ -55,7 +64,6 @@
 
             Assert.notNull(cMethod, "鏈壘鍒扮粍浠跺搴斿鐞嗙被鐨勬柟娉曪紝璇风‘璁� " + componentCode + "鏂规硶锛�" + componentMethod);
 
-            IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
 
             logger.debug("缁勪欢缂栫爜{}锛岀粍浠舵柟娉晎}锛宲d 涓簕}", componentCode, componentMethod, pd.toString());
 
@@ -107,6 +115,10 @@
             Assert.hasLength(componentCode, "鍙傛暟閿欒锛屾湭浼犲叆缁勪欢缂栫爜");
             Assert.hasLength(componentMethod, "鍙傛暟閿欒锛屾湭浼犲叆璋冪敤缁勪欢鏂规硶");
 
+            pd = freshPageDate(request);
+            //鏉冮檺鏍¢獙
+            hasPrivilege(restTemplate, pd, "/" + componentCode + "/" + componentMethod);
+
             Object componentInstance = ApplicationContextFactory.getBean(componentCode);
 
             Assert.notNull(componentInstance, "鏈壘鍒扮粍浠跺搴旂殑澶勭悊绫伙紝璇风‘璁� " + componentCode);
@@ -114,19 +126,19 @@
             Method cMethod = componentInstance.getClass().getDeclaredMethod(componentMethod, IPageData.class, MultipartFile.class);
 
             Assert.notNull(cMethod, "鏈壘鍒扮粍浠跺搴斿鐞嗙被鐨勬柟娉曪紝璇风‘璁� " + componentCode + "鏂规硶锛�" + componentMethod);
-            pd = freshPageDate(request);
+
 
             logger.debug("缁勪欢缂栫爜{}锛岀粍浠舵柟娉晎}锛宲d 涓簕}", componentCode, componentMethod, pd.toString());
 
             responseEntity = (ResponseEntity<String>) cMethod.invoke(componentInstance, pd, uploadFile);
 
         } catch (SMOException e) {
-            logger.error("缁勪欢杩愯寮傚父",e);
+            logger.error("缁勪欢杩愯寮傚父", e);
             /*MultiValueMap<String, String> headers = new HttpHeaders();
             headers.add("code", e.getResult().getCode());*/
             responseEntity = new ResponseEntity<>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
         } catch (Exception e) {
-            logger.error("缁勪欢杩愯寮傚父",e);
+            logger.error("缁勪欢杩愯寮傚父", e);
             String msg = "";
             if (e instanceof InvocationTargetException) {
                 Throwable targetEx = ((InvocationTargetException) e).getTargetException();
@@ -162,6 +174,10 @@
         try {
             Assert.hasLength(componentCode, "鍙傛暟閿欒锛屾湭浼犲叆缁勪欢缂栫爜");
             Assert.hasLength(componentMethod, "鍙傛暟閿欒锛屾湭浼犲叆璋冪敤缁勪欢鏂规硶");
+            pd = freshPageDate(request);
+
+            hasPrivilege(restTemplate, pd, "/" + componentCode + "/" + componentMethod);
+
 
             Object componentInstance = ApplicationContextFactory.getBean(componentCode);
 
@@ -170,14 +186,13 @@
             Method cMethod = componentInstance.getClass().getDeclaredMethod(componentMethod, IPageData.class);
 
             Assert.notNull(cMethod, "鏈壘鍒扮粍浠跺搴斿鐞嗙被鐨勬柟娉曪紝璇风‘璁� " + componentCode + "鏂规硶锛�" + componentMethod);
-            pd = freshPageDate(request);
             responseEntity = (ResponseEntity<Object>) cMethod.invoke(componentInstance, pd);
 
         } catch (SMOException e) {
-            logger.error("缁勪欢杩愯寮傚父",e);
+            logger.error("缁勪欢杩愯寮傚父", e);
             responseEntity = new ResponseEntity<Object>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
         } catch (Exception e) {
-            logger.error("缁勪欢杩愯寮傚父",e);
+            logger.error("缁勪欢杩愯寮傚父", e);
             String msg = "";
             if (e instanceof InvocationTargetException) {
                 Throwable targetEx = ((InvocationTargetException) e).getTargetException();
@@ -220,10 +235,17 @@
             reqData = paramObj.toJSONString();
         }
 
-        IPageData newPd = PageData.newInstance().builder(pd.getUserId(), pd.getToken(),
-                reqData, pd.getComponentCode(), pd.getComponentMethod(), "", pd.getSessionId(),"");
+        IPageData newPd = PageData.newInstance().builder(pd.getUserId(),pd.getUserName(), pd.getToken(),
+                reqData, pd.getComponentCode(), pd.getComponentMethod(), "", pd.getSessionId(), "");
         return newPd;
     }
 
 
+    public RestTemplate getRestTemplate() {
+        return restTemplate;
+    }
+
+    public void setRestTemplate(RestTemplate restTemplate) {
+        this.restTemplate = restTemplate;
+    }
 }

--
Gitblit v1.8.0