cqp 11 months ago
parent
commit
60b8ef55f8
2 changed files with 26 additions and 27 deletions
  1. 3 3
      app/Model/Role.php
  2. 23 24
      app/Service/EmployeeService.php

+ 3 - 3
app/Model/Role.php

@@ -2,17 +2,17 @@
 
 namespace App\Model;
 
+use Illuminate\Database\Eloquent\Model;
+
 /**
  * 角色管理
  * Class Unit
  * @package App\Models
  */
-class Role extends UseScopeBaseModel
+class Role extends Model
 {
     protected $table = "role"; //指定表
     const CREATED_AT = 'crt_time';
     const UPDATED_AT = 'upd_time';
     protected $dateFormat = 'U';
-    public static $user = [];
-    public static $search = [];
 }

+ 23 - 24
app/Service/EmployeeService.php

@@ -406,7 +406,7 @@ class EmployeeService extends Service
         $model->title = $data['title'];
         $model->save();
 
-        return [true,'保存成功!'];
+        return [true, ''];
     }
 
     /**
@@ -421,11 +421,9 @@ class EmployeeService extends Service
 
         $model = new Role();
         $model->title = $data['title'] ;
-        $model->depart_id = $data['depart_id'] ?? 0;
-        $model->top_depart_id = $data['top_depart_id'] ?? 0;
         $model->save();
 
-        return [true,'保存成功!'];
+        return [true, ''];
     }
 
     /**
@@ -441,19 +439,28 @@ class EmployeeService extends Service
             ->exists();
         if($bool) return [false,'角色已绑定人员!'];
 
-        Role::where('id',$data['id'])->update([
-            'del_time' => time()
-        ]);
+        try{
+            DB::beginTransaction();
 
-        RoleMenu::where('del_time',0)->where('role_id',$data['id'])->update([
-            'del_time' => time()
-        ]);
+            Role::where('id',$data['id'])->update([
+                'del_time' => time()
+            ]);
 
-        RoleMenuButton::where('del_time',0)->where('role_id',$data['id'])->update([
-            'del_time' => time()
-        ]);
+            RoleMenu::where('del_time',0)->where('role_id',$data['id'])->update([
+                'del_time' => time()
+            ]);
 
-        return [true,'删除成功'];
+            RoleMenuButton::where('del_time',0)->where('role_id',$data['id'])->update([
+                'del_time' => time()
+            ]);
+
+            DB::commit();
+        }catch (\Throwable $exception){
+            DB::rollBack();
+            return [false, $exception->getMessage()];
+        }
+
+        return [true, ''];
     }
 
     /**
@@ -462,15 +469,14 @@ class EmployeeService extends Service
      * @return array
      */
     public function roleList($data,$user){
-        $model = Role::TopClear($user,$data);
-        $model = $model->where('del_time',0)
+        $model = Role::where('del_time',0)
             ->select('title','crt_time','id','upd_time')
             ->orderBy('id','desc');
         if(! empty($data['title'])) $model->where('title', 'LIKE', '%' . $data['title'] . '%');
 
         $list = $this->limit($model,'',$data);
 
-        return [200,$list];
+        return [true, $list];
     }
 
     /**
@@ -482,21 +488,14 @@ class EmployeeService extends Service
     public function roleRule(&$data,$user, $is_check = true){
         if($this->isEmpty($data,'title')) return [false,'名称不能为空!'];
 
-        //所属部门 以及  顶级部门
-        if(empty($data['depart_id'])) $data['depart_id'] = $this->getDepart($user);
-        $data['top_depart_id'] = $user['depart_map'][$data['depart_id']] ?? 0;
-
         if($is_check){
             $bool = Role::where('title',$data['title'])
-                ->where('top_depart_id',$data['top_depart_id'])
                 ->where('del_time',0)
                 ->exists();
             if($bool) return [false,'角色名称已存在!'];
         }else{
             if($this->isEmpty($data,'id')) return [false,'ID不能为空!'];
-            $top_depart_id = Role::where('id',$data['id'])->value('top_depart_id');
             $bool = Role::where('title',$data['title'])
-                ->where('top_depart_id',$top_depart_id)
                 ->where('id','<>',$data['id'])
                 ->where('del_time',0)
                 ->exists();