Selaa lähdekoodia

添加同步海康区域脚本

qiuzijian 4 vuotta sitten
vanhempi
commit
159459e5d7

+ 40 - 38
.idea/workspace.xml

@@ -3,6 +3,8 @@
   <component name="ChangeListManager">
     <list default="true" id="b5beace6-e4f4-419b-8299-c67e17af5998" name="Default Changelist" comment="">
       <change beforePath="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/HaiKangController.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/HaiKangController.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Modules/Mine/Services/MineServices.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Mine/Services/MineServices.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/Console/Commands/UpdateHkList.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Console/Commands/UpdateHkList.php" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
@@ -52,7 +54,7 @@
         <entry file="file://$PROJECT_DIR$/Modules/Mine/Http/Controllers/Api/MineApiController.php">
           <provider selected="true" editor-type-id="text-editor">
             <state relative-caret-position="487">
-              <caret line="52" column="45" lean-forward="true" selection-start-line="52" selection-start-column="29" selection-end-line="52" selection-end-column="74" />
+              <caret line="52" column="43" selection-start-line="52" selection-start-column="43" selection-end-line="52" selection-end-column="43" />
               <folding>
                 <element signature="e#139#160#0#PHP" expanded="true" />
               </folding>
@@ -63,8 +65,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/Modules/Mine/Http/Controllers/MineController.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="412">
-              <caret line="75" column="32" lean-forward="true" selection-start-line="75" selection-start-column="32" selection-end-line="75" selection-end-column="32" />
+            <state relative-caret-position="331">
+              <caret line="76" column="31" lean-forward="true" selection-start-line="75" selection-start-column="8" selection-end-line="76" selection-end-column="31" />
               <folding>
                 <element signature="e#49#93#0#PHP" expanded="true" />
               </folding>
@@ -84,8 +86,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/Modules/Mine/Services/MineServices.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="529">
-              <caret line="273" column="38" selection-start-line="273" selection-start-column="38" selection-end-line="273" selection-end-column="38" />
+            <state relative-caret-position="508">
+              <caret line="274" column="39" selection-start-line="274" selection-start-column="39" selection-end-line="274" selection-end-column="39" />
               <folding>
                 <element signature="e#127#148#0#PHP" expanded="true" />
               </folding>
@@ -93,11 +95,11 @@
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="true">
+      <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/HaiKangController.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="272">
-              <caret line="56" column="20" selection-start-line="56" selection-start-column="20" selection-end-line="56" selection-end-column="20" />
+            <state relative-caret-position="199">
+              <caret line="127" column="39" selection-start-line="127" selection-start-column="27" selection-end-line="127" selection-end-column="39" />
               <folding>
                 <element signature="e#141#185#0#PHP" expanded="true" />
               </folding>
@@ -105,11 +107,11 @@
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="false">
+      <file pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/app/Console/Commands/UpdateHkList.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="550">
-              <caret line="51" column="87" selection-start-line="51" selection-start-column="87" selection-end-line="51" selection-end-column="87" />
+            <state relative-caret-position="508">
+              <caret line="50" column="77" lean-forward="true" selection-start-line="50" selection-start-column="77" selection-end-line="50" selection-end-column="77" />
               <folding>
                 <element signature="e#40#71#0#PHP" expanded="true" />
               </folding>
@@ -206,10 +208,10 @@
         <option value="$PROJECT_DIR$/Modules/Camera/Jobs/CameraDownload.php" />
         <option value="$PROJECT_DIR$/Modules/Mine/Http/Controllers/Api/MineApiController.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php" />
-        <option value="$PROJECT_DIR$/Modules/Mine/Services/MineServices.php" />
         <option value="$PROJECT_DIR$/app/Http/Controllers/TestsController.php" />
-        <option value="$PROJECT_DIR$/app/Console/Commands/UpdateHkList.php" />
+        <option value="$PROJECT_DIR$/Modules/Mine/Services/MineServices.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/HaiKangController.php" />
+        <option value="$PROJECT_DIR$/app/Console/Commands/UpdateHkList.php" />
       </list>
     </option>
   </component>
@@ -518,12 +520,12 @@
       <updated>1618368322468</updated>
       <workItem from="1618368323697" duration="143000" />
       <workItem from="1618368497550" duration="219162000" />
-      <workItem from="1621301484015" duration="13956000" />
+      <workItem from="1621301484015" duration="17608000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="233261000" />
+    <option name="totallyTimeSpent" value="236913000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="0" y="0" width="1440" height="900" extended-state="0" />
@@ -812,16 +814,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Mine/Http/Controllers/MineController.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="412">
-          <caret line="75" column="32" lean-forward="true" selection-start-line="75" selection-start-column="32" selection-end-line="75" selection-end-column="32" />
-          <folding>
-            <element signature="e#49#93#0#PHP" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="-4702">
@@ -869,39 +861,49 @@
     <entry file="file://$PROJECT_DIR$/Modules/Mine/Http/Controllers/Api/MineApiController.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="487">
-          <caret line="52" column="45" lean-forward="true" selection-start-line="52" selection-start-column="29" selection-end-line="52" selection-end-column="74" />
+          <caret line="52" column="43" selection-start-line="52" selection-start-column="43" selection-end-line="52" selection-end-column="43" />
           <folding>
             <element signature="e#139#160#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Mine/Services/MineServices.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Mine/Http/Controllers/MineController.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="529">
-          <caret line="273" column="38" selection-start-line="273" selection-start-column="38" selection-end-line="273" selection-end-column="38" />
+        <state relative-caret-position="331">
+          <caret line="76" column="31" lean-forward="true" selection-start-line="75" selection-start-column="8" selection-end-line="76" selection-end-column="31" />
           <folding>
-            <element signature="e#127#148#0#PHP" expanded="true" />
+            <element signature="e#49#93#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/Console/Commands/UpdateHkList.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/HaiKangController.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="550">
-          <caret line="51" column="87" selection-start-line="51" selection-start-column="87" selection-end-line="51" selection-end-column="87" />
+        <state relative-caret-position="199">
+          <caret line="127" column="39" selection-start-line="127" selection-start-column="27" selection-end-line="127" selection-end-column="39" />
           <folding>
-            <element signature="e#40#71#0#PHP" expanded="true" />
+            <element signature="e#141#185#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/HaiKangController.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Mine/Services/MineServices.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="272">
-          <caret line="56" column="20" selection-start-line="56" selection-start-column="20" selection-end-line="56" selection-end-column="20" />
+        <state relative-caret-position="508">
+          <caret line="274" column="39" selection-start-line="274" selection-start-column="39" selection-end-line="274" selection-end-column="39" />
           <folding>
-            <element signature="e#141#185#0#PHP" expanded="true" />
+            <element signature="e#127#148#0#PHP" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/Console/Commands/UpdateHkList.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="508">
+          <caret line="50" column="77" lean-forward="true" selection-start-line="50" selection-start-column="77" selection-end-line="50" selection-end-column="77" />
+          <folding>
+            <element signature="e#40#71#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>

+ 57 - 31
Modules/Camera/Http/Controllers/Api/HaiKangController.php

@@ -13,6 +13,7 @@ use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Input;
 use Illuminate\Support\Facades\Log;
 use Modules\Camera\Enum\CameraEnum;
+use Modules\Mine\Services\MineServices;
 
 
 class HaiKangController extends BaseController
@@ -65,7 +66,8 @@ class HaiKangController extends BaseController
         $params['pageSize'] = 1000;
         $this->sign         = $this->get_sign($url);
 
-        $type = Input::get('type');
+        $type    = Input::get('type');
+        $mine_id = Input::get('mine_id');
 
         $result = $this->curlPost($this->pre_url . $url, json_encode($params));
         $result = json_decode($result, true);
@@ -78,47 +80,71 @@ class HaiKangController extends BaseController
             }
             $result['data']['list'] = array_values($list);
         }
-//        if ($request->has('type') && $request->input('type') == 'has_sub') {
-        $result['data']['list'] = $this->regionsTree($result['data']['list'], $type);
-//        }
+
+        if ($type == CameraEnum::REQUEST_TYPE_API) {
+            $result['data']['list'] = $this->regionsTree($result['data']['list']);
+        } else {
+            $result['data']['list'] = $this->saveTree($result['data']['list'], $mine_id);
+        }
+
         return $result;
     }
 
-    protected function regionsTree($regions, $type, $pid = 'root000000')
+    protected function regionsTree($regions, $pid = 'root000000')
     {
         $arr = [];
         if (empty($regions)) {
             return [];
         }
 
-        if ($type == CameraEnum::REQUEST_TYPE_API) {
-            foreach ($regions as $key => $value) {
-                if (isset($value['parentIndexCode']) && $value['parentIndexCode'] == $pid) {
-                    $arr[$key]['indexCode']       = $value['indexCode'];
-                    $arr[$key]['mine_id']         = $value['indexCode'];
-                    $arr[$key]['name']            = $value['name'];
-                    $arr[$key]['parentIndexCode'] = $value['parentIndexCode'];
-                    $arr[$key]['treeCode']        = $value['treeCode'];
-                    $arr[$key]['children']        = array_values(self::regionsTree($regions, $type, $value['indexCode']));
-                    unset($arr[$key]['indexCode']);
-                    unset($arr[$key]['parentIndexCode']);
-                    unset($arr[$key]['treeCode']);
-                    if (count($arr[$key]['children']) == 0) {
-                        unset($arr[$key]['children']);
-                    }
+        foreach ($regions as $key => $value) {
+            if (isset($value['parentIndexCode']) && $value['parentIndexCode'] == $pid) {
+                $arr[$key]['indexCode']       = $value['indexCode'];
+                $arr[$key]['mine_id']         = $value['indexCode'];
+                $arr[$key]['name']            = $value['name'];
+                $arr[$key]['parentIndexCode'] = $value['parentIndexCode'];
+                $arr[$key]['treeCode']        = $value['treeCode'];
+                $arr[$key]['children']        = array_values(self::regionsTree($regions, $value['indexCode']));
+                unset($arr[$key]['indexCode']);
+                unset($arr[$key]['parentIndexCode']);
+                unset($arr[$key]['treeCode']);
+                if (count($arr[$key]['children']) == 0) {
+                    unset($arr[$key]['children']);
                 }
             }
-        } else {
-            foreach ($regions as $key => $value) {
-                if (isset($value['parentIndexCode']) && $value['parentIndexCode'] == $pid) {
-                    $arr[$key]['indexCode']       = $value['indexCode'];
-                    $arr[$key]['name']            = $value['name'];
-                    $arr[$key]['parentIndexCode'] = $value['parentIndexCode'];
-                    $arr[$key]['treeCode']        = $value['treeCode'];
-                    $arr[$key]['children']        = array_values(self::regionsTree($regions, $type, $value['indexCode']));
-                    if (count($arr[$key]['children']) == 0) {
-                        unset($arr[$key]['children']);
-                    }
+        }
+
+        return array_values($arr);
+    }
+
+    protected function saveTree($regions, $parent_id, $pid = 'root000000')
+    {
+
+        $arr = [];
+        if (empty($regions)) {
+            return [];
+        }
+
+        $mineService = new MineServices();
+        $mineService->initMineList();
+
+        foreach ($regions as $key => $value) {
+            if (isset($value['parentIndexCode']) && $value['parentIndexCode'] == $pid) {
+                $arr[$key]['indexCode']       = $value['indexCode'];
+                $arr[$key]['mine_id']         = $value['indexCode'];
+                $arr[$key]['name']            = $value['name'];
+                $arr[$key]['parentIndexCode'] = $value['parentIndexCode'];
+                $arr[$key]['treeCode']        = $value['treeCode'];
+                $params = [
+                    'parent_id' => $parent_id,
+                    'title'     => $value['name'],
+                    'sort'      => 1,
+                ];
+                $result  = $mineService->add($params);
+                $mine_id = $result->id;
+                $arr[$key]['children']        = array_values(self::saveTree($regions, $mine_id, $value['indexCode']));
+                if (count($arr[$key]['children']) == 0) {
+                    unset($arr[$key]['children']);
                 }
             }
         }

+ 5 - 4
Modules/Mine/Services/MineServices.php

@@ -264,10 +264,11 @@ class MineServices{
 
         Input::replace(
             [
-                'url'    => trim($query->ip, '/') . ':' . $query->port,
-                'key'    => $query->key,
-                'secret' => $query->secret,
-                'type'   => $type,
+                'url'     => trim($query->ip, '/') . ':' . $query->port,
+                'key'     => $query->key,
+                'secret'  => $query->secret,
+                'type'    => $type,
+                'mine_id' => $mine_id,
             ]
         );
         $haikang   = new HaiKangController();

+ 3 - 5
app/Console/Commands/UpdateHkList.php

@@ -5,6 +5,7 @@ namespace App\Console\Commands;
 use Illuminate\Console\Command;
 use Modules\Camera\Enum\CameraEnum;
 use Modules\Mine\Entities\MineListExt;
+use Modules\Mine\Services\MineServices;
 
 class UpdateHkList extends Command
 {
@@ -46,14 +47,11 @@ class UpdateHkList extends Command
     public function updateAreaList()
     {
         //查询使用海康服务器的矿区id
-        $mine_id_list = MineListExt::where('is_hak', 1)->pluck('id')->all();
+//        $mine_id_list = MineListExt::where('is_hak', 1)->pluck('id')->all();
+        $mine_id_list = MineListExt::where('mine_id', 5)->pluck('id')->all();
 
         foreach ($mine_id_list as $key => $val) {
             $result = MineServices::getHaiKangArea($val, CameraEnum::REQUEST_TYPE_LOCAL);
-
-            if ($result['status']) {
-
-            }
         }
     }
 }