service-api/src/main/java/com/java110/api/smo/impl/ApiServiceSMOImpl.java
@@ -3,7 +3,6 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.api.smo.IApiServiceSMO;
import com.java110.core.smo.ISaveTransactionLogSMO;
import com.java110.core.client.RestTemplate;
import com.java110.core.context.ApiDataFlow;
import com.java110.core.context.DataFlow;
@@ -11,30 +10,24 @@
import com.java110.core.factory.AuthenticationFactory;
import com.java110.core.factory.DataFlowFactory;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.core.log.LoggerFactory;
import com.java110.core.smo.ISaveTransactionLogSMO;
import com.java110.core.trace.Java110TraceLog;
import com.java110.entity.center.AppRoute;
import com.java110.entity.center.AppService;
import com.java110.entity.center.DataFlowLinksCost;
import com.java110.po.transactionLog.TransactionLogPo;
import com.java110.utils.cache.AppRouteCache;
import com.java110.utils.cache.MappingCache;
import com.java110.utils.constant.CommonConstant;
import com.java110.utils.constant.KafkaConstant;
import com.java110.utils.constant.MappingConstant;
import com.java110.utils.constant.ResponseConstant;
import com.java110.utils.constant.ServiceCodeConstant;
import com.java110.utils.exception.BusinessException;
import com.java110.utils.exception.DecryptException;
import com.java110.utils.exception.InitConfigDataException;
import com.java110.utils.exception.ListenerExecuteException;
import com.java110.utils.exception.NoAuthorityException;
import com.java110.utils.exception.SMOException;
import com.java110.utils.constant.*;
import com.java110.utils.exception.*;
import com.java110.utils.kafka.KafkaFactory;
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;
@@ -74,6 +67,7 @@
     * @throws SMOException
     */
    @Override
    @Java110TraceLog
    public ResponseEntity<String> service(String reqJson, Map<String, String> headers) throws SMOException {
        ApiDataFlow dataFlow = null;
@@ -105,17 +99,20 @@
            responseEntity = dataFlow.getResponseEntity();
        } catch (DecryptException e) { //解密异常
            responseEntity = new ResponseEntity<String>("解密异常:" + e.getMessage(), HttpStatus.NON_AUTHORITATIVE_INFORMATION);
            logger.error("内部异常:", e);
            responseEntity = ResultVo.error("解密异常:" + e.getMessage());
        } catch (BusinessException e) {
            responseEntity = new ResponseEntity<String>(e.getMessage(), HttpStatus.BAD_REQUEST);
            logger.error("内部异常:", e);
            responseEntity = ResultVo.error(e.getMessage());
        } catch (NoAuthorityException e) {
            responseEntity = new ResponseEntity<String>("鉴权失败:" + e.getMessage(), HttpStatus.UNAUTHORIZED);
            logger.error("内部异常:", e);
            responseEntity = ResultVo.error("鉴权失败:" + e.getMessage());
        } catch (InitConfigDataException e) {
            responseEntity = new ResponseEntity<String>("初始化失败:" + e.getMessage(), HttpStatus.BAD_REQUEST);
            logger.error("内部异常:", e);
            responseEntity = ResultVo.error("初始化失败:" + e.getMessage());
        } 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());
        } finally {
            Date endDate = DateUtil.getCurrentDate();
            if (dataFlow != null) {
@@ -163,7 +160,7 @@
            return;
        }
        if (StringUtil.isEmpty(logServiceCode)) {
        if (StringUtil.isEmpty(logServiceCode) || "OFF".equals(logServiceCode.toUpperCase())) {
            return;
        }
        if (logServiceCode.contains("|")) {