wuxw лет назад: 5
Родитель
Сommit
b0263fef69

+ 1 - 1
java110-core/src/main/java/com/java110/core/annotation/Java110Transactional.java

@@ -5,7 +5,7 @@ import org.springframework.stereotype.Component;
 
 import java.lang.annotation.*;
 
-@Target(ElementType.TYPE)
+@Target(ElementType.METHOD)
 @Retention(RetentionPolicy.RUNTIME)
 @Documented
 @Component

+ 4 - 0
java110-core/src/main/java/com/java110/core/aop/Java110TransactionalAop.java

@@ -1,5 +1,6 @@
 package com.java110.core.aop;
 
+import com.java110.core.factory.Java110TransactionalFactory;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.annotation.After;
@@ -46,6 +47,9 @@ public class Java110TransactionalAop {
         // 接收到请求,记录请求内容
         logger.debug("方法调用前执行deBefore()");
 
+        //全局事务ID申请
+        Java110TransactionalFactory.getOrCreateTId();
+
     }
 
     @AfterReturning(returning = "ret", pointcut = "dataProcess()")

+ 11 - 0
java110-core/src/main/java/com/java110/core/factory/Java110TransactionalFactory.java

@@ -1,5 +1,7 @@
 package com.java110.core.factory;
 
+import com.java110.utils.util.StringUtil;
+
 import java.util.HashMap;
 import java.util.Map;
 
@@ -43,7 +45,16 @@ public class Java110TransactionalFactory {
     }
 
     public static String getOrCreateTId(){
+        String tId = get(T_ID);
+
+        if(StringUtil.isEmpty(tId)){
+
+        }
         return "";
     }
 
+    private void createTId(){
+
+    }
+
 }

+ 53 - 0
service-api/src/main/java/com/java110/api/rest/TestApi.java

@@ -0,0 +1,53 @@
+package com.java110.api.rest;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.api.smo.IApiServiceSMO;
+import com.java110.api.smo.ITestServiceSMO;
+import com.java110.core.base.controller.BaseController;
+import com.java110.core.smo.user.IUserInnerServiceSMO;
+import com.java110.utils.constant.CommonConstant;
+import com.java110.vo.ResultVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+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.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * rest api
+ * Created by wuxw on 2018/10/16.
+ */
+@RestController
+@RequestMapping(path = "/test")
+@Api(value = "对外统一提供服务接口服务")
+public class TestApi extends BaseController {
+
+    private static Logger logger = LoggerFactory.getLogger(TestApi.class);
+    private static final String VERSION = "version";
+    private static final String VERSION_2 = "2.0";
+    @Autowired
+    private IApiServiceSMO apiServiceSMOImpl;
+
+    @Autowired
+    private ITestServiceSMO testServiceSMOImpl;
+
+    /**
+     * 健康检查 服务
+     *
+     * @return
+     */
+    @RequestMapping(path = "/health", method = RequestMethod.GET)
+    public String health() {
+        return testServiceSMOImpl.getVersion("123");
+    }
+
+
+}

+ 6 - 0
service-api/src/main/java/com/java110/api/smo/ITestServiceSMO.java

@@ -0,0 +1,6 @@
+package com.java110.api.smo;
+
+public interface ITestServiceSMO {
+
+    String getVersion(String name);
+}

+ 20 - 0
service-api/src/main/java/com/java110/api/smo/impl/TestServiceSMOImpl.java

@@ -0,0 +1,20 @@
+package com.java110.api.smo.impl;
+
+import com.java110.api.rest.TestApi;
+import com.java110.api.smo.ITestServiceSMO;
+import com.java110.core.annotation.Java110Transactional;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+@Service
+public class TestServiceSMOImpl implements ITestServiceSMO {
+    private static Logger logger = LoggerFactory.getLogger(TestServiceSMOImpl.class);
+
+    @Override
+    @Java110Transactional
+    public String getVersion(String name) {
+        logger.debug("调用方法调用");
+        return "123";
+    }
+}