]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Чистка кода и рефакторинг
authorfomichev <vladimir.fomichev@erp-flowers.ru>
Fri, 21 Mar 2025 06:38:44 +0000 (09:38 +0300)
committerfomichev <vladimir.fomichev@erp-flowers.ru>
Fri, 21 Mar 2025 06:38:44 +0000 (09:38 +0300)
erp24/services/MarketplaceService.php

index 8535f5fbca3a69b65bcd62442d44a495b414e730..31af728005f101b8f466f67f795b3f9019348e4e 100644 (file)
@@ -1141,7 +1141,10 @@ class MarketplaceService
                         $marketplaceOrder->save();
                         $updatedOrdersCount += 1;
                         // Обновление истории статусов, если изменился статус
-                        $statusHistoryRecord = MarketplaceOrderStatusHistory::find()->where(['order_id' => $marketplaceOrder->id])->one();
+                        $statusHistoryRecord = MarketplaceOrderStatusHistory::find()
+                            ->where(['order_id' => $marketplaceOrder->id])
+                            ->andWhere(['active' => 1])
+                            ->one();
                         if (
                             $statusHistoryRecord &&
                             ($statusHistoryRecord->status_id !== (int)$statusId ||
@@ -1341,8 +1344,13 @@ class MarketplaceService
         }
     }
 
-    public static function getFlowwowOrdersFromMail($date = null, $useSince = false, $useAlternateMailbox = false, $progressCallback = null, $seen = false)
-    {
+    public static function getFlowwowOrdersFromMail(
+        $date = null,
+        $useSince = false,
+        $useAlternateMailbox = false,
+        $progressCallback = null,
+        $seen = false
+    ) {
         set_time_limit(300);
         // Устанавливаем таймауты IMAP
         imap_timeout(IMAP_OPENTIMEOUT, 120);
@@ -1353,7 +1361,6 @@ class MarketplaceService
         $searchCriteria = '';
         $searchCriteria .= ($useSince ? 'SINCE ' : 'ON ');
 
-
         if (!$date) {
             $date = date('d-M-Y');
             $searchCriteria .= '"' . $date . '" ';
@@ -1468,9 +1475,9 @@ class MarketplaceService
         if ($messages) {
             foreach ($messages as $message) {
                 $store = MarketplaceStore::getWarehouseGuidByAccountEmail($message['to']) ?? 206008;
-               // Yii::warning('Message' . json_encode($message, JSON_UNESCAPED_UNICODE));
+
                 $order = self::getOrdersDataFromMessage($message);
-                Yii::warning('Order' . json_encode($order, JSON_UNESCAPED_UNICODE));
+
                 if ($message['subject_index'] == self::SUBJECT_INDEX[self::SUBJECT_NEW]) {
                     $statusCode = 'PROCESSING';
                     $substatusCode = 'STARTED';
@@ -1486,9 +1493,6 @@ class MarketplaceService
                 } elseif ($message['subject_index'] == self::SUBJECT_INDEX[self::SUBJECT_DELIVERED]) {
                     $statusCode = 'DELIVERED';
                     $substatusCode = 'DELIVERY_SERVICE_DELIVERED';
-                } else {
-                    $statusCode = 'PROCESSING';
-                    $substatusCode = 'STARTED';
                 }
                 $count += self::processFlowwowOrders($order, $store, $statusCode, $substatusCode, $message['subject_index']);
             }
@@ -1496,9 +1500,9 @@ class MarketplaceService
         return $count;
     }
 
-    public static function getOrdersDataFromMessage($message) {
+    public static function getOrdersDataFromMessage($message)
+    {
         $html = $message['body'];
-       // Yii::warning('Message body' . $html);
         $orderDetails = null;
         $order = null;
         if (!empty($html)) {
@@ -1507,10 +1511,6 @@ class MarketplaceService
             // Декодируем HTML-сущности
             $html = html_entity_decode($html, ENT_COMPAT, 'UTF-8');
 
-            // Удаляем лишние пробелы и переносы строк
-           // $html = preg_replace('/\s+/', ' ', $html);
-           // Yii::warning('Message body' . $html);
-
             $doc = new HtmlDomParser($html);
             $orderNumber = '';
             $main = $doc->findOneOrFalse("body");
@@ -1525,11 +1525,9 @@ class MarketplaceService
             $orderDetails['number'] = $orderNumber;
             $orderDetails['date'] = $message['date'];
             $deliveryText = '';
-            $commentText = '';
             $clientText = '';
-            $recipientText = '';
             $orderItems = [];
-            $orderLink = '';
+
 
             $linkBlock = $main->findOneOrFalse('a:contains("Перейти в заказ ")');
             if ($linkBlock) {