param(); $currPage = isset($param['currPage']) ? $param['currPage'] : 1 ; $pageSize = isset($param['pageSize']) ? $param['pageSize'] : 50; $roleList = db('system_role')->page($currPage,$pageSize)->select(); $total = db('system_role')->count(); $res=[]; foreach ($roleList as &$v) { $routerIds=explode(",",$v['router_id']); $routers = db('system_router') ->whereIn('id',$routerIds) ->select(); $v['routers']=$routers; } unset($v); // 解除引用 $res['list']=$roleList; $res['total']=$total; $this->sendSuccess($res); } //获取路由列表 public function getRouterListAll() { $param = request()->param(); $routerList = db('system_router')->select(); $this->sendSuccess($routerList); } //获取router下对应的role public function getRouterRoleMap() { // $param = request()->param(); $results = db('system_router')->alias('router') ->join('system_role', 'system_role.router_id = router.id OR system_role.router_id LIKE concat(router.id, \',%\') OR system_role.router_id LIKE concat(\'%,\', router.id) OR system_role.router_id LIKE concat(\'%,\', router.id, \',%\') OR system_role.router_id LIKE concat(\'%,\', router.id, \',%\')', 'LEFT') ->field('router.*, GROUP_CONCAT(system_role.role_name) as roles') ->group('router.path') ->select(); $this->sendSuccess($results); } //更新role对应的router public function updateRoleRouter(){ $param = request()->param(); $dbRoleName='system_role'; $update=[]; if (isset($param['role_name'])) $update['role_name']=$param['role_name']; if (isset($param['role_des'])) $update['role_des']=$param['role_des']; if (isset($param['router_id'])) $update['router_id']=$param['router_id']; $int= db($dbRoleName)->where('id',$param['id']) ->update($update); if ($int>0){ return $this->sendSuccess("succeed"); }else{ return $this->sendError("修改失败"); } } //添加role以及对应的router public function addRoleRouter(){ $param = request()->param(); $dbRoleName='system_role'; $roleInfo=[]; if (isset($param['role_name'])) $roleInfo['role_name']=$param['role_name']; if (isset($param['role_des'])) $roleInfo['role_des']=$param['role_des']; if (isset($param['router_id'])) $roleInfo['router_id']=$param['router_id']; $int= db($dbRoleName)->insertGetId($roleInfo); if ($int>0){ return $this->sendSuccess("succeed"); }else{ return $this->sendError("插入失败"); } } //删除 public function deleteRole() { $param = request()->param(); $dbRoleName='system_role'; $int= db($dbRoleName)->delete($param['id']); if ($int>0){ return $this->sendSuccess("succeed"); }else{ return $this->sendError("删除失败"); } } }