| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 | 
							- <?php
 
- /**
 
-  *  用户角色
 
-  *  @author  qqiu@qq.com
 
-  *  @version    1.0
 
-  *  @date 2015年10月9日
 
-  *
 
-  */
 
- namespace App\Services\Admin;
 
- use App\Services\Base\BaseProcess;
 
- use App\Models\AdminRoleModel;
 
- class Role extends BaseProcess
 
- {
 
-     /**
 
-      * 模型
 
-      *
 
-      * @var object
 
-      * 
 
-      */
 
-     private $objModel;
 
-     
 
-     /**
 
-      * 初始化
 
-      */
 
-     public function __construct()
 
-     {
 
-         if( !$this->objModel) $this->objModel = new AdminRoleModel();
 
-     }
 
-     
 
-     public function model()
 
-     {
 
-         $this->setSucessCode();
 
-         return $this->objModel;
 
-     }
 
-     
 
-     /**
 
-      * 搜索
 
-      * @param $search
 
-      * @param $pagesize
 
-      */
 
-     public function search($search, $orderby, $pagesize = PAGE_NUMS)
 
-     {
 
-         $currentQuery = $this->objModel;
 
-         if(isset($search['keyword']) && !empty($search['keyword'])) {
 
-             $keywords = '%' . $search['keyword'] . '%';
 
-             $currentQuery = $currentQuery->where(function ($query) use ($keywords) {
 
-                 $query->where('name'  , 'like', $keywords)
 
-                 ->orwhere('mark', 'like', $keywords);
 
-             });
 
-         }
 
-         
 
-         if(isset($search['department_ids']) && !empty($search['department_ids'])) {
 
-             $department_ids = $search['department_ids'];
 
-             $currentQuery = $currentQuery->where(function ($query) use ($department_ids) {
 
-                 $query->whereIn('department_id', $department_ids);
 
-             });
 
-         }
 
-         
 
-         if($orderby && is_array($orderby)){
 
-             foreach ($orderby AS $field => $value){
 
-                 $currentQuery = $currentQuery -> orderBy($field, $value);
 
-             }
 
-         }else{
 
-             $currentQuery = $currentQuery->orderBy('id', 'DESC');
 
-         }
 
-         
 
-         $currentQuery = $currentQuery->where('level', '>=', $search['level'])->paginate($pagesize);
 
-         return $currentQuery;
 
-     }
 
-     /**
 
-      * 添加
 
-      * @param $data
 
-      */
 
-     public function create($data)
 
-     {
 
-         return $this->objModel->create($data);
 
-     }
 
-     
 
-     /**
 
-      * 更新
 
-      * @param $id
 
-      * @param $data
 
-      */
 
-     public function update($id, $data)
 
-     {
 
-         $obj = $this->objModel->find($id);
 
-         if(!$obj) {
 
-             return false;
 
-         }
 
-         $ok = $obj->update($data);
 
-         return $ok;
 
-     }
 
-     
 
-     /**
 
-      * 更新状态
 
-      * @param $id
 
-      * @param $status
 
-      */
 
-     public function updateStatus($id, $status)
 
-     {
 
-         $data = $this->objModel->find($id);
 
-         $data->status = $status;
 
-         return $data->save();
 
-     }
 
-     
 
-     /**
 
-      * 删除
 
-      * @param $id
 
-      */
 
-     public function destroy($id)
 
-     {
 
-         return $this->objModel->destroy($id);
 
-     }
 
-     
 
-     /**
 
-      * 获取一行数据
 
-      * @param $where
 
-      * @return
 
-      */
 
-     public function find($id)
 
-     {
 
-         return $this->objModel->find($id);
 
-     }
 
-     
 
-     /**
 
-      * 获取角色权限节点(level越小权限越大)
 
-      */
 
-     public function getLevelNode($role_ids)
 
-     {
 
-         $role_ids = is_array($role_ids) ? $role_ids : explode(',', $role_ids);
 
-         return $this->objModel->whereIn('id', $role_ids)->take(1)->orderBy('level', 'ASC')->first();
 
-     }
 
-     
 
-     /**
 
-      * 根据状态查询数据
 
-      */
 
-     public function getValidData($status = 1)
 
-     {
 
-         return $this->objModel->where('status', $status)->orderBy('id', 'DESC')->get();
 
-     }
 
-     
 
-     /**
 
-      * 查询多条数据
 
-      */
 
-     public function get($pagesize = PAGE_NUMS) {
 
-         return $this->objModel->take($pagesize)->orderBy('level', 'ASC')->get();
 
-     }
 
-     
 
-     /**
 
-      * 查询多条数据并分页
 
-      */
 
-     public function getPage($pagesize = PAGE_NUMS) {
 
-         return $this->objModel->orderBy('id', 'DESC')->paginate($pagesize);
 
-     }
 
-     
 
-     /**
 
-      * 获取子等级数据
 
-      */
 
-     public function getChildByLevel($level, $departmentIds=array())
 
-     {
 
-         $currentQuery = $this->objModel;
 
-         $currentQuery = $currentQuery->where('level', '>=', $level);
 
-         $currentQuery = $currentQuery->where('status', '=', 1);
 
-         if($departmentIds){
 
-             $currentQuery = $currentQuery->whereIn('department_id', $departmentIds);
 
-         }
 
-         return $currentQuery = $currentQuery->orderBy('level', 'ASC')->get();
 
-     }
 
-     
 
-     /**
 
-      * 根据部门ID获取角色个数
 
-      */
 
-     public function getCountByDepartmentId($department_id)
 
-     {
 
-         return $this->objModel->where('department_id', '=', $department_id)->count();
 
-     }
 
-     
 
- }
 
 
  |