|
|
@@ -57,6 +57,7 @@ import com.yc.ship.module.trade.utils.BeanUtils;
|
|
|
import com.yc.ship.module.trade.utils.TradeUUCodeUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
@@ -156,7 +157,13 @@ public class TradeOrderServiceImpl implements TradeOrderService {
|
|
|
//1.构建订单
|
|
|
tradeOrderBO = buildCreateOrder(orderCreateReqDTO);
|
|
|
//2.下单前处理
|
|
|
- beforeOrderCreate(tradeOrderBO);
|
|
|
+ try {
|
|
|
+ beforeOrderCreate(tradeOrderBO);
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error("下单前处理异常", e);
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
//3.保存订单
|
|
|
tradeOrderRepositoryService.saveOrder(tradeOrderBO);
|
|
|
//4.供应商下单
|
|
|
@@ -176,8 +183,10 @@ public class TradeOrderServiceImpl implements TradeOrderService {
|
|
|
.setMarketingName(tradeOrderBO.getExtraInfo().getMarketingName());
|
|
|
return CommonResult.success(tradeOrderRespDTO);
|
|
|
} catch (ServiceException e) {
|
|
|
- ExceptionUtils.log(log, "下单失败:", e);
|
|
|
- handleAfterOrderCreateFail(e.getCode(), tradeOrderBO);
|
|
|
+ try {
|
|
|
+ ExceptionUtils.log(log, "下单失败:", e);
|
|
|
+ handleAfterOrderCreateFail(e.getCode(), tradeOrderBO);
|
|
|
+ }catch (Exception ee) {}
|
|
|
return CommonResult.error(e);
|
|
|
} catch (Exception e) {
|
|
|
log.error("下单失败:", e);
|
|
|
@@ -244,8 +253,12 @@ public class TradeOrderServiceImpl implements TradeOrderService {
|
|
|
.setMarketingName(tradeOrderBO.getExtraInfo().getMarketingName());
|
|
|
return CommonResult.success(tradeOrderRespDTO);
|
|
|
} catch (ServiceException e) {
|
|
|
- ExceptionUtils.log(log, "订单修改失败:", e);
|
|
|
- handleAfterOrderCreateFail(e.getCode(), tradeOrderBO);
|
|
|
+ try {
|
|
|
+ ExceptionUtils.log(log, "订单修改失败:", e);
|
|
|
+ handleAfterOrderCreateFail(e.getCode(), tradeOrderBO);
|
|
|
+ }catch (Exception eee){
|
|
|
+
|
|
|
+ }
|
|
|
return CommonResult.error(e);
|
|
|
} catch (Exception e) {
|
|
|
log.error("订单修改失败:", e);
|
|
|
@@ -1104,7 +1117,7 @@ public class TradeOrderServiceImpl implements TradeOrderService {
|
|
|
return ObjectUtils.equalsAny(sellMethod, SellMethodEnum.MINI_APP.getType(), SellMethodEnum.AUTO_MACHINE.getType(), SellMethodEnum.WINDOW.getType());
|
|
|
}
|
|
|
|
|
|
- private void beforeOrderCreate(TradeOrderBO tradeOrderBO) {
|
|
|
+ private void beforeOrderCreate(TradeOrderBO tradeOrderBO) throws Exception {
|
|
|
TradeOrderHandler currentHandler;
|
|
|
for (TradeOrderHandler handler : tradeOrderHandlers) {
|
|
|
currentHandler = handler;
|