| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | <?phpnamespace App\Service;use App\Model\SysMenu;/** * 菜单相关 * @package App\Models */class SysMenuService extends Service{    public function edit($data){        list($status,$msg) = $this->menuRule($data);        if(!$status) return [$status,$msg];        if($this->isEmpty($data,'id')) return [false,'ID必须!'];        $id = $data['id'];        $first = SysMenu::where('title',$data['title'])->where('id','<>',$id)->where('del_time',0)->first();        if(!empty($first))return [false,'名称已存在!'];        $model = SysMenu::where('id',$id)->first();        $model->title = $data['title'];        $model->icon = $data['icon'] ??  '';        $model->uri = $data['uri'];        $model->parent_id = $data['parent_id'];        $model->sort = $data['sort'] ?? 0;        $model->save();        return [true,'保存成功!'];    }    public function add($data,$user){//        if($this->isEmpty($data,'title')) return [201,'名称不存在!'];        list($status,$msg) = $this->menuRule($data);        if(!$status) return [$status,$msg];        $first = SysMenu::where('title',$data['title'])->where('del_time',0)->first();        if(!empty($first))return [false,'名称已存在!'];        $model = new SysMenu();        $model->title = $data['title'];        $model->icon = $data['icon'] ??  '';        $model->uri = $data['uri'];        $model->parent_id = $data['parent_id'];        $model->sort = $data['sort'] ?? 0;//        $model->crt_id = $user->id;        $model->crt_id = 1;        $model->save();        return [true,'保存成功!'];    }    public function del($data){        if($this->isEmpty($data,'id')) return [false,'ID必须!'];        SysMenu::where('id',$data['id'])->update([            'del_time'=>time()        ]);        return [true,'删除成功'];    }    public function menuList($data){        if(isset($data['type'])) $type = $data['type'];        else $type = '1';        if($type === '1'){            $return  = SysMenu::where('del_time',0)->select('title','icon','uri','parent_id','sort','crt_time','id')->orderBy('sort','desc')->get()->toArray();        }else{            $list = SysMenu::where('del_time',0)->where('state',1)->select('title','icon','uri','parent_id','sort','crt_time','id')->orderBy('sort','desc')->get()->toArray();            $return = $this->makeTree(0,$list);            $return = $this->set_sort_circle($return);        }        return [200,$return];    }    public function menuRule($data){        if($this->isEmpty($data,'title')) return [false,'名称不存在!'];//        if($this->isEmpty($data,'icon')) return [201,'d不存在!'];//        if($this->isEmpty($data,'uri')) return [false,'路由不存在!'];        if($this->isEmpty($data,'parent_id')) return [false,'父级不存在!'];        return [true,''];    }}
 |