shish 5 سال پیش
والد
کامیت
31c7cfdae3
3فایلهای تغییر یافته به همراه29 افزوده شده و 21 حذف شده
  1. 0 1
      app-ghs/controllers/OrderController.php
  2. 3 2
      biz-ghs/order/classes/OrderItemClass.php
  3. 26 18
      console/controllers/PurchaseController.php

+ 0 - 1
app-ghs/controllers/OrderController.php

@@ -484,7 +484,6 @@ class OrderController extends BaseController
         $id = isset($post['id']) ? $post['id'] : 0;
         $order = OrderService::getOrderInfo($id, false, false, false, false);
         OrderClass::valid($order, $this->shopId);
-        //状态 status = 4 已完成
         if ($order['status'] != OrderClass::ORDER_STATUS_COMPLETE) {
             util::fail("订单完成了才能发起退款");
         }

+ 3 - 2
biz-ghs/order/classes/OrderItemClass.php

@@ -36,8 +36,9 @@ class OrderItemClass extends BaseClass
                 $cover = imgUtil::getPrefix() . $val['cover'];
             }
             $list[$key]['cover'] = $cover;
-            if(!$val['ratio']){
-                $list[$key]['ratio'] = $productData[$val['productId']]['ratio'];
+            if (!$val['ratio']) {
+                $ratio = $productData[$val['productId']]['ratio'] ?? 1;
+                $list[$key]['ratio'] = $ratio;
             }
         }
         return $list;

+ 26 - 18
console/controllers/PurchaseController.php

@@ -23,33 +23,41 @@ class PurchaseController extends Controller
         $date = date("Y-m-d H:i:s");
         $query->where(['status' => PurchaseClass::STATUS_UN_PAY])->andWhere(['<=', 'deadline', $date]);
         $query->orderBy('deadline ASC');
-        $connection = Yii::$app->db;//事务处理
-        $transaction = $connection->beginTransaction();
 
-        Yii::$app->params['ptStyle']  = dict::getDict('ptStyle', 'hd');
+        Yii::$app->params['ptStyle'] = dict::getDict('ptStyle', 'hd');
+
+        $arr = [];
+        foreach ($query->batch() as $purchases) {
+
+            foreach ($purchases as $purchase) {
+                $connection = Yii::$app->db;//事务处理
+                $transaction = $connection->beginTransaction();
+                try {
 
-        try {
-            $arr = [];
-            foreach ($query->batch() as $purchases) {
-                foreach ($purchases as $purchase) {
                     $id = $purchase['id'] ?? 0;
                     $current = PurchaseClass::getById($id, true);
                     PurchaseService::expire($current);
-                    $log = "过期的采购单:{$id} json:" . json_encode($purchase);
-                    $arr[] = $log;
+                    $transaction->commit();
+
+                    noticeUtil::push("采购单过期库存回滚 orderSn:{$current->orderSn}", '15280215347');
+
+                } catch (\Exception $e) {
+                    $transaction->rollBack();
+                    $msg = $e->getMessage();
+                    noticeUtil::push("采购单过期处理,报错:{$msg}", '15280215347');
                 }
+
+                $log = "过期的采购单:{$id} json:" . json_encode($purchase);
+                $arr[] = $log;
             }
-            $transaction->commit();
-            if (!empty($arr)) {
-                foreach ($arr as $item) {
-                    Yii::info($item);
-                }
+        }
+
+        if (!empty($arr)) {
+            foreach ($arr as $item) {
+                Yii::info($item);
             }
-        } catch (Exception $e) {
-            $transaction->rollBack();
-            $msg = $e->getMessage();
-            noticeUtil::push("采购订单过期变更报错:{$msg}", '15280215347');
         }
+
     }
 
 }