From edc2cbf7efbe8a8e8dccf3dc729203ff6a22a454 Mon Sep 17 00:00:00 2001 From: JIAN Date: Tue, 10 Sep 2024 11:30:22 +0800 Subject: [PATCH] =?UTF-8?q?refactor(orders.manager):=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AE=A2=E5=8D=95=E7=8A=B6=E6=80=81=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=9A=84=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/listener/TradeStatusListener.java | 6 ++--- .../service/impl/OrdersCreateServiceImpl.java | 25 +++++++++++-------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/jzo2o-oreders/jzo2o-orders-manager/src/main/java/com/jzo2o/orders/manager/listener/TradeStatusListener.java b/jzo2o-oreders/jzo2o-orders-manager/src/main/java/com/jzo2o/orders/manager/listener/TradeStatusListener.java index d92dd81..86673fe 100644 --- a/jzo2o-oreders/jzo2o-orders-manager/src/main/java/com/jzo2o/orders/manager/listener/TradeStatusListener.java +++ b/jzo2o-oreders/jzo2o-orders-manager/src/main/java/com/jzo2o/orders/manager/listener/TradeStatusListener.java @@ -1,6 +1,7 @@ package com.jzo2o.orders.manager.listener; import com.alibaba.fastjson.JSON; +import com.jzo2o.api.trade.enums.TradingStateEnum; import com.jzo2o.common.constants.MqConstants; import com.jzo2o.common.expcetions.DBException; import com.jzo2o.common.model.msg.TradeStatusMsg; @@ -54,10 +55,10 @@ public class TradeStatusListener { // 处理当前微服务并且支付成功的订单 List tradeStatusMsgList = msgList.stream() .filter(statusMsg -> ordersCreateService.PRODUCT_APP_ID.equals(statusMsg.getProductAppId()) - && statusMsg.getStatusCode() == OrderPayStatusEnum.PAY_SUCCESS.getStatus()) + && TradingStateEnum.YJS.getCode().equals(statusMsg.getStatusCode())) .collect(Collectors.toList()); - transactionTemplate.execute(status -> { + transactionTemplate.executeWithoutResult(status -> { for (TradeStatusMsg tradeStatusMsg : tradeStatusMsgList) { if (!ordersCommonService.updateStatus(OrderUpdateStatusDTO.builder() .id(tradeStatusMsg.getProductOrderNo()) @@ -71,7 +72,6 @@ public class TradeStatusListener { throw new DBException("更新订单状态失败"); } } - return true; }); } } \ No newline at end of file diff --git a/jzo2o-oreders/jzo2o-orders-manager/src/main/java/com/jzo2o/orders/manager/service/impl/OrdersCreateServiceImpl.java b/jzo2o-oreders/jzo2o-orders-manager/src/main/java/com/jzo2o/orders/manager/service/impl/OrdersCreateServiceImpl.java index 6088ca8..9bde263 100644 --- a/jzo2o-oreders/jzo2o-orders-manager/src/main/java/com/jzo2o/orders/manager/service/impl/OrdersCreateServiceImpl.java +++ b/jzo2o-oreders/jzo2o-orders-manager/src/main/java/com/jzo2o/orders/manager/service/impl/OrdersCreateServiceImpl.java @@ -21,6 +21,8 @@ import com.jzo2o.orders.base.enums.OrderPayStatusEnum; import com.jzo2o.orders.base.enums.OrderStatusEnum; import com.jzo2o.orders.base.mapper.OrdersMapper; import com.jzo2o.orders.base.model.domain.Orders; +import com.jzo2o.orders.base.model.dto.OrderUpdateStatusDTO; +import com.jzo2o.orders.base.service.IOrdersCommonService; import com.jzo2o.orders.manager.model.dto.request.OrdersPayReqDTO; import com.jzo2o.orders.manager.model.dto.request.PlaceOrderReqDTO; import com.jzo2o.orders.manager.model.dto.response.OrdersPayResDTO; @@ -59,8 +61,8 @@ public class OrdersCreateServiceImpl extends ServiceImpl i private TradingApi tradingApi; @Resource private TradeProperties tradeProperties; - - private final String PRODUCT_APP_ID = "jzo2o.orders"; + @Resource + private IOrdersCommonService ordersCommonService; /** * 生成订单号(2位年+2位月+2位日+13位序号) @@ -150,7 +152,7 @@ public class OrdersCreateServiceImpl extends ServiceImpl i .productAppId(PRODUCT_APP_ID) .productOrderNo(id) .tradingChannel(tradingChannel) - .tradingAmount(/*orders.getRealPayAmount() 测试统一使用0.1元*/ new BigDecimal("0.1")) + .tradingAmount(/*orders.getRealPayAmount() 测试统一使用0.01元*/ new BigDecimal("0.01")) .memo(orders.getServeItemName() + orders.getPurNum() + "个") .changeChannel(tradingChannel.name().equals(orders.getTradingChannel())) .build(); @@ -201,13 +203,16 @@ public class OrdersCreateServiceImpl extends ServiceImpl i // 支付成功 if (ObjectUtils.isNotEmpty(tradingResDTO) && tradingResDTO.getTradingState() == TradingStateEnum.YJS) { - lambdaUpdate() - .eq(Orders::getId, id) - .set(Orders::getPayTime, LocalDateTime.now()) - .set(Orders::getPayStatus, OrderPayStatusEnum.PAY_SUCCESS.getStatus()) - .set(Orders::getOrdersStatus, OrderStatusEnum.DISPATCHING.getStatus()) - .set(Orders::getTransactionId, tradingResDTO.getTransactionId()) - .update(); + + ordersCommonService.updateStatus(OrderUpdateStatusDTO.builder() + .id(id) + .originStatus(OrderStatusEnum.NO_PAY.getStatus()) + .targetStatus(OrderStatusEnum.DISPATCHING.getStatus()) + .payStatus(OrderPayStatusEnum.PAY_SUCCESS.getStatus()) + .tradingOrderNo(tradingResDTO.getTradingOrderNo()) + .transactionId(tradingResDTO.getTransactionId()) + .tradingChannel(tradingResDTO.getTradingChannel()) + .payTime(LocalDateTime.now()).build()); // 支付成功更新最终响应信息的状态 ordersPayResDTO.setPayStatus(OrderPayStatusEnum.PAY_SUCCESS.getStatus());