Commit b5d5fa8ea4167468f84e37b0926166f3d2799def
1 parent
ba068c35
fix:【mall 商城】门店自提时,缺少上传订单物流信息到微信小程序
Showing
1 changed file
with
34 additions
and
17 deletions
yudao-module-mall/yudao-module-trade/src/main/java/cn/iocoder/yudao/module/trade/service/order/handler/TradeStatusSyncToWxaOrderHandler.java
| @@ -42,6 +42,40 @@ public class TradeStatusSyncToWxaOrderHandler implements TradeOrderHandler { | @@ -42,6 +42,40 @@ public class TradeStatusSyncToWxaOrderHandler implements TradeOrderHandler { | ||
| 42 | if (ObjUtil.notEqual(order.getPayChannelCode(), PayChannelEnum.WX_LITE.getCode())) { | 42 | if (ObjUtil.notEqual(order.getPayChannelCode(), PayChannelEnum.WX_LITE.getCode())) { |
| 43 | return; | 43 | return; |
| 44 | } | 44 | } |
| 45 | + | ||
| 46 | + // 上传订单物流信息到微信小程序 | ||
| 47 | + uploadWxaOrderShippingInfo(order); | ||
| 48 | + } | ||
| 49 | + | ||
| 50 | + @Override | ||
| 51 | + public void afterReceiveOrder(TradeOrderDO order) { | ||
| 52 | + // 注意:只有微信小程序支付的订单,才需要同步 | ||
| 53 | + if (ObjUtil.notEqual(order.getPayChannelCode(), PayChannelEnum.WX_LITE.getCode())) { | ||
| 54 | + return; | ||
| 55 | + } | ||
| 56 | + PayOrderRespDTO payOrder = payOrderApi.getOrder(order.getPayOrderId()); | ||
| 57 | + SocialWxaOrderNotifyConfirmReceiveReqDTO reqDTO = new SocialWxaOrderNotifyConfirmReceiveReqDTO() | ||
| 58 | + .setTransactionId(payOrder.getChannelOrderNo()) | ||
| 59 | + .setReceivedTime(order.getReceiveTime()); | ||
| 60 | + try { | ||
| 61 | + socialClientApi.notifyWxaOrderConfirmReceive(UserTypeEnum.MEMBER.getValue(), reqDTO); | ||
| 62 | + } catch (Exception ex) { | ||
| 63 | + log.error("[afterReceiveOrder][订单({}) 通知订单收货到微信小程序失败]", order, ex); | ||
| 64 | + } | ||
| 65 | + | ||
| 66 | + // 如果是门店自提订单,上传订单物流信息到微信小程序 | ||
| 67 | + // 原因是,门店自提订单没有 “afterDeliveryOrder” 阶段。可见 https://t.zsxq.com/KWD3u 反馈 | ||
| 68 | + if (DeliveryTypeEnum.PICK_UP.getType().equals(order.getDeliveryType())) { | ||
| 69 | + uploadWxaOrderShippingInfo(order); | ||
| 70 | + } | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + /** | ||
| 74 | + * 上传订单物流信息到微信小程序 | ||
| 75 | + * | ||
| 76 | + * @param order 订单 | ||
| 77 | + */ | ||
| 78 | + private void uploadWxaOrderShippingInfo(TradeOrderDO order) { | ||
| 45 | PayOrderRespDTO payOrder = payOrderApi.getOrder(order.getPayOrderId()); | 79 | PayOrderRespDTO payOrder = payOrderApi.getOrder(order.getPayOrderId()); |
| 46 | SocialWxaOrderUploadShippingInfoReqDTO reqDTO = new SocialWxaOrderUploadShippingInfoReqDTO() | 80 | SocialWxaOrderUploadShippingInfoReqDTO reqDTO = new SocialWxaOrderUploadShippingInfoReqDTO() |
| 47 | .setTransactionId(payOrder.getChannelOrderNo()) | 81 | .setTransactionId(payOrder.getChannelOrderNo()) |
| @@ -64,23 +98,6 @@ public class TradeStatusSyncToWxaOrderHandler implements TradeOrderHandler { | @@ -64,23 +98,6 @@ public class TradeStatusSyncToWxaOrderHandler implements TradeOrderHandler { | ||
| 64 | } | 98 | } |
| 65 | } | 99 | } |
| 66 | 100 | ||
| 67 | - @Override | ||
| 68 | - public void afterReceiveOrder(TradeOrderDO order) { | ||
| 69 | - // 注意:只有微信小程序支付的订单,才需要同步 | ||
| 70 | - if (ObjUtil.notEqual(order.getPayChannelCode(), PayChannelEnum.WX_LITE.getCode())) { | ||
| 71 | - return; | ||
| 72 | - } | ||
| 73 | - PayOrderRespDTO payOrder = payOrderApi.getOrder(order.getPayOrderId()); | ||
| 74 | - SocialWxaOrderNotifyConfirmReceiveReqDTO reqDTO = new SocialWxaOrderNotifyConfirmReceiveReqDTO() | ||
| 75 | - .setTransactionId(payOrder.getChannelOrderNo()) | ||
| 76 | - .setReceivedTime(order.getReceiveTime()); | ||
| 77 | - try { | ||
| 78 | - socialClientApi.notifyWxaOrderConfirmReceive(UserTypeEnum.MEMBER.getValue(), reqDTO); | ||
| 79 | - } catch (Exception ex) { | ||
| 80 | - log.error("[afterReceiveOrder][订单({}) 通知订单收货到微信小程序失败]", order, ex); | ||
| 81 | - } | ||
| 82 | - } | ||
| 83 | - | ||
| 84 | // TODO @芋艿:【设置路径】 https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/order-shipping/order-shipping.html#%E5%85%AD%E3%80%81%E6%B6%88%E6%81%AF%E8%B7%B3%E8%BD%AC%E8%B7%AF%E5%BE%84%E8%AE%BE%E7%BD%AE%E6%8E%A5%E5%8F%A3 | 101 | // TODO @芋艿:【设置路径】 https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/order-shipping/order-shipping.html#%E5%85%AD%E3%80%81%E6%B6%88%E6%81%AF%E8%B7%B3%E8%BD%AC%E8%B7%AF%E5%BE%84%E8%AE%BE%E7%BD%AE%E6%8E%A5%E5%8F%A3 |
| 85 | 102 | ||
| 86 | } | 103 | } |