Browse Source

[智价云] 地区信息补全

tangyuanwang 1 month ago
parent
commit
1ddda1830d

+ 39 - 2
app/Jobs/Manager/Process/LowPriceGoodsDataJobs.php

@@ -15,6 +15,7 @@ use App\Models\Api\Process\ExecuteLog as ExecuteLogModel;
 use App\Models\Manager\Process\ScrapeData as ScrapeDataModel;
 use App\Models\Manager\WashConfig\ViolationStore as ViolationStoreModel;
 use App\Models\Manager\WashConfig\ViolationCompanyMember as ViolationCompanyMemberModel;
+use App\Models\Manager\Citys as CitysModel;
 
 /**
  * 数据清洗-低价挂网商品队列
@@ -59,6 +60,7 @@ class LowPriceGoodsDataJobs implements ShouldQueue
      */
     public function getLowPriceGoodsData($message_data)
     {
+        $CitysModel = new CitysModel();
         $EmployeeModel = new EmployeeModel();
         $LowPriceGoodsModel = new LowPriceGoodsModel();
         $ScrapeDataModel = new ScrapeDataModel();
@@ -98,6 +100,41 @@ class LowPriceGoodsDataJobs implements ShouldQueue
             return true;
         }
         foreach ($product_datas as $product_data) {
+            $province_name = $product_data['province_name'];
+            $city_name = $product_data['city_name'];
+            //特殊地区1级移除市
+            if ($province_name && in_array($province_name, ['北京市', '天津市', '上海市', '重庆市'])) {
+                //移除市这个字符
+                $province_name = trim(str_replace('市', '', $province_name));
+            } else if ($province_name && in_array($province_name, ['内蒙古', '广西', '西藏', '新疆', '宁夏'])) {
+                switch ($province_name) {
+                    case '内蒙古':
+                        $province_name = '内蒙古自治区';
+                        break;
+                    case '广西':
+                        $province_name = '广西壮族自治区';
+                        break;
+                    case '西藏':
+                        $province_name = '西藏自治区';
+                        break;
+                    case '新疆':
+                        $province_name = '新疆维吾尔自治区';
+                        break;
+                    case '宁夏':
+                        $province_name = '宁夏回族自治区';
+                        break;
+                }
+            } else if ($province_name && in_array($province_name, ['内蒙古自治区', '广西壮族自治区', '西藏自治区', '新疆维吾尔自治区', '宁夏回族自治区'])) {
+            } else if (strpos($province_name, '省') === false) {
+                //是否存在市省,如果不存在则补全
+                if (strpos($province_name, '省') === false) {
+                    $province_name = $province_name . '省';
+                }
+            }
+            if ($city_name != '') {
+                $city_name = $CitysModel->where([['name', 'like', "%$city_name%"], ['level', '=', '2']])->value('name');
+            }
+
             $insert_product_data = [
                 'company_id' => $company_id,
                 'source_id' => $product_data['id'],
@@ -116,9 +153,9 @@ class LowPriceGoodsDataJobs implements ShouldQueue
                 'link_url'    => $product_data['link_url'],
                 'store_name'    => $product_data['store_name'],
                 'province_id' => $product_data['province_id'],
-                'province_name' => $product_data['province_name'],
+                'province_name' => $province_name,
                 'city_id' => $product_data['city_id'],
-                'city_name' => $product_data['city_name'],
+                'city_name' => $city_name,
                 'area_info' => $product_data['area_info'],
                 'category_name' => $category_name,
                 'company_category_name' => '',

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

@@ -15,6 +15,7 @@ use App\Models\Api\Process\ExecuteLog as ExecuteLogModel;
 use App\Models\Manager\Process\ScrapeData as ScrapeDataModel;
 use App\Models\Manager\WashConfig\ViolationStore as ViolationStoreModel;
 use App\Models\Manager\WashConfig\ViolationCompanyMember as ViolationCompanyMemberModel;
+use App\Models\Manager\Citys as CitysModel;
 
 /**
  * 数据清洗-违规挂网商品数据队列
@@ -59,6 +60,7 @@ class ViolationProductDataJobs implements ShouldQueue
      */
     public function getViolationProductData($message_data)
     {
+        $CitysModel = new CitysModel();
         $EmployeeModel = new EmployeeModel();
         $ViolationProductModel = new ViolationProductModel();
         $ScrapeDataModel = new ScrapeDataModel();
@@ -96,6 +98,40 @@ class ViolationProductDataJobs implements ShouldQueue
             return true;
         }
         foreach ($product_datas as $product_data) {
+            $province_name = $product_data['province_name'];
+            $city_name = $product_data['city_name'];
+            //特殊地区1级移除市
+            if ($province_name && in_array($province_name, ['北京市', '天津市', '上海市', '重庆市'])) {
+                //移除市这个字符
+                $province_name = trim(str_replace('市', '', $province_name));
+            } else if ($province_name && in_array($province_name, ['内蒙古', '广西', '西藏', '新疆', '宁夏'])) {
+                switch ($province_name) {
+                    case '内蒙古':
+                        $province_name = '内蒙古自治区';
+                        break;
+                    case '广西':
+                        $province_name = '广西壮族自治区';
+                        break;
+                    case '西藏':
+                        $province_name = '西藏自治区';
+                        break;
+                    case '新疆':
+                        $province_name = '新疆维吾尔自治区';
+                        break;
+                    case '宁夏':
+                        $province_name = '宁夏回族自治区';
+                        break;
+                }
+            } else if ($province_name && in_array($province_name, ['内蒙古自治区', '广西壮族自治区', '西藏自治区', '新疆维吾尔自治区', '宁夏回族自治区'])) {
+            } else if (strpos($province_name, '省') === false) {
+                //是否存在市省,如果不存在则补全
+                if (strpos($province_name, '省') === false) {
+                    $province_name = $province_name . '省';
+                }
+            }
+            if ($city_name != '') {
+                $city_name = $CitysModel->where([['name', 'like', "%$city_name%"], ['level', '=', '2']])->value('name');
+            }
             $insert_product_data = [
                 'company_id' => $company_id,
                 'source_id' => $product_data['id'],
@@ -112,9 +148,9 @@ class ViolationProductDataJobs implements ShouldQueue
                 'store_name'    => $product_data['store_name'],
                 'social_credit_code'    => $product_data['qualification_number'],
                 'province_id'    => $product_data['province_id'],
-                'province_name' => $product_data['province_name'],
+                'province_name' => $province_name,
                 'city_id' => $product_data['city_id'],
-                'city_name' => $product_data['city_name'],
+                'city_name' => $city_name,
                 'area_info' => $product_data['area_info'],
                 'category_name' => $category_name,
                 'company_category_name' => '',

+ 38 - 2
app/Jobs/Manager/Process/ViolationStoreDataJobs.php

@@ -14,6 +14,7 @@ use App\Models\Manager\Personnel\Employee as EmployeeModel;
 use App\Models\Api\Process\ExecuteLog as ExecuteLogModel;
 use App\Models\Manager\Process\ScrapeData as ScrapeDataModel;
 use App\Models\Manager\WashConfig\ViolationCompanyMember as ViolationCompanyMemberModel;
+use App\Models\Manager\Citys as CitysModel;
 
 /**
  * 数据清洗-违规店铺清洗数据队列
@@ -58,6 +59,7 @@ class ViolationStoreDataJobs implements ShouldQueue
      */
     public function getViolationStoreData($message_data)
     {
+        $CitysModel = new CitysModel();
         $EmployeeModel = new EmployeeModel();
         $ViolationStoreModel = new ViolationStoreModel();
         $ScrapeDataModel = new ScrapeDataModel();
@@ -89,6 +91,40 @@ class ViolationStoreDataJobs implements ShouldQueue
             return true;
         }
         foreach ($product_datas as $product_data) {
+            $province_name = $product_data['province_name'];
+            $city_name = $product_data['city_name'];
+            //特殊地区1级移除市
+            if ($province_name && in_array($province_name, ['北京市', '天津市', '上海市', '重庆市'])) {
+                //移除市这个字符
+                $province_name = trim(str_replace('市', '', $province_name));
+            } else if ($province_name && in_array($province_name, ['内蒙古', '广西', '西藏', '新疆', '宁夏'])) {
+                switch ($province_name) {
+                    case '内蒙古':
+                        $province_name = '内蒙古自治区';
+                        break;
+                    case '广西':
+                        $province_name = '广西壮族自治区';
+                        break;
+                    case '西藏':
+                        $province_name = '西藏自治区';
+                        break;
+                    case '新疆':
+                        $province_name = '新疆维吾尔自治区';
+                        break;
+                    case '宁夏':
+                        $province_name = '宁夏回族自治区';
+                        break;
+                }
+            } else if ($province_name && in_array($province_name, ['内蒙古自治区', '广西壮族自治区', '西藏自治区', '新疆维吾尔自治区', '宁夏回族自治区'])) {
+            } else if (strpos($province_name, '省') === false) {
+                //是否存在市省,如果不存在则补全
+                if (strpos($province_name, '省') === false) {
+                    $province_name = $province_name . '省';
+                }
+            }
+            if ($city_name != '') {
+                $city_name = $CitysModel->where([['name', 'like', "%$city_name%"], ['level', '=', '2']])->value('name');
+            }
             $insert_product_data = [
                 'company_id' => $company_id,
                 'source_id' => $product_data['id'],
@@ -98,9 +134,9 @@ class ViolationStoreDataJobs implements ShouldQueue
                 'store_name'    => $product_data['store_name'],
                 'social_credit_code' => $social_credit_code,
                 'province_id'    => $product_data['province_id'],
-                'province_name' => $product_data['province_name'],
+                'province_name' => $province_name,
                 'city_id' => $product_data['city_id'],
-                'city_name' => $product_data['city_name'],
+                'city_name' => $city_name,
                 'area_info' => $product_data['area_info'],
                 'company_category_name' => $company_category_name,
                 'first_responsible_person' => '',