java110
2020-07-07 70862b9228ccb2156971a22085ac31b6c8b6d2cd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package com.java110.core.aop;
 
import com.java110.core.factory.Java110TransactionalFactory;
import com.java110.dto.order.OrderDto;
import com.java110.utils.util.StringUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
/**
 * 写上层事务ID
 */
@Component
public class Java110TransactionalInterceptor implements HandlerInterceptor {
 
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
 
        //说明已经开启事务
        if (!StringUtils.isEmpty(Java110TransactionalFactory.getOId())) {
            return true;
        }
        String oId = request.getHeader(OrderDto.O_ID);
 
        if (!StringUtil.isEmpty(oId)) {
            Java110TransactionalFactory.put(Java110TransactionalFactory.O_ID, oId);
        }
 
        return true;
    }
}