SurfaceServices.php 5.6 KB

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