From 28e7d3937f819a3486b22bfa1c84aee172aaccb4 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 17 一月 2022 17:46:42 +0800
Subject: [PATCH] 优化代码

---
 service-api/src/main/java/com/java110/api/smo/impl/ApiServiceSMOImpl.java |   48 +++++++++++++++++++++++++++++++-----------------
 1 files changed, 31 insertions(+), 17 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/smo/impl/ApiServiceSMOImpl.java b/service-api/src/main/java/com/java110/api/smo/impl/ApiServiceSMOImpl.java
old mode 100644
new mode 100755
index 9a3050e..2abdef8
--- a/service-api/src/main/java/com/java110/api/smo/impl/ApiServiceSMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/smo/impl/ApiServiceSMOImpl.java
@@ -3,6 +3,8 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.smo.IApiServiceSMO;
+import com.java110.core.log.LoggerFactory;
+import com.java110.core.smo.ISaveTransactionLogSMO;
 import com.java110.core.client.RestTemplate;
 import com.java110.core.context.ApiDataFlow;
 import com.java110.core.context.DataFlow;
@@ -13,10 +15,8 @@
 import com.java110.entity.center.AppRoute;
 import com.java110.entity.center.AppService;
 import com.java110.entity.center.DataFlowLinksCost;
-import com.java110.intf.common.ITransactionLogInnerServiceSMO;
 import com.java110.po.transactionLog.TransactionLogPo;
 import com.java110.utils.cache.AppRouteCache;
-import com.java110.utils.cache.CommonCache;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.constant.KafkaConstant;
@@ -33,13 +33,12 @@
 import com.java110.utils.log.LoggerEngine;
 import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.StringUtil;
+import com.java110.vo.ResultVo;
 import org.apache.commons.lang3.math.NumberUtils;
 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.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
@@ -64,7 +63,7 @@
     private RestTemplate outRestTemplate;
 
     @Autowired
-    private ITransactionLogInnerServiceSMO transactionLogInnerServiceSMOImpl;
+    private ISaveTransactionLogSMO saveTransactionLogSMOImpl;
 
 
     /**
@@ -107,17 +106,16 @@
             responseEntity = dataFlow.getResponseEntity();
 
         } catch (DecryptException e) { //瑙e瘑寮傚父
-            responseEntity = new ResponseEntity<String>("瑙e瘑寮傚父锛�" + e.getMessage(), HttpStatus.NON_AUTHORITATIVE_INFORMATION);
+            responseEntity = ResultVo.error("瑙e瘑寮傚父锛�" + e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
         } catch (BusinessException e) {
-            responseEntity = new ResponseEntity<String>(e.getMessage(), HttpStatus.BAD_REQUEST);
+            responseEntity = ResultVo.error(e.getMessage(),HttpStatus.BAD_REQUEST);
         } catch (NoAuthorityException e) {
-            responseEntity = new ResponseEntity<String>("閴存潈澶辫触锛�" + e.getMessage(), HttpStatus.UNAUTHORIZED);
+            responseEntity = ResultVo.error("閴存潈澶辫触锛�" + e.getMessage(),HttpStatus.UNAUTHORIZED);
         } catch (InitConfigDataException e) {
-            responseEntity = new ResponseEntity<String>("鍒濆鍖栧け璐ワ細" + e.getMessage(), HttpStatus.BAD_REQUEST);
+            responseEntity = ResultVo.error("鍒濆鍖栧け璐ワ細" + e.getMessage(), HttpStatus.BAD_REQUEST);
         } catch (Exception e) {
             logger.error("鍐呴儴寮傚父锛�", e);
-            responseEntity = new ResponseEntity<String>("鍐呴儴寮傚父锛�" + e.getMessage() + e.getLocalizedMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
-
+            responseEntity = ResultVo.error("鍐呴儴寮傚父锛�" + e.getMessage() + e.getLocalizedMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
         } finally {
             Date endDate = DateUtil.getCurrentDate();
             if (dataFlow != null) {
@@ -134,10 +132,8 @@
             //娣诲姞鑰楁椂
             saveLog(dataFlow, startDate, endDate, reqJson, responseEntity);
             //杩欓噷淇濆瓨鑰楁椂锛屼互鍙婃棩蹇�
-            return responseEntity;
-
         }
-
+        return responseEntity;
     }
 
     /**
@@ -156,6 +152,16 @@
         String serviceCode = dataFlow.getRequestHeaders().get(CommonConstant.HTTP_SERVICE);
 
         String logServiceCode = MappingCache.getValue(MappingCache.LOG_SERVICE_CODE);
+
+        //鏃ュ織鏌ヨ涓嶈褰�
+        if ("/transactionLog/queryTransactionLog".equals(serviceCode)
+                || "/transactionLog/queryTransactionLogMessage".equals(serviceCode)
+                || "file.getFile".equals(serviceCode)
+                || "file.getFileByObjId".equals(serviceCode)
+                || "/machine/heartbeat".equals(serviceCode) // 蹇冭烦涔熶笉璁板綍
+        ) {
+            return;
+        }
 
         if (StringUtil.isEmpty(logServiceCode)) {
             return;
@@ -181,7 +187,7 @@
         }
     }
 
-    @Async
+
     private void doSaveLog(ApiDataFlow dataFlow, Date startDate, Date endDate, String serviceCode, String reqJson, ResponseEntity<String> responseEntity) {
 
         TransactionLogPo transactionLogPo = new TransactionLogPo();
@@ -190,7 +196,7 @@
         transactionLogPo.setIp("");
         transactionLogPo.setServiceCode(serviceCode);
         transactionLogPo.setSrcIp(dataFlow.getRequestHeaders().get(CommonConstant.HTTP_SRC_IP));
-        transactionLogPo.setState(responseEntity.getStatusCode() != HttpStatus.OK ? "S" : "F");
+        transactionLogPo.setState(responseEntity.getStatusCode() != HttpStatus.OK ? "F" : "S");
         transactionLogPo.setTimestamp(dataFlow.getRequestTime());
         transactionLogPo.setUserId(dataFlow.getUserId());
         transactionLogPo.setTransactionId(dataFlow.getTransactionId());
@@ -198,7 +204,7 @@
         transactionLogPo.setResponseHeader(responseEntity.getHeaders().toSingleValueMap().toString());
         transactionLogPo.setRequestMessage(reqJson);
         transactionLogPo.setResponseMessage(responseEntity.getBody());
-        transactionLogInnerServiceSMOImpl.saveTransactionLog(transactionLogPo);
+        saveTransactionLogSMOImpl.saveLog(transactionLogPo);
     }
 
 
@@ -383,6 +389,14 @@
                         "鏈嶅姟銆�" + appService.getServiceCode() + "銆戣皟鐢ㄦ柟寮忎笉瀵硅妫�鏌�,褰撳墠璇锋眰鏂瑰紡涓猴細" + httpMethod);
             }
             dataFlow.setApiCurrentService(ServiceCodeConstant.SERVICE_CODE_SYSTEM_TRANSFER);
+        } else if ("CMD".equals(appService.getIsInstance())) {
+            //濡傛灉鏄�忎紶绫� 璇锋眰鏂瑰紡蹇呴』涓庢帴鍙f彁渚涙柟璋冪敤鏂瑰紡涓�鑷�
+            String httpMethod = dataFlow.getRequestCurrentHeaders().get(CommonConstant.HTTP_METHOD);
+            if (!appService.getMethod().equals(httpMethod)) {
+                throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR,
+                        "鏈嶅姟銆�" + appService.getServiceCode() + "銆戣皟鐢ㄦ柟寮忎笉瀵硅妫�鏌�,褰撳墠璇锋眰鏂瑰紡涓猴細" + httpMethod);
+            }
+            dataFlow.setApiCurrentService(ServiceCodeConstant.SERVICE_CODE_SYSTEM_CMD);
         } else {
             dataFlow.setApiCurrentService(dataFlow.getRequestHeaders().get(CommonConstant.HTTP_SERVICE));
         }

--
Gitblit v1.8.0