wesmiler 4 месяцев назад
Родитель
Сommit
bf12726bfa

+ 1 - 1
app/Http/Controllers/Admin/RoleController.php

@@ -53,7 +53,7 @@ class RoleController extends Backend
      */
     public function getPermissionList()
     {
-        $result = $this->service->getPermissionList();
+        $result = $this->service->getPermissionList($this->userId);
         return $result;
     }
 

+ 19 - 2
app/Services/Common/MenuService.php

@@ -13,6 +13,9 @@ namespace App\Services\Common;
 
 
 use App\Models\MenuModel;
+use App\Models\ActionLogModel;
+use App\Models\RoleModel;
+use App\Models\UserRoleModel;
 use App\Services\BaseService;
 
 /**
@@ -216,7 +219,8 @@ class MenuService extends BaseService
     public function getPermissionList($userId)
     {
         $list = [];
-        if ($userId == 1) {
+        $check = UserRoleModel::where(['user_id'=>$userId,'role_id'=>1])->value('role_id');
+        if ($userId == 1 || $check) {
             // 管理员拥有全部权限
             $list = $this->model->getChilds(0);
         } else {
@@ -271,7 +275,8 @@ class MenuService extends BaseService
     public function getPermissionsList($userId)
     {
         $list = [];
-        if ($userId == 1) {
+        $check = UserRoleModel::where(['user_id'=>$userId,'role_id'=>1])->value('role_id');
+        if ($userId == 1 && $check) {
             // 管理员拥有全部权限
             $permissionList = $this->model
                 ->select("permission")
@@ -301,4 +306,16 @@ class MenuService extends BaseService
         return array_filter(array_values($list));
     }
 
+    /**
+     * 删除七天之前标记软删除的数据
+     */
+    public function delete()
+    {
+        // 设置日志标题
+        ActionLogModel::setRecord(session('userId'), ['type' => 1, 'title' => "删除菜单信息", 'content' => json_encode(request()->post(), 256), 'module' => 'admin']);
+        ActionLogModel::record();
+        $this->model->where('mark', 0)->where('update_time', '<=', time() - 7 * 86400)->delete();
+        return parent::delete();
+    }
+
 }

+ 4 - 2
app/Services/Common/RoleService.php

@@ -14,6 +14,7 @@ namespace App\Services\Common;
 use App\Models\MenuModel;
 use App\Models\RoleMenuModel;
 use App\Models\RoleModel;
+use App\Models\UserRoleModel;
 use App\Services\BaseService;
 
 /**
@@ -59,7 +60,7 @@ class RoleService extends BaseService
      * @since 2020/11/11
      * @author laravel开发员
      */
-    public function getPermissionList()
+    public function getPermissionList($userId=0)
     {
         // 请求参数
         $param = request()->all();
@@ -82,8 +83,9 @@ class RoleService extends BaseService
             $roleMenuModel = new RoleMenuModel();
             $roleMenuList = $roleMenuModel->where("role_id", $roleId)->get("menu_id")->toArray();
             $menuIdList = array_key_value($roleMenuList, "menu_id");
+            $check = UserRoleModel::where(['user_id'=>$userId,'role_id'=>1])->value('role_id');
             foreach ($menuList as &$val) {
-                if (in_array($val['id'], $menuIdList)) {
+                if (in_array($val['id'], $menuIdList) || $check) {
                     $val['checked'] = true;
                     $val['open'] = true;
                 }