MineController.php 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. <?php
  2. namespace Modules\Mine\Http\Controllers;
  3. use Illuminate\Contracts\Support\Renderable;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Routing\Controller;
  6. use Illuminate\Support\Facades\Log;
  7. use Modules\Admin\Auxiliary\View\FromAuxiliary;
  8. use Modules\Admin\Auxiliary\View\TreeAuxiliary;
  9. use Modules\Admin\Http\Controllers\BaseController;
  10. use Modules\Mine\Entities\MineList;
  11. use Modules\Mine\Enum\MineEnum;
  12. use Modules\Mine\Services\MineServices;
  13. use DB;
  14. class MineController extends BaseController
  15. {
  16. /**
  17. * Display a listing of the resource.
  18. * @return Renderable
  19. */
  20. public function index()
  21. {
  22. return view('mine::index');
  23. }
  24. //矿区单位列表
  25. public function mineList(Request $request)
  26. {
  27. $this->menusActive[0] = 'adminMine';
  28. $this->menusActive[1] = 'adminMineList';
  29. $list = MineServices::getAdminMineList($request->user()->staff_num);
  30. $tableObj = new TreeAuxiliary('mine/list', $list);
  31. $tableObj->column('title', '区域名称');
  32. $tableObj->column('sort', '排序');
  33. $tableObj->column('ip', 'ip');
  34. $tableObj->column('port', 'port');
  35. $tableObj->column('key', '请求key(登录名)');
  36. $tableObj->column('secret', '请求secret(密码)');
  37. $tableObj->column('is_hak', '视频服务器类型');
  38. return $this->tree($tableObj);
  39. }
  40. //添加矿区单位
  41. public function mineAdd(Request $request)
  42. {
  43. $mineService = new MineServices();
  44. $mineService->initMineList();
  45. $titleList = $mineService->getTierList();
  46. $formObj = new FromAuxiliary('mine/list/add');
  47. $formObj->tree_select('parent_id', '父级区域', $titleList);
  48. $formObj->input('title', '区域名称');
  49. $formObj->input('sort', '排序', 1);
  50. $formObj->radio('is_hak', '视频服务器类型', [MineEnum::IS_HAK_YES => '海康',MineEnum::IS_HAK_TD => '天地伟业',MineEnum::IS_HAK_NO => '其它', ], 1);
  51. $formObj->input('ip', 'ip地址');
  52. $formObj->input('port', '端口');
  53. $formObj->input('key', '请求key');
  54. $formObj->input('secret', '请求secret');
  55. $formObj->input('sOrgId', '设备ID');
  56. // $formObj->radio('show', '是否显示', [1 => '是', 0 => '否'], 1);
  57. $formObj->title = '添加区域';
  58. return $this->from($formObj);
  59. }
  60. //添加矿区单位操作
  61. public function mineAddPost(Request $request)
  62. {
  63. if (!$request->input('title')) {
  64. return $this->error(1, '请输入矿区单位名称');
  65. }
  66. $mineService = new MineServices();
  67. $mineService->initMineList();
  68. $result = $mineService->add($request->all());
  69. $mine_id = $result->id;
  70. if ($request->input('is_hak') == MineEnum::IS_HAK_YES) {//海康
  71. if (!$request->input('ip') || !$request->input('port')
  72. || !$request->input('key') || !$request->input('secret')
  73. ) {
  74. return $this->error(1, '请输入连接视频服务器必传参数');
  75. }
  76. MineServices::insertMineListExt($mine_id, $request->all());
  77. }
  78. if ($request->input('is_hak') == MineEnum::IS_HAK_TD) {//天地伟业
  79. // return $this->error(1, $request->input('parent_id'));
  80. if($request->input('parent_id')==0){
  81. if (!$request->input('ip') || !$request->input('port')
  82. || !$request->input('key') || !$request->input('secret') || !$request->input('sOrgId')
  83. ) {
  84. return $this->error(1, '请输入连接视频服务器必传参数');
  85. }
  86. }
  87. MineServices::insertMineListExt($mine_id, $request->all());
  88. }
  89. return $this->redirect('admin/mine/list');
  90. }
  91. //编辑矿区单位
  92. public function mineEdit(Request $request)
  93. {
  94. if (!$request->input('id')) {
  95. return $this->error(1, '缺少必要参数');
  96. }
  97. $mineService = new MineServices();
  98. $mineService->initMineList();
  99. $titleList = $mineService->getTierList();
  100. $titleOne = MineServices::getAdminMineOne($request->input('id'));
  101. $formObj = new FromAuxiliary('mine/list/edit', $titleOne);
  102. $formObj->tree_select('parent_id', '父级区域', $titleList, $titleOne->parent_id);
  103. $formObj->input('title', '区域名称');
  104. $formObj->input('sort', '排序', 10);
  105. $formObj->radio('is_hak', '视频服务器类型', [MineEnum::IS_HAK_YES => '海康',MineEnum::IS_HAK_TD => '天地伟业',MineEnum::IS_HAK_NO => '其它', ], 0);
  106. $formObj->input('ip', 'id地址');
  107. $formObj->input('port', '端口');
  108. $formObj->input('key', '请求key');
  109. $formObj->input('secret', '请求secret');
  110. $formObj->input('sOrgId', '设备ID');
  111. $formObj->title = '修改区域';
  112. return $this->from($formObj);
  113. }
  114. //编辑矿区单位操作
  115. public function mineEditPost(Request $request)
  116. {
  117. if (!$request->input('id')) {
  118. return $this->error(1, '缺少必要参数');
  119. }
  120. $mineService = new MineServices();
  121. $mineService->initMineList();
  122. if ($request->input('id') == $request->input('parent_id')) {
  123. return $this->error(1, '不能选择自己为父级标题');
  124. }
  125. $mineService->edit($request->all());
  126. if ($request->input('is_hak') == MineEnum::IS_HAK_NO) {//其他
  127. MineServices::editMineListExt($request->input('id'), $request->all());
  128. }
  129. if ($request->input('is_hak') == MineEnum::IS_HAK_YES) {//海康
  130. if (!$request->input('ip') || !$request->input('port')
  131. || !$request->input('key') || !$request->input('secret')
  132. ) {
  133. return $this->error(1, '请输入连接视频服务器必传参数');
  134. }
  135. MineServices::editMineListExt($request->input('id'), $request->all());
  136. }
  137. if ($request->input('is_hak') == MineEnum::IS_HAK_TD) {//天地伟业
  138. // return $this->error(1, $request->input('parent_id'));
  139. if($request->input('parent_id')==0){
  140. if (!$request->input('ip') || !$request->input('port')
  141. || !$request->input('key') || !$request->input('secret') || !$request->input('sOrgId')
  142. ) {
  143. return $this->error(1, '请输入连接视频服务器必传参数');
  144. }
  145. }
  146. MineServices::editMineListExt($request->input('id'), $request->all());
  147. }
  148. return $this->redirect('admin/mine/list');
  149. }
  150. //删除矿区单位操作
  151. public function mineDelPost(Request $request)
  152. {
  153. if (!$request->has('id')) {
  154. return $this->error(1, '缺少必要参数');
  155. }
  156. $one_title = MineList::find($request->input('id'));
  157. if (!$one_title) {
  158. return $this->error(1, '需删除的数据不存在');
  159. }
  160. $mineService = new MineServices();
  161. $mineService->initMineList();
  162. $mineService->del($request->input('id'));
  163. $res['deleted_at'] = date('Y-m-d H:i:s');
  164. DB::table('mine_list_ext')->where('mine_id',$request->input('id'))->update($res);
  165. return $this->success();
  166. }
  167. }