소스 검색

天地伟业区域同步

任敬轩 3 년 전
부모
커밋
68e1233220
2개의 변경된 파일91개의 추가작업 그리고 0개의 파일을 삭제
  1. 58 0
      Modules/Camera/Http/Controllers/Api/TdwyController.php
  2. 33 0
      app/Console/Commands/UpdateHkList.php

+ 58 - 0
Modules/Camera/Http/Controllers/Api/TdwyController.php

@@ -12,6 +12,8 @@ use App\Http\Controllers\Api\BaseController;
 use Illuminate\Support\Facades\Cache;
 use Illuminate\Support\Facades\Input;
 use Modules\Camera\Enum\CameraEnum;
+use Modules\Mine\Entities\MineList;
+use Modules\Mine\Services\MineServices;
 
 
 class TdwyController extends BaseController
@@ -135,6 +137,62 @@ class TdwyController extends BaseController
         return $result;
     }
 
+    //天地伟业获取区域列表
+    protected function saveTree($regions, $parent_id)
+    {
+        $arr = [];
+        if (empty($regions['content'])) {
+            return [];
+        }
+
+        $mineService = new MineServices();
+        $mineService->initMineList();
+
+        $arr_count = $regions['count'];
+
+        foreach ($regions['content'][0]['data'] as $key => $value) {
+
+            $arr[$key]['parentOrgId']       = $value['parentOrgId'];
+            $arr[$key]['orgId']             = $value['orgId'];
+            $arr[$key]['name']              = str_replace('#', '号', $value['orgName']);
+
+            $id      = MineList::where('index_code', $value['orgId'])->value('id');
+
+            $params  = [
+                'id'         => $id,
+                'parent_id'  => $parent_id,
+                'title'      => $value['orgName'],
+                'sort'       => $arr_count - $key,
+                'index_code' => $value['orgId'],
+            ];
+
+            $result  = $mineService->add($params);
+
+            $mine_id = $result->id;
+
+            Input::replace(
+                [
+                    'parentOrgIds'   => $value['orgId'],
+                    'url'      => Input::get('url', ''),
+                    'username' => Input::get('username', ''),
+                    'password' => Input::get('password', ''),
+                    'sysId'     => 'PG',
+
+                ]
+            );
+
+            $region_child = $this->getRegionByOrgId();
+
+            $arr[$key]['children'] = self::saveTree($region_child, $mine_id);
+            if (count($arr[$key]['children']) == 0) {
+                unset($arr[$key]['children']);
+            }
+
+        }
+
+        return array_values($arr);
+    }
+
     /**
      * 发送请求
      * @param string $url

+ 33 - 0
app/Console/Commands/UpdateHkList.php

@@ -60,6 +60,39 @@ class UpdateHkList extends Command
         foreach ($mine_id_list as $key => $val) {
             MineServices::getHaiKangArea($val, CameraEnum::REQUEST_TYPE_LOCAL);
         }
+
+        //同步天地伟业矿区区域
+        $mine_list_ext = DB::table('mine_list_ext')
+            ->select('mine_list_ext.*','mine_list.parent_id')
+            ->leftJoin('mine_list','mine_list.id','=','mine_list_ext.mine_id')
+            ->where('mine_list.parent_id',0)
+            ->where('mine_list_ext.is_hak',MineEnum::IS_HAK_TD)
+            ->where('mine_list_ext.ip','!=','')
+            ->where('mine_list_ext.port','!=','')
+            ->where('mine_list_ext.key','!=','')
+            ->where('mine_list_ext.secret','!=','')->get();
+
+        if(sizeof($mine_list_ext)>0){
+            for($i=0;$i<sizeof($mine_list_ext);$i++){//循环同步所有天地伟业矿区
+
+                Input::replace(
+                    [
+                        'parentOrgIds'   => $mine_list_ext[$i]->sOrgId,
+                        'url'      => $mine_list_ext[$i]->ip.":".$mine_list_ext[$i]->port,
+                        'username' => $mine_list_ext[$i]->key,
+                        'password' => $mine_list_ext[$i]->secret,
+                        'sysId'     => 'PG',
+                    ]
+                );
+                $tdwy = new TdwyController();
+                $region = $tdwy->getRegionByOrgId();
+                $mine_id = $mine_list_ext[$i]->mine_id;
+                //更新区域
+                $result['data']['list'] = $tdwy->saveTree($region, $mine_id);
+                //dd($result['data']['list']);
+            }
+        }
+
     }
 
     public function updateCameraList()