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