CameraServices.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: qiuzijian
  5. * Date: 2021-04-20
  6. * Time: 15:33
  7. */
  8. namespace Modules\Camera\Services;
  9. use Illuminate\Support\Facades\Cache;
  10. use Illuminate\Support\Facades\Log;
  11. use Modules\Admin\Enum\AdminEnum;
  12. use Modules\Camera\Entities\CameraFieldList;
  13. use Modules\Camera\Entities\CameraList;
  14. class CameraServices
  15. {
  16. //添加摄像头链接
  17. public static function addCameraList($params)
  18. {
  19. $result['status'] = true;
  20. $result['msg'] = AdminEnum::RETURN_SUCCESS;
  21. //判断字段是否已存在
  22. // $query = CameraList::where('mine_id', $params['mine_id'])->first();
  23. //
  24. // if ($query) {
  25. // $result['status'] = false;
  26. // $result['msg'] = AdminEnum::RECORD_ALREADY_EXIST;
  27. // return $result;
  28. // }
  29. $camera_url = self::makeCameraUrl($params);
  30. //入库动作
  31. $res = CameraList::insert(
  32. [
  33. 'mine_id' => $params['mine_id'],
  34. 'ip' => $params['ip'],
  35. 'port' => $params['port'],
  36. 'user_name' => $params['user_name'],
  37. 'password' => $params['password'],
  38. 'com_number' => $params['com_number'],
  39. // 'status' => $params['status'],
  40. 'camera_url' => $camera_url,
  41. 'created_at' => date('Y-m-d H:i:s'),
  42. 'updated_at' => date('Y-m-d H:i:s'),
  43. ]
  44. );
  45. if (!$res) {
  46. $result['status'] = false;
  47. $result['msg'] = AdminEnum::DATABASE_ERROR;
  48. }
  49. return $result;
  50. }
  51. //生成摄像头请求链接
  52. public static function makeCameraUrl($params)
  53. {
  54. $url = 'rtsp://' . $params['user_name'] . ':' . $params['password'] . '@';
  55. $url .= $params['ip'] . ':' . $params['port'] . '/' . 'h264' . '/' . 'ch' . $params['com_number'] . '/';
  56. $url .= 'main/av_stream';
  57. return $url;
  58. }
  59. //删除摄像头列表记录
  60. public static function delCameraList($params)
  61. {
  62. $result['status'] = true;
  63. $result['msg'] = AdminEnum::RETURN_SUCCESS;
  64. //判断字段是否存在
  65. $query = CameraList::find($params['id']);
  66. if (!$query) {
  67. $result['status'] = false;
  68. $result['msg'] = AdminEnum::RECORD_NOT_EXIST;
  69. return $result;
  70. }
  71. $res = CameraList::where('id', $params['id'])->delete();
  72. if (!$res) {
  73. $result['status'] = false;
  74. $result['msg'] = AdminEnum::DATABASE_ERROR;
  75. }
  76. return $result;
  77. }
  78. //添加摄像头链接生成字段
  79. public static function addCameraFieldList($params)
  80. {
  81. $result['status'] = true;
  82. $result['msg'] = AdminEnum::RETURN_SUCCESS;
  83. //判断字段是否已存在
  84. $query = CameraFieldList::where('field_name', $params['field_name'])->first();
  85. if ($query) {
  86. $result['status'] = false;
  87. $result['msg'] = AdminEnum::RECORD_ALREADY_EXIST;
  88. return $result;
  89. }
  90. //入库动作
  91. $res = CameraFieldList::insert(
  92. [
  93. 'field_name' => $params['field_name'],
  94. 'created_at' => date('Y-m-d H:i:s'),
  95. 'updated_at' => date('Y-m-d H:i:s'),
  96. ]
  97. );
  98. if (!$res) {
  99. $result['status'] = false;
  100. $result['msg'] = AdminEnum::DATABASE_ERROR;
  101. }
  102. return $result;
  103. }
  104. //编辑摄像头链接生成字段
  105. public static function editCameraFieldList($params)
  106. {
  107. $result['status'] = true;
  108. $result['msg'] = AdminEnum::RETURN_SUCCESS;
  109. //判断字段是否存在
  110. $query = CameraFieldList::find($params['id']);
  111. if (!$query) {
  112. $result['status'] = false;
  113. $result['msg'] = AdminEnum::RECORD_NOT_EXIST;
  114. return $result;
  115. }
  116. $res = CameraFieldList::where('id', $params['id'])->update(
  117. [
  118. 'field_name' => $params['field_name'],
  119. 'updated_at' => date('Y-m-d H:i:s'),
  120. ]
  121. );
  122. if (!$res) {
  123. $result['status'] = false;
  124. $result['msg'] = AdminEnum::DATABASE_ERROR;
  125. }
  126. return $result;
  127. }
  128. //删除摄像头链接生成字段
  129. public static function delCameraFieldList($params)
  130. {
  131. $result['status'] = true;
  132. $result['msg'] = AdminEnum::RETURN_SUCCESS;
  133. //判断字段是否存在
  134. $query = CameraFieldList::find($params['id']);
  135. if (!$query) {
  136. $result['status'] = false;
  137. $result['msg'] = AdminEnum::RECORD_NOT_EXIST;
  138. return $result;
  139. }
  140. $res = CameraFieldList::where('id', $params['id'])->delete();
  141. if (!$res) {
  142. $result['status'] = false;
  143. $result['msg'] = AdminEnum::DATABASE_ERROR;
  144. }
  145. return $result;
  146. }
  147. }