From fbc8d20f0ae2f663e1a13560f314f05b870c998c Mon Sep 17 00:00:00 2001
From: his-uncles-father <88386378@qq.com>
Date: 星期三, 21 四月 2021 16:16:28 +0800
Subject: [PATCH] 合同附件上传

---
 service-front/src/main/java/com/java110/front/controller/CallComponentController.java |   72 +++++++++++++++++++++++++++++++----
 1 files changed, 63 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..13e29f2 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,40 @@
+/*
+ * 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.DateUtil;
+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 +52,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 +62,7 @@
      * 鍓嶅彴璋冪敤api鏂规硶
      * add by wuxw 2020-03-16
      * /callComponent/activities.listActivitiess
+     *
      * @return
      */
 
@@ -51,13 +74,14 @@
         ResponseEntity<String> responseEntity = null;
         String componentCode = "api";
         String componentMethod = "callApi";
+        long startTime = DateUtil.getCurrentDate().getTime();
         try {
             Assert.hasLength(api, "鍙傛暟閿欒锛屾湭浼犲叆api缂栫爜");
 
             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 +115,16 @@
             responseEntity = new ResponseEntity<>(msg, HttpStatus.INTERNAL_SERVER_ERROR);
         } finally {
             logger.debug("api璋冪敤杩斿洖淇℃伅涓簕}", responseEntity);
+            logger.debug(componentCode + "::" + componentCode + "back鑰楁椂锛�" + (DateUtil.getCurrentDate().getTime() - startTime));
+
+            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;
         }
     }
@@ -109,13 +143,16 @@
             //@RequestBody String info,
             HttpServletRequest request) {
         ResponseEntity<String> responseEntity = null;
+        long startTime = DateUtil.getCurrentDate().getTime();
+        logger.debug(componentCode + "::" + componentMethod + "璋冪敤back寮�濮嬶細" + (startTime));
+
         try {
             Assert.hasLength(componentCode, "鍙傛暟閿欒锛屾湭浼犲叆缁勪欢缂栫爜");
             Assert.hasLength(componentMethod, "鍙傛暟閿欒锛屾湭浼犲叆璋冪敤缁勪欢鏂规硶");
 
             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 +186,15 @@
             responseEntity = new ResponseEntity<>(msg, HttpStatus.INTERNAL_SERVER_ERROR);
         } finally {
             logger.debug("缁勪欢璋冪敤杩斿洖淇℃伅涓簕}", responseEntity);
+            logger.debug(componentCode + "::" + componentMethod + "璋冪敤back鑰楁椂锛�" + (DateUtil.getCurrentDate().getTime() - startTime));
+            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 +224,7 @@
 
             pd = freshPageDate(request);
             //鏉冮檺鏍¢獙
-            hasPrivilege(restTemplate, pd, "/" + componentCode + "/" + componentMethod);
+            hasPrivilege(restTemplate, pd, "/callComponent/" + componentCode + "/" + componentMethod);
 
             Object componentInstance = ApplicationContextFactory.getBean(componentCode);
 
@@ -212,6 +258,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 +291,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