shish 2 лет назад
Родитель
Сommit
3f1dedc154
1 измененных файлов с 19 добавлено и 2 удалено
  1. 19 2
      console/controllers/RefundController.php

+ 19 - 2
console/controllers/RefundController.php

@@ -2,6 +2,7 @@
 
 namespace console\controllers;
 
+use bizGhs\order\classes\RefundOrderClass;
 use bizGhs\order\classes\RefundOrderItemClass;
 use bizGhs\order\models\RefundOrder;
 use bizHd\cg\classes\CgRefundClass;
@@ -21,6 +22,9 @@ class RefundController extends Controller
         $query->from(RefundOrder::tableName());
         $query->where(['>', 'id', 0]);
         $query->orderBy('addTime ASC');
+
+        $arr = ['开错', '多开', '重新补开', '重复开单', '客户自购'];
+
         foreach ($query->batch() as $batchOrder) {
             foreach ($batchOrder as $refund) {
                 $connection = Yii::$app->db;
@@ -29,19 +33,32 @@ class RefundController extends Controller
                 try {
                     $status = $refund['status'] ?? 0;
                     $addTime = $refund['addTime'] ?? '';
+                    $remark = $refund['remark'] ?? '';
+                    $cause = 0;
+                    if (!empty($remark)) {
+                        foreach ($arr as $son) {
+                            $res = strstr($remark, $son);
+                            if (!empty($res)) {
+                                $cause = 1;
+                            }
+                        }
+                    }
+                    RefundOrderClass::updateByCondition(['orderSn' => $orderSn], ['cause' => $cause]);
                     $updateTime = $refund['updateTime'] ?? '';
-                    RefundOrderItemClass::updateByCondition(['orderSn' => $orderSn], ['status' => $status, 'addTime' => $addTime, 'updateTime' => $updateTime]);
+                    RefundOrderItemClass::updateByCondition(['orderSn' => $orderSn], ['status' => $status, 'addTime' => $addTime, 'updateTime' => $updateTime, 'cause' => $cause]);
                     $cgRefundId = $refund['cgRefundId'] ?? 0;
                     $cgRefund = CgRefundClass::getById($cgRefundId, true);
                     if (empty($cgRefund)) {
                         echo "{$orderSn} 没有找到采购的退款信息\n";
                         continue;
                     }
+                    $cgRefund->cause = $cause;
+                    $cgRefund->save();
                     $cgRefundStatus = $cgRefund->status;
                     $cgOrderSn = $cgRefund->orderSn ?? '';
                     $addTime = $cgRefund->addTime;
                     $updateTime = $cgRefund->updateTime;
-                    CgRefundItemClass::updateByCondition(['orderSn' => $cgOrderSn], ['status' => $cgRefundStatus, 'addTime' => $addTime, 'updateTime' => $updateTime]);
+                    CgRefundItemClass::updateByCondition(['orderSn' => $cgOrderSn], ['status' => $cgRefundStatus, 'addTime' => $addTime, 'updateTime' => $updateTime, 'cause' => $cause]);
                     $transaction->commit();
                 } catch (\Exception $e) {
                     $transaction->rollBack();