Просмотр исходного кода

Merge branch 'master' into dev

shish 2 дней назад
Родитель
Сommit
f63de1f69a
2 измененных файлов с 21 добавлено и 4 удалено
  1. 12 3
      biz-ghs/order/services/OrderService.php
  2. 9 1
      biz-hd/purchase/services/PurchaseService.php

+ 12 - 3
biz-ghs/order/services/OrderService.php

@@ -728,8 +728,11 @@ class OrderService extends BaseService
         return true;
         return true;
     }
     }
 
 
-    //支付成功后的流程 ssh 2021.5.14
-    //$isPurchase 是否零售端采购支付,如果是会引起销售方余额变动
+    /**
+     * 销售单付款成功后流程。
+     * $isPurchase 为零售端采购支付时会引起销售方余额变动。
+     * 空 sendTime 写成当前时刻,与采购单 PurchaseService::payAfter 对称。
+     */
     public static function payAfter($order, $payWay, $isPurchase = false)
     public static function payAfter($order, $payWay, $isPurchase = false)
     {
     {
         if (isset($order->status) == false) {
         if (isset($order->status) == false) {
@@ -900,8 +903,14 @@ class OrderService extends BaseService
             $order->debtPrice = $order->orderPrice ?? 0;
             $order->debtPrice = $order->orderPrice ?? 0;
         }
         }
         $order->payStatus = 1;
         $order->payStatus = 1;
+        $payTime = date("Y-m-d H:i:s");
         if (!isset($order->payTime) || $order->payTime == '0000-00-00 00:00:00') {
         if (!isset($order->payTime) || $order->payTime == '0000-00-00 00:00:00') {
-            $order->payTime = date("Y-m-d H:i:s");
+            $order->payTime = $payTime;
+        }
+        // 付款成功后补发货时间:空 sendTime 写成当前时刻,与采购单 payAfter 对称。开单已写入的不覆盖。
+        $sendTime = $order->sendTime ?? '';
+        if (empty($sendTime) || strpos((string)$sendTime, '0000-00-00') === 0) {
+            $order->sendTime = $payTime;
         }
         }
         $order->save();
         $order->save();
 
 

+ 9 - 1
biz-hd/purchase/services/PurchaseService.php

@@ -534,7 +534,10 @@ class PurchaseService extends BaseService
 
 
     }
     }
 
 
-    //第三方支付、余额支付和欠款支付后调用的流程 ssh 2021.4.27
+    /**
+     * 采购单付款成功后流程。
+     * 空 sendTime 写成当前时刻;销售单发货时间由 OrderService::payAfter 对称写入。
+     */
     public static function payAfter($info, $payWay)
     public static function payAfter($info, $payWay)
     {
     {
         if (empty($info)) {
         if (empty($info)) {
@@ -581,6 +584,11 @@ class PurchaseService extends BaseService
             //如果外面没有设置支付时间,即账单时间,则赋值支付时间
             //如果外面没有设置支付时间,即账单时间,则赋值支付时间
             $info->payTime = $payTime;
             $info->payTime = $payTime;
         }
         }
+        // 花店确认页付款成功后补发货时间:空 sendTime 写成当前时刻。批发店开单已写入的 sendTime 不覆盖。
+        $sendTime = $info->sendTime ?? '';
+        if (empty($sendTime) || strpos((string)$sendTime, '0000-00-00') === 0) {
+            $info->sendTime = $payTime;
+        }
 
 
         if ($payWay == dict::getDict('payWay', 'debtPay')) {
         if ($payWay == dict::getDict('payWay', 'debtPay')) {
             //欠款支付(批发开单若销售单已 payAfter,沿用其待结,支持开单余额抵挂账)
             //欠款支付(批发开单若销售单已 payAfter,沿用其待结,支持开单余额抵挂账)