From 70862b9228ccb2156971a22085ac31b6c8b6d2cd Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 07 七月 2020 19:35:42 +0800
Subject: [PATCH] 优化代码

---
 java110-core/src/main/java/com/java110/core/aop/Java110TransactionalAop.java |   24 +++++++++++++-----------
 1 files changed, 13 insertions(+), 11 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
index 50066f9..1e583e9 100644
--- a/java110-core/src/main/java/com/java110/core/aop/Java110TransactionalAop.java
+++ b/java110-core/src/main/java/com/java110/core/aop/Java110TransactionalAop.java
@@ -4,13 +4,7 @@
 import com.java110.dto.order.OrderDto;
 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;
@@ -69,6 +63,9 @@
             if (OrderDto.O_ID.equals(key.toUpperCase())) {
                 orderDto.setoId(value);
             }
+            if (OrderDto.USER_ID.equals(key.toUpperCase())) {
+                orderDto.setUserId(value);
+            }
         }
         orderDto.setOrderTypeCd(OrderDto.ORDER_TYPE_DEAL);
         //鍏ㄥ眬浜嬪姟ID鐢宠
@@ -86,8 +83,7 @@
     public void throwException(JoinPoint jp) {
         logger.debug("鏂规硶璋冪敤寮傚父鎵цthrowException锛堬級");
 
-        //鍥為��浜嬪姟
-        Java110TransactionalFactory.fallbackOId();
+
     }
 
     //鍚庣疆鏈�缁堥�氱煡,final澧炲己锛屼笉绠℃槸鎶涘嚭寮傚父鎴栬�呮甯搁��鍑洪兘浼氭墽琛�
@@ -95,8 +91,6 @@
     public void after(JoinPoint jp) throws IOException {
         // 鎺ユ敹鍒拌姹傦紝璁板綍璇锋眰鍐呭
         logger.debug("鏂规硶璋冪敤鍚庢墽琛宎fter锛堬級");
-
-
     }
 
     //鐜粫閫氱煡,鐜粫澧炲己锛岀浉褰撲簬MethodInterceptor
@@ -104,9 +98,17 @@
     public Object around(ProceedingJoinPoint pjp) {
         try {
             Object o = pjp.proceed();
+            //瑙傚療鑰呬笉鍋氬鐞�
+            if (Java110TransactionalFactory.ROLE_OBSERVER.equals(Java110TransactionalFactory.getServiceRole())) {
+                return o;
+            }
+            //瀹屾垚浜嬪姟
+            Java110TransactionalFactory.finishOId();
             return o;
         } catch (Throwable e) {
             logger.error("鎵ц鏂规硶寮傚父", e);
+            //鍥為��浜嬪姟
+            Java110TransactionalFactory.fallbackOId();
             return new ResponseEntity("鍐呴儴寮傚父" + e.getLocalizedMessage(), HttpStatus.BAD_REQUEST);
         }
     }

--
Gitblit v1.8.0