From e3aed650aa4e232f4583a00fc3de088276a2188b Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期六, 15 一月 2022 13:41:18 +0800
Subject: [PATCH] 优化代码
---
java110-core/src/main/java/com/java110/core/aop/Java110TransactionalAop.java | 51 ++++++++++++++++++++++++++++++---------------------
1 files changed, 30 insertions(+), 21 deletions(-)
diff --git a/java110-core/src/main/java/com/java110/core/aop/Java110TransactionalAop.java b/java110-core/src/main/java/com/java110/core/aop/Java110TransactionalAop.java
old mode 100644
new mode 100755
index 50066f9..85c3f5d
--- a/java110-core/src/main/java/com/java110/core/aop/Java110TransactionalAop.java
+++ b/java110-core/src/main/java/com/java110/core/aop/Java110TransactionalAop.java
@@ -1,20 +1,13 @@
package com.java110.core.aop;
import com.java110.core.factory.Java110TransactionalFactory;
+import com.java110.core.log.LoggerFactory;
import com.java110.dto.order.OrderDto;
+import com.java110.utils.constant.CommonConstant;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
-import org.aspectj.lang.annotation.After;
-import org.aspectj.lang.annotation.AfterReturning;
-import org.aspectj.lang.annotation.AfterThrowing;
-import org.aspectj.lang.annotation.Around;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Before;
-import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.annotation.*;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
@@ -57,17 +50,23 @@
while (headerNames.hasMoreElements()) {
String key = (String) headerNames.nextElement();
String value = request.getHeader(key);
- if (OrderDto.APP_ID.equals(key.toUpperCase())) {
+ logger.debug("璇锋眰澶翠俊鎭� key= " + key+",value = "+value);
+
+ key = key.toLowerCase();
+ if (CommonConstant.APP_ID.equals(key) || CommonConstant.HTTP_APP_ID.equals(key)) {
orderDto.setAppId(value);
}
- if (OrderDto.TRANSACTION_ID.equals(key.toUpperCase())) {
+ if (CommonConstant.TRANSACTION_ID.equals(key)|| CommonConstant.HTTP_TRANSACTION_ID.equals(key)) {
orderDto.setExtTransactionId(value);
}
- if (OrderDto.REQUEST_TIME.equals(key.toUpperCase())) {
+ if (CommonConstant.REQUEST_TIME.equals(key)|| CommonConstant.HTTP_REQ_TIME.equals(key)) {
orderDto.setRequestTime(value);
}
- if (OrderDto.O_ID.equals(key.toUpperCase())) {
+ if (OrderDto.O_ID.equals(key)) {
orderDto.setoId(value);
+ }
+ if (CommonConstant.USER_ID.equals(key)|| CommonConstant.HTTP_USER_ID.equals(key)) {
+ orderDto.setUserId(value);
}
}
orderDto.setOrderTypeCd(OrderDto.ORDER_TYPE_DEAL);
@@ -86,8 +85,7 @@
public void throwException(JoinPoint jp) {
logger.debug("鏂规硶璋冪敤寮傚父鎵цthrowException锛堬級");
- //鍥為��浜嬪姟
- Java110TransactionalFactory.fallbackOId();
+
}
//鍚庣疆鏈�缁堥�氱煡,final澧炲己锛屼笉绠℃槸鎶涘嚭寮傚父鎴栬�呮甯搁��鍑洪兘浼氭墽琛�
@@ -95,19 +93,30 @@
public void after(JoinPoint jp) throws IOException {
// 鎺ユ敹鍒拌姹傦紝璁板綍璇锋眰鍐呭
logger.debug("鏂规硶璋冪敤鍚庢墽琛宎fter锛堬級");
-
-
}
//鐜粫閫氱煡,鐜粫澧炲己锛岀浉褰撲簬MethodInterceptor
@Around("dataProcess()")
- public Object around(ProceedingJoinPoint pjp) {
+ public Object around(ProceedingJoinPoint pjp) throws Throwable {
+ Object o = null;
try {
- Object o = pjp.proceed();
+ o = pjp.proceed();
+ //瑙傚療鑰呬笉鍋氬鐞�
+ if (Java110TransactionalFactory.ROLE_OBSERVER.equals(Java110TransactionalFactory.getServiceRole())) {
+ return o;
+ }
+ //瀹屾垚浜嬪姟
+ Java110TransactionalFactory.finishOId();
return o;
} catch (Throwable e) {
logger.error("鎵ц鏂规硶寮傚父", e);
- return new ResponseEntity("鍐呴儴寮傚父" + e.getLocalizedMessage(), HttpStatus.BAD_REQUEST);
+ //鍥為��浜嬪姟
+ Java110TransactionalFactory.fallbackOId();
+ //return new BusinessDto(BusinessDto.CODE_ERROR, "鍐呴儴寮傚父" + e.getLocalizedMessage());
+ throw e;
+ }finally {
+ //娓呯悊浜嬪姟淇℃伅
+ Java110TransactionalFactory.clearOId();
}
}
}
--
Gitblit v1.8.0