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; } }