TestsController.php 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: qiuzijian
  5. * Date: 2021-05-18
  6. * Time: 15:09
  7. */
  8. namespace App\Http\Controllers;
  9. use Illuminate\Support\Facades\Config;
  10. use Illuminate\Support\Facades\DB;
  11. use Illuminate\Support\Facades\Input;
  12. use Illuminate\Support\Facades\Log;
  13. use Illuminate\Support\Facades\Redis;
  14. use Modules\Camera\Entities\CameraList;
  15. use Modules\Camera\Enum\CameraEnum;
  16. use Modules\Camera\Http\Controllers\Api\HaiKangController;
  17. use Modules\Camera\Http\Controllers\Api\TdwyController;
  18. use Modules\Camera\Jobs\CameraDownload;
  19. use Modules\Camera\Services\CameraServices;
  20. use Modules\Mine\Entities\MineList;
  21. use Modules\Mine\Entities\MineListExt;
  22. use Modules\Mine\Services\MineServices;
  23. class TestsController {
  24. public function test()
  25. {
  26. //宁煤洗选重复摄像头
  27. //$this->xixuan_repeat();
  28. //新接入摄像头接口测试
  29. //$this->new_joggle();
  30. //乐橙token
  31. $this->token();
  32. //乐橙直播列表
  33. $this->list();
  34. }
  35. //直播列表
  36. public function list(){
  37. // At_0000bd7f06fa796842778d92b50d4d2d
  38. $url = 'https://openapi.lechange.cn/openapi/liveList';
  39. //当前的UTC时间戳
  40. $time= strtotime(date('Y-m-d H:i:s',time()));
  41. //随机字符串
  42. $nonce = md5(time());
  43. //授权信息之appid
  44. $appId='lc753b03152e3b4f1e';
  45. //授权信息之appSecret
  46. $appSecret='cc9b1224acd24571a5daf18e8c7f94';
  47. //拼接计算“签名原始串”
  48. $signStr="time:$time,nonce:$nonce,appSecret:$appSecret";
  49. //计算摘要 sign
  50. $sign=md5($signStr);
  51. //业务参数
  52. $params = [
  53. 'token'=>'At_0000bd7f06fa796842778d92b50d4d2d',
  54. 'queryRange'=>"1-10"
  55. ];
  56. //组装调用接口的body体内容
  57. $data = json_encode([
  58. 'system'=>
  59. [
  60. 'ver'=>'1.0',
  61. 'sign'=>$sign,
  62. 'appId'=>$appId,
  63. 'time'=>$time,
  64. 'nonce'=>$nonce
  65. ],
  66. 'params'=>empty($params)? new \stdClass():$params,
  67. 'id'=>'88'
  68. ]);
  69. //http调用
  70. $ret = $this->curl_post($data, $url);
  71. $utf8 = iconv('utf-8', 'UTF-8', $ret);
  72. //调用后返回输出
  73. echo 'result:<br>'.nl2br($utf8 ).'<br>';
  74. }
  75. public function token(){
  76. // At_0000bd7f06fa796842778d92b50d4d2d
  77. $url = 'https://openapi.lechange.cn:443/openapi/accessToken';
  78. //当前的UTC时间戳
  79. $time= strtotime(date('Y-m-d H:i:s',time()));
  80. //随机字符串
  81. $nonce = md5(time());
  82. //授权信息之appid
  83. $appId='lc753b03152e3b4f1e';
  84. //授权信息之appSecret
  85. $appSecret='cc9b1224acd24571a5daf18e8c7f94';
  86. //拼接计算“签名原始串”
  87. $signStr="time:$time,nonce:$nonce,appSecret:$appSecret";
  88. //计算摘要 sign
  89. $sign=md5($signStr);
  90. //业务参数
  91. $params = [];
  92. //组装调用接口的body体内容
  93. $data = json_encode([
  94. 'system'=>
  95. [
  96. 'ver'=>'1.0',
  97. 'sign'=>$sign,
  98. 'appId'=>$appId,
  99. 'time'=>$time,
  100. 'nonce'=>$nonce
  101. ],
  102. 'params'=>empty($params)? new \stdClass():$params,
  103. 'id'=>'88'
  104. ]);
  105. //http调用
  106. $ret = $this->curl_post($data, $url);
  107. $utf8 = iconv('utf-8', 'UTF-8', $ret);
  108. //调用后返回输出
  109. echo 'result:<br>'.nl2br($utf8 ).'<br>';
  110. }
  111. function curl_post($data,$url)
  112. {
  113. $ch = curl_init();
  114. $res= curl_setopt ($ch, CURLOPT_URL,$url);
  115. var_dump($res);
  116. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  117. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  118. curl_setopt ($ch, CURLOPT_HEADER, 0);
  119. curl_setopt($ch, CURLOPT_POST, 1);
  120. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  121. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  122. $result = curl_exec ($ch);
  123. curl_close($ch);
  124. if ($result == NULL) {
  125. return 0;
  126. }
  127. return $result;
  128. }
  129. //新接入摄像头接口测试
  130. public function new_joggle(){
  131. $mine_id_list = MineListExt::where('is_hak', 1)->pluck('mine_id')->all();
  132. // dd($mine_id_list);
  133. MineServices::getHaiKangArea(4569, CameraEnum::REQUEST_TYPE_LOCAL);//配合修改mineext和haikangcontroller里打印
  134. dd(123);
  135. }
  136. //宁煤洗选重复摄像头
  137. public function xixuan_repeat(){
  138. $mine_all = DB::table('mine_list')->where('deleted_at',null)->get();//所有区域
  139. //宁煤下各矿在离线数量
  140. $mine_list = DB::table('mine_list')->where('parent_id',968)->where('deleted_at',null)->get();
  141. $mine_use = [];//宁煤下每个矿所有区域
  142. foreach($mine_all as $key=>$value){
  143. if(count(explode('|',$value->degree)) > 1){
  144. if(explode('|',$value->degree)[0] == 968 && explode('|',$value->degree)[1] == 2429){
  145. $mine_use[] = $value->id;
  146. }
  147. }
  148. }
  149. $total = DB::table('camera_list')
  150. ->select('camera_list.camera_name','camera_list.camera_status','mine_list.title')
  151. ->leftJoin('mine_list','mine_list.id','=','camera_list.mine_id')
  152. ->whereIn('camera_list.mine_id',$mine_use)
  153. ->where('camera_list.deleted_at',null)
  154. ->where('mine_list.deleted_at',null)
  155. ->orderBy('mine_list.title')
  156. ->get();
  157. // dd($total);
  158. $aa = [];
  159. foreach($total as $k=>$v){
  160. $aa[] = $v->camera_name;
  161. }
  162. $unique_arr = array_unique ( $aa );
  163. // dd($unique_arr);
  164. $repeat_arr = array_diff_assoc ( $aa, $unique_arr );
  165. return $repeat_arr;
  166. }
  167. }