Browse Source

[智价云] 数据清洗省份城市名称存在时逆推失败置空错误信息2

tangyuanwang 6 hours ago
parent
commit
0c341d1b71
1 changed files with 20 additions and 2 deletions
  1. 20 2
      app/Jobs/Manager/Process/ViolationProductDataJobs.php

+ 20 - 2
app/Jobs/Manager/Process/ViolationProductDataJobs.php

@@ -167,13 +167,18 @@ class ViolationProductDataJobs implements ShouldQueue
                 $db_province_id = $CitysModel->where([['name', '=', $province_name], ['level', '=', '1']])->value('id');
                 if (!empty($db_province_id)) {
                     $product_data['province_id'] = $db_province_id;
+                }else{
+                    //逆推省份ID失败,则置空省份名称
+                    $province_name ='';
                 }
             } else {
                 //尝试从地区详情里面匹配省份名称
-                $db_province_name_list = $CitysModel->where([['level', '=', '1']])->pluck('name')->toarray();
-                foreach ($db_province_name_list as $db_province_name) {
+                $db_province_data_list = $CitysModel->where([['level', '=', '1']])->select(['id','name'])->get()->toarray();
+                foreach ($db_province_data_list as $db_province_data) {
+                    $db_province_name = $db_province_data['name'];
                     if (strpos($product_data['area_info'], $db_province_name) !== false) {
                         $province_name = $db_province_name;
+                        $product_data['province_id'] = $db_province_data['id'];
                         break;
                     }
                 }
@@ -192,11 +197,15 @@ class ViolationProductDataJobs implements ShouldQueue
                     $db_city_id = $CitysModel->where([['name', '=', $city_name], ['level', '=', '2']])->value('id');
                     if (!empty($db_city_id)) {
                         $product_data['city_id'] = $db_city_id;
+                    }else{
+                        $city_name ='';
                     }
                 } else {
                     $db_city_id = $CitysModel->where([['name', '=', $city_name], ['level', '=', '2']])->value('id');
                     if (!empty($db_city_id)) {
                         $product_data['city_id'] = $db_city_id;
+                    }else{
+                        $city_name ='';
                     }
                 }
             } else {
@@ -262,6 +271,9 @@ class ViolationProductDataJobs implements ShouldQueue
                 $db_shipment_province_id = $CitysModel->where([['name', '=', $shipment_province_name], ['level', '=', '1']])->value('id');
                 if (!empty($db_shipment_province_id)) {
                     $product_data['shipment_province_id'] = $db_shipment_province_id;
+                }else{
+                    //逆推省份ID失败,则置空省份名称
+                    $shipment_province_name = '';
                 }
             }
             if (trim($shipment_city_name) != '') {
@@ -278,11 +290,17 @@ class ViolationProductDataJobs implements ShouldQueue
                     $db_shipment_city_id = $CitysModel->where([['name', '=', $shipment_city_name], ['level', '=', '2']])->value('id');
                     if (!empty($db_shipment_city_id)) {
                         $product_data['shipment_city_id'] = $db_shipment_city_id;
+                    }else{
+                        //逆推市ID失败,则置空市名称
+                        $shipment_city_name = '';
                     }
                 } else {
                     $db_shipment_city_id = $CitysModel->where([['name', '=', $shipment_city_name], ['level', '=', '2']])->value('id');
                     if (!empty($db_shipment_city_id)) {
                         $product_data['shipment_city_id'] = $db_shipment_city_id;
+                    }else{
+                        //逆推市ID失败,则置空市名称
+                        $shipment_city_name = '';
                     }
                 }
             }