更新功能

This commit is contained in:
2023-02-23 22:34:00 +08:00
parent 6885382c52
commit 4995c5b6be
18 changed files with 444 additions and 200 deletions

View File

@@ -0,0 +1,31 @@
<?php
// +----------------------------------------------------------------------
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
// +----------------------------------------------------------------------
namespace App\Services\Auth;
use App\Models\Auth\Departments;
use think\facade\Config;
use App\Support\Tree;
class DepartmentService{
/**
* @title 获取部门数据
*
* @param [type] $request
* @return void
*/
public function getDepartmentList($request){
$param = $request->all();
$map = [];
if(isset($param['keyword']) && $param['keyword']){
$map[] = ['title', 'LIKE', '%' . $param['keyword'] . '%'];
}
return Departments::where($map)->orderBy('sort', 'asc')->get();
}
}

View File

@@ -0,0 +1,103 @@
<?php
// +----------------------------------------------------------------------
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
// +----------------------------------------------------------------------
namespace App\Services\Auth;
use App\Models\Auth\Roles;
use App\Models\Auth\UserHasRoles;
use App\Models\Auth\RoleHasPermissions;
use think\facade\Config;
use App\Support\Tree;
class RoleService{
/**
* @title 获取角色列表
*
* @param [type] $request
* @param [type] $is_tree
* @return void
*/
public function getRolesList($request, $is_tree){
$param = $request->input();
$map = [];
if(isset($param['keyword']) && $param['keyword']){
$map[] = ['title', 'LIKE', '%' . $param['keyword'] . '%'];
}
$list = Roles::with(['permissions'])->where($map)->orderBy('sort', 'asc')->get()->each(function($item){
$item->data_range = strval($item->data_range);
$permission_id = [];
foreach($item->permissions as $val){
$permission_id[] = $val['id'];
}
$item->permission_id = $permission_id;
});
if($is_tree){
return (new Tree())->listToTree($list->toArray(), 'id', 'parent_id', 'children');
}else{
return $list;
}
}
/**
* @title 删除角色
*
* @param [type] $request
* @return void
*/
public function deleteRole($request){
$id = $request->input('id', 0);
$parent = Roles::where('parent_id', $id)->findOrEmpty();
if (!$parent->isEmpty()) {
throw new \think\Exception("存在子角色,无法删除", 0);
}
$role = Roles::find($id);
// 删除权限
PermissionAccess::where('role_id', '=', $role_id)->delete();
// 删除部门关联
// $role->detachDepartments();
// 删除用户关联
RolesAccess::where('role_id', '=', $role_id)->delete();
// 删除
$role->delete();
}
/**
* @title 更新角色权限
*
* @param [type] $role_id
* @param [type] $data
* @return void
*/
public function updateRolePermission($role_id, $data){
PermissionAccess::where('role_id', '=', $role_id)->delete();
$save = [];
foreach ($data as $permiss) {
$save[] = ['role_id' => $role_id, 'permission_id' => $permiss];
}
(new PermissionAccess())->saveAll($save);
return true;
}
public function updateRoleAuth($request){
$role_id = $request->input('role_id', '');
$data_range = $request->input('data_range', '');
$dashboard = $request->input('dashboard', '');
$mobile_module = $request->input('mobile_module', '');
$role = Roles::find($role_id);
$save = [
'data_range' => $data_range,
'dashboard' => $dashboard,
'mobile_module' => $mobile_module
];
return $role->save($save);
}
public function updateRole($request){
$data = $request->input();
return Roles::update($data);
}
}

View File

@@ -42,7 +42,7 @@ class UsersLogService{
$map[] = ['create_time', 'BETWEEN TIME', $param['date']];
}
$list = UsersLog::with(['user'])->where($map)->orderBy('create_time', 'desc')->paginate($param['pageSize']);
$list = UsersLog::with(['user'])->where($map)->orderBy('create_time', 'desc')->paginate(isset($param['pageSize']) ? $param['pageSize'] : 30);
return $list;
}
@@ -74,7 +74,7 @@ class UsersLogService{
$map[] = ['create_time', 'BETWEEN TIME', $param['date']];
}
$list = UsersLog::with(['user'])->where($map)->order('create_time desc')->paginate($request->pageConfig);
$list = UsersLog::with(['user'])->where($map)->orderBy('create_time', 'desc')->paginate(isset($param['pageSize']) ? $param['pageSize'] : 30);
return $list;
}

View File

@@ -10,7 +10,6 @@ namespace App\Services\Auth;
use App\Models\Auth\Users;
use App\Models\Auth\RolesAccess;
use think\facade\Config;
class UsersService{
@@ -36,7 +35,7 @@ class UsersService{
$q->name('user_has_roles')->where($subMap)->field('uid');
}];
}
$list = Users::with(['roles', 'department'])->where($map)->orderBy('uid')->paginate()->each(function($item){
$list = Users::with(['roles', 'department'])->where($map)->orderBy('uid')->paginate(isset($param['pageSize']) ? $param['pageSize'] : 30)->each(function($item){
$roleId = [];
$roleName = [];
$identify = [];

View File

@@ -0,0 +1,12 @@
<?php
// +----------------------------------------------------------------------
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
// +----------------------------------------------------------------------
namespace App\Services\Auth;
class SettingService{
}