Kaynağa Gözat

feat(wechatpay): 支持微信支付发货信息录入功能

- 新增 uploadShippingInfo 方法支持业务类型和配送方式参数
- 修改订单查询逻辑,增加 pay_type 和 biz_type 过滤条件
- 在 OrderHook 中集成微信支付发货信息上传逻辑- 调整 OrderService 中调用发货信息上传时的参数传递顺序
runphp 4 ay önce
ebeveyn
işleme
dfe1046783
1 değiştirilmiş dosya ile 10 ekleme ve 2 silme
  1. 10 2
      src/PaymentProvider.php

+ 10 - 2
src/PaymentProvider.php

@@ -242,13 +242,17 @@ class PaymentProvider implements PaymentProviderInterface
     /**
      * 发货信息录入
      * @param int $orderID 订单ID
+     * @param int $bizType 业务类型 
      * @param string $itemDesc 商品描述
      * @param string $trackingNo 运单号
      * @param string $expressCompany 快递公司ID
      * @param string $receiverContact 收件人手机号码
+     * @param int $logisticsType 配送方式
+     * @param bool $failException 是否抛出异常
      */
     public function uploadShippingInfo(
         int    $orderID,
+        int  $bizType = 1,
         string $itemDesc = '',
         string $trackingNo = '',
         string $expressCompany = '',
@@ -259,7 +263,9 @@ class PaymentProvider implements PaymentProviderInterface
     {
         $order = $this->extensionPaymentEntity->where([
             'order_id' => $orderID,
-            'status' => PaymentStatusEnum::SUCCESS
+            'biz_type' => $bizType,
+            'status' => PaymentStatusEnum::SUCCESS,
+            'pay_type' => self::PAYMENT_TYPE,
         ])->findOrEmpty();
         if ($order->isEmpty()) {
             throw new \RuntimeException('支付订单不存在或未支付');
@@ -282,7 +288,9 @@ class PaymentProvider implements PaymentProviderInterface
     {
         $order = $this->extensionPaymentEntity->where([
             'order_id' => $orderID,
-            'status' => PaymentStatusEnum::SUCCESS
+            'biz_type' => 1,
+            'status' => PaymentStatusEnum::SUCCESS,
+            'pay_type' => self::PAYMENT_TYPE
         ])->findOrEmpty();
         if ($order->isEmpty()) {
             throw new \RuntimeException('支付订单不存在或未支付');