12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- <?php
- namespace 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,''];
- }
- }
|