services = $services; $user = $request->user()->toArray(); if ($user['is_ipc_view'] != 1) { // return app('json')->fail('没有观看权限'); throw new AuthException('没有观看权限'); } } /** * 获取学校下的年级班级 */ public function getGradeAndClass(Request $request) { $user = $request->user()->toArray(); $school_id = $user['school_id']; $resData = []; if ($user['group_id'] != 1) { return app('json')->success($resData); } // 年级数据 $SchoolGradeServices = app()->make(SchoolGradeServices::class); $gradeData = $SchoolGradeServices->selectSchoolGradeData($school_id); // 班级数据 $SchoolGradeClassServices = app()->make(SchoolGradeClassServices::class); $classData = $SchoolGradeClassServices->selectSchoolClass($school_id); // 树状数据 $treeData = $this->getTreeData($gradeData, $classData); // 返回数据 $resData['gradeData'] = $gradeData; $resData['classData'] = $classData; $resData['treeData'] = $treeData; return app('json')->success($resData); } private function getTreeData($gradeData, $classData) { if (empty($gradeData)) { return []; } if (empty($classData)) { return $gradeData; } foreach ($gradeData as $key => $value) { foreach ($classData as $val) { if ($val['grade_id'] == $value['grade_id']) { $gradeData[$key]['childen'][] = $val; } } } return $gradeData; } /** * 家长端-宝贝在线 */ public function parentBabyOnline(Request $request) { $user = $request->user()->toArray(); $class_id = $user['class_id']; if ($user['group_id'] == 2 || $user['group_id'] == 3) { $data = $this->getParentGradeAndClass($class_id); return app('json')->success(['ipcList' => $data]); } return app('json')->fail(500060); } /** * 获取设备列表 * @return array */ private function getParentGradeAndClass($class_id) { $SchoolGradeClassServices = app()->make(SchoolGradeClassServices::class); $code = $SchoolGradeClassServices->selectClassCode($class_id); if (empty($code)) { return $code; } $IpcServices = app()->make(IpcServices::class); $ipcList = $IpcServices->getDeviceId($code['class_code']); $ipcList = empty($ipcList) ? $ipcList : $IpcServices->setTimeToTime($ipcList); return $ipcList; } /** * 老师端-宝贝在线 */ public function teacherBabyOnline(Request $request) { $data = $request->getMore([ ['classId', 0], ['gradeId', 0] ]); $user = $request->user()->toArray(); $school_id = $user['school_id']; if ($user['group_id'] != 1) { return app('json')->fail(500060); } $ipcList = $classList = []; $SchoolGradeClassServices = app()->make(SchoolGradeClassServices::class); $classList = $SchoolGradeClassServices->getCrudListIndex([], $school_id, $data['gradeId']); if ($data['classId'] > 0) { $code = $SchoolGradeClassServices->selectClassCode($data['classId']); if (!empty($code)) { $IpcServices = app()->make(IpcServices::class); $ipcList = $IpcServices->getDeviceId($code['class_code']); $ipcList = empty($ipcList) ? $ipcList : $IpcServices->setTimeToTime($ipcList); } } $resData = [ 'ipcList' => $ipcList, 'classList' => $classList, ]; return app('json')->success($resData); } /** * 获取设备录像列表 */ public function QueryRecord(Request $request) { $data = $request->postMore([ ['IotId', ''] ]); if (empty($data['IotId'])) { return app('json')->fail(100100); } $IpcServices = app()->make(IpcServices::class); $res = $IpcServices->QueryRecord($data['IotId']); if ($res['success'] == true) { $res = get_object_vars($res['data']); $list = is_array($res['list']) ? $res['list'] : []; foreach ($list as $value) { $value->beginTime = substr($value->beginTime, 5); $value->endTime = substr($value->endTime, 5); } return app('json')->success($list); } return app('json')->fail($res); } /** * 获取录像文件播放地址 */ public function QueryRecordUrlRequest(Request $request) { $data = $request->postMore([ ['IotId', ''], ['fileName', ''] ]); if (empty($data['IotId']) || empty($data['fileName'])) { return app('json')->fail(100100); } $IpcServices = app()->make(IpcServices::class); $res = $IpcServices->QueryRecordUrlRequest($data['fileName'], $data['IotId']); if ($res['success'] == true) { return app('json')->success($res['data']); } return app('json')->fail($res); } }