SurfaceServices.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: qiuzijian
  5. * Date: 2021-05-31
  6. * Time: 09:20
  7. */
  8. namespace Modules\Mine\Services;
  9. use App\Enum\ApiEnum;
  10. use Illuminate\Support\Arr;
  11. use Illuminate\Support\Facades\Cache;
  12. use Illuminate\Support\Facades\Input;
  13. use Illuminate\Support\Facades\Log;
  14. use Modules\Admin\Enum\AdminEnum;
  15. use Modules\Camera\Enum\CameraEnum;
  16. use Modules\Mine\Entities\MineList;
  17. use Modules\Mine\Entities\WorkingSurface;
  18. use Modules\Mine\Entities\WorkingSurfaceCamera;
  19. class SurfaceServices{
  20. //获取工作面列表
  21. public static function getSurfaceList()
  22. {
  23. $query = WorkingSurface::join(
  24. 'mine_list', 'working_surface.mine_id', '=', 'mine_list.id'
  25. )->orderBy('working_surface.created_at', 'desc')->select(
  26. [
  27. 'working_surface.id',
  28. 'working_surface.surface_name',
  29. 'mine_list.title'
  30. ]
  31. )->get();
  32. return $query;
  33. }
  34. //查询工作面详情
  35. public static function getSrufaceDetail($surface_id)
  36. {
  37. $query = WorkingSurface::join(
  38. 'mine_list', 'working_surface.mine_id', '=', 'mine_list.id'
  39. )->where('working_surface.id', $surface_id)->select(
  40. [
  41. 'mine_list.title',
  42. 'working_surface.surface_name'
  43. ]
  44. )->first();
  45. return $query;
  46. }
  47. //添加工作面操作
  48. public static function addSurfaceList($params)
  49. {
  50. $result['status'] = true;
  51. $result['msg'] = AdminEnum::RETURN_SUCCESS;
  52. $res = WorkingSurface::insert(
  53. [
  54. 'mine_id' => $params['mine_id'],
  55. 'surface_name' => $params['surface_name'],
  56. 'created_at' => date('Y-m-d H:i:s', time()),
  57. 'updated_at' => date('Y-m-d H:i:s', time()),
  58. ]
  59. );
  60. if (!$res) {
  61. $result['status'] = false;
  62. $result['msg'] = AdminEnum::DATABASE_ERROR;
  63. }
  64. return $result;
  65. }
  66. //编辑工作面操作
  67. public static function editSurfaceList($params)
  68. {
  69. $result['status'] = true;
  70. $result['msg'] = AdminEnum::RETURN_SUCCESS;
  71. //判断数据是否存在
  72. $query = WorkingSurface::find($params['id']);
  73. if (!$query) {
  74. $result['status'] = false;
  75. $result['msg'] = AdminEnum::RECORD_NOT_EXIST;
  76. return $result;
  77. }
  78. $res = WorkingSurface::where('id', $params['id'])->update(
  79. [
  80. 'mine_id' => $params['mine_id'],
  81. 'surface_name' => $params['surface_name'],
  82. 'updated_at' => date('Y-m-d H:i:s', time()),
  83. ]
  84. );
  85. if (!$res) {
  86. $result['status'] = false;
  87. $result['msg'] = AdminEnum::DATABASE_ERROR;
  88. }
  89. return $result;
  90. }
  91. //删除工作面操作
  92. public static function delSurfaceList($params)
  93. {
  94. $result['status'] = true;
  95. $result['msg'] = AdminEnum::RETURN_SUCCESS;
  96. //判断数据是否存在
  97. $query = WorkingSurface::find($params['id']);
  98. if (!$query) {
  99. $result['status'] = false;
  100. $result['msg'] = AdminEnum::RECORD_NOT_EXIST;
  101. return $result;
  102. }
  103. $res = WorkingSurface::where('id', $params['id'])->delete();
  104. if (!$res) {
  105. $result['status'] = false;
  106. $result['msg'] = AdminEnum::DATABASE_ERROR;
  107. }
  108. return $result;
  109. }
  110. //更新摄像头与工作面关联
  111. public static function updateSrufaceCamera($params)
  112. {
  113. $query = WorkingSurfaceCamera::where('camera_id', $params['id'])->exists();
  114. if (!$query) {
  115. if ($params['surface_id']) {
  116. WorkingSurfaceCamera::insert(
  117. [
  118. 'surface_id' => $params['surface_id'],
  119. 'camera_id' => $params['id'],
  120. 'created_at' => date('Y-m-d H:i:s', time()),
  121. 'updated_at' => date('Y-m-d H:i:s', time()),
  122. ]
  123. );
  124. }
  125. } else {
  126. WorkingSurfaceCamera::where('camera_id', $params['id'])->update(
  127. [
  128. 'surface_id' => $params['surface_id'],
  129. 'updated_at' => date('Y-m-d H:i:s', time()),
  130. ]
  131. );
  132. }
  133. }
  134. //获取工作面列表
  135. public static function getApiSurfaceList()
  136. {
  137. $result['status'] = true;
  138. $result['msg'] = ApiEnum::RETURN_SUCCESS;
  139. $query = MineList::where('parent_id', 0)->select(
  140. [
  141. 'id as parent_id',
  142. 'title as mine_name',
  143. ]
  144. )->get()->toArray();
  145. foreach ($query as $key => $val) {
  146. $surface = WorkingSurface::where('mine_id', $val['parent_id'])->orderBy('created_at', 'desc')->select(
  147. [
  148. 'id as surface_id',
  149. 'surface_name'
  150. ]
  151. )->get()->toArray();
  152. $query[$key]['surface_list'] = $surface;
  153. }
  154. $result['data'] = $query;
  155. return $result;
  156. }
  157. }