<?php /* * 直播-详情 * 2018.07.19 * */ namespace Apicp\Controller\VhLiveTotal; use Common\Common\Constant; use Common\Common\Department; use Common\Common\Job; use Common\Common\Role; use Common\Common\Tag; use Common\Common\User; use Common\Common\Vhall; class LiveDetailsController extends AbstractController { protected $_require_login = false; public function Index_post() { $liveId = I('post.liveId'); if (empty($liveId)) { E('_EMPTY_LIVE_ID'); } // 获取直播详情 $uc_info = Vhall::instance()->details($liveId); // 获取配置详情 $setting_info = $this->vhall_service->get_by_conds(['vh_id' => $liveId],[],true); // 如果是内部讲师 if (Constant::INSIDE_TEACHER_TYPE == $setting_info['teacher_type']) { $user_info = User::instance()->getByUid($setting_info['teacher_id']); $setting_info['teacher_name'] = $user_info['memUsername']; $setting_info['teacher_face'] = $user_info['memFace']; } $liveScops = $uc_info['liveScope']; $uc_info['liveScopeAll'] = $liveScops['brAll']; $uc_info['liveVhallId'] = strval($uc_info['liveVhallId']); // 获取权限列表 $setting_info['right'] = $this->get_right_data($liveScops); // 组装数据 $uc_info = array_merge($uc_info, $setting_info); $this->_result = $uc_info; return true; } /** * 获取格式化后的权限数据 * * @author daijun * * @param array $conds 权限筛选条件 * * @return array $data 组装后权限数组 * + array dp_list 部门信息 * + string dp_id 部门ID * + string dp_name 部门名称 * + array user_list 人员信息 * + string uid 用户ID * + string username 用户姓名 * + string face 头像 * array $list 原始权限数组 */ protected function get_right_data($rights_db) { if (!empty($rights_db['brAll'])) { return []; } $data = [ 'user_list' => [], 'dp_list' => [], 'job_list' => [], 'role_list' => [], 'tag_list' => [] ]; $dpServ = &Department::instance(); $userServ = &User::instance(); $jobServ = &Job::instance(); $roleServ = &Role::instance(); $tagServ = &Tag::instance(); // 部门 if (!empty($rights_db['dpIds'])) { if (is_json($rights_db['dpIds'])) { $rights_db['dpIds'] = json_decode($rights_db['dpIds'], true); } sort($rights_db['dpIds']); $dps = $dpServ->listById($rights_db['dpIds']); foreach ($dps as $dp) { $data['dp_list'][] = [ 'dpID' => $dp['dpId'], 'dpName' => $dp['dpName'], ]; } } // 人员 if (!empty($rights_db['userIds'])) { if (is_json($rights_db['userIds'])) { $rights_db['userIds'] = json_decode($rights_db['userIds'], true); } sort($rights_db['userIds']); // 查询 $users = $userServ->listAll(['memUids' => $rights_db['userIds']]); foreach ($users as $user) { $data['user_list'][] = [ 'memID' => $user['memUid'], 'memUsername' => $user['memUsername'], 'memFace' => $user['memFace'], ]; } } // 岗位 if (!empty($rights_db['jobIds'])) { if (is_json($rights_db['jobIds'])) { $rights_db['jobIds'] = json_decode($rights_db['jobIds'], true); } $jobs = $jobServ->listById($rights_db['jobIds']); foreach ($jobs as $job) { $data['job_list'][] = [ 'jobID' => $job['jobId'], 'jobName' => $job['jobName'], ]; } } // 角色 if (!empty($rights_db['roleIds'])) { if (is_json($rights_db['roleIds'])) { $rights_db['roleIds'] = json_decode($rights_db['roleIds'], true); } $roles = $roleServ->listById($rights_db['roleIds']); foreach ($roles as $role) { $data['role_list'][] = [ 'roleID' => $role['roleId'], 'roleName' => $role['roleName'], ]; } } // 标签 if (!empty($rights_db['tagIds'])) { if (is_json($rights_db['tagIds'])) { $rights_db['tagIds'] = json_decode($rights_db['tagIds'], true); } $tags = $tagServ->listById($rights_db['tagIds']); foreach ($tags as $tag) { $data['tag_list'][] = [ 'tagID' => $tag['tagId'], 'tagName' => $tag['tagName'], ]; } } return $data; } }