java110
2021-01-26 ec2cdff4c51bcbd8017ba04c801df27c4d2eb6c8
service-api/src/main/java/com/java110/api/smo/impl/ApiServiceSMOImpl.java
@@ -3,6 +3,7 @@
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;
@@ -13,10 +14,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;
@@ -39,7 +38,6 @@
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 +62,7 @@
    private RestTemplate outRestTemplate;
    @Autowired
    private ITransactionLogInnerServiceSMO transactionLogInnerServiceSMOImpl;
    private ISaveTransactionLogSMO saveTransactionLogSMOImpl;
    /**
@@ -157,6 +155,15 @@
        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)
        ) {
            return;
        }
        if (StringUtil.isEmpty(logServiceCode)) {
            return;
        }
@@ -181,7 +188,7 @@
        }
    }
    @Async
    private void doSaveLog(ApiDataFlow dataFlow, Date startDate, Date endDate, String serviceCode, String reqJson, ResponseEntity<String> responseEntity) {
        TransactionLogPo transactionLogPo = new TransactionLogPo();
@@ -190,7 +197,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 +205,7 @@
        transactionLogPo.setResponseHeader(responseEntity.getHeaders().toSingleValueMap().toString());
        transactionLogPo.setRequestMessage(reqJson);
        transactionLogPo.setResponseMessage(responseEntity.getBody());
        transactionLogInnerServiceSMOImpl.saveTransactionLog(transactionLogPo);
        saveTransactionLogSMOImpl.saveLog(transactionLogPo);
    }