/**
  * 获取子级菜单
  * @param $topPermId    上级权限ID
  * @param $myPermission 登录用户的权限列表
  */
 private function getSubMenu($topPermId, $myPermission)
 {
     if ($myPermission) {
         $subItems = Permission::getAllSub($topPermId, $myPermission);
         return isset($subItems['sub']) ? $subItems['sub'] : false;
     }
     return false;
 }
 /**
  * 更新序号
  */
 public function actionSeq()
 {
     $ids = explode('_', $this->get('ids', ''));
     $seq = 0;
     foreach ($ids as $id) {
         if ($id != '') {
             Permission::updateAll(['seq' => $seq], ['id' => $id]);
             $seq++;
         }
     }
 }
 /**
  * 获取角色对应的权限列表
  */
 public function actionPerm()
 {
     $data = [];
     $parentId = $this->get('parent', '#');
     $roleId = $this->get('id', 0);
     $generator = new JSTreeGenerator();
     if ($parentId != '#') {
         $len = strlen('node_');
         $id = substr($parentId, $len, strlen($parentId) - $len);
         $data = $generator->generator(Permission::getSub($id), true);
     } else {
         $data = $generator->getDefault();
     }
     if (!empty($roleId)) {
         $roles = RolePermission::findAllArray(['role_id' => $roleId]);
         Permission::setChecked($data, $roles);
     }
     $this->setResponseData('data', $data);
 }
 /**
  * 判断用户是否有权限访问
  * @param unknown $userId
  */
 public static function hasPermission($userId, $current)
 {
     if (empty($current) || $current == '#') {
         return true;
     }
     $p = Permission::findOne(['link' => $current]);
     if ($p) {
         $myPermissions = self::getPermission($userId);
         return in_array($p['id'], $myPermissions);
     } else {
         return true;
     }
 }