Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
openApi
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hj
openApi
Commits
13789983
Commit
13789983
authored
Apr 16, 2022
by
hangjun83
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
后端:初始化数据调整
parent
aaf0a44d
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
388 additions
and
77 deletions
+388
-77
server/database/seeds/local/AdminUsersSeeder.php
server/database/seeds/local/AdminUsersSeeder.php
+23
-8
server/database/seeds/local/MenusSeeder.php
server/database/seeds/local/MenusSeeder.php
+289
-29
server/database/seeds/local/PermissionsSeeder.php
server/database/seeds/local/PermissionsSeeder.php
+55
-34
server/database/seeds/local/RolesSeeder.php
server/database/seeds/local/RolesSeeder.php
+21
-6
No files found.
server/database/seeds/local/AdminUsersSeeder.php
View file @
13789983
...
...
@@ -5,6 +5,7 @@ use Illuminate\Database\Seeder;
use
App\Support\Traits\Helpers
;
use
App\Repositories\Models\AdminUsers
;
use
Illuminate\Support\Facades\DB
;
class
AdminUsersSeeder
extends
Seeder
{
...
...
@@ -27,17 +28,31 @@ class AdminUsersSeeder extends Seeder
public
function
run
()
{
collect
(
$this
->
userList
)
->
map
(
function
(
$user
){
//$this->command->getOutput()->info('正在初始化管理员数据中.');
$admin
=
app
(
AdminUsers
::
class
);
$user
[
'password'
]
=
$admin
->
encryptPassword
(
$user
[
'password'
]);
$user
[
'token'
]
=
$this
->
randomFromDevice
(
16
);
$user
[
'created_at'
]
=
date
(
'Y-m-d H:i:s'
,
time
());
$user
[
'updated_at'
]
=
date
(
'Y-m-d H:i:s'
,
time
());
try
{
DB
::
beginTransaction
();
AdminUsers
::
insert
([
$user
]);
collect
(
$this
->
userList
)
->
map
(
function
(
$user
){
});
$admin
=
app
(
AdminUsers
::
class
);
$user
[
'password'
]
=
$admin
->
encryptPassword
(
$user
[
'password'
]);
$user
[
'token'
]
=
$this
->
randomFromDevice
(
16
);
$user
[
'created_at'
]
=
date
(
'Y-m-d H:i:s'
,
time
());
$user
[
'updated_at'
]
=
date
(
'Y-m-d H:i:s'
,
time
());
AdminUsers
::
insert
([
$user
]);
});
DB
::
commit
();
$this
->
command
->
getOutput
()
->
info
(
'初始化管理员数据成功.'
);
}
catch
(
Exception
$e
){
$this
->
command
->
getOutput
()
->
error
(
'初始化管理员失败,原因:'
.
$e
->
getMessage
());
DB
::
rollback
();
}
}
}
server/database/seeds/local/MenusSeeder.php
View file @
13789983
This diff is collapsed.
Click to expand it.
server/database/seeds/local/PermissionsSeeder.php
View file @
13789983
<?php
use
Illuminate\Database\Seeder
;
use
Illuminate\Support\Facades\DB
;
use
Spatie\Permission\Models\Permission
;
use
Spatie\Permission\Models\Role
;
...
...
@@ -142,39 +143,59 @@ class PermissionsSeeder extends Seeder
public
function
run
()
{
collect
(
$this
->
defaultPermissionList
)
->
map
(
function
(
$permission
){
$permission
[
'guard_name'
]
=
config
(
'auth.defaults.guard'
);
$permission
[
'created_at'
]
=
date
(
'Y-m-d H:i:s'
,
time
());
$permission
[
'updated_at'
]
=
date
(
'Y-m-d H:i:s'
,
time
());
Permission
::
create
(
$permission
);
});
// 将初始化菜单进行权限绑定
$menu
=
app
(
Menus
::
class
)
->
query
();
$menuList
=
$menu
->
where
(
'status'
,
1
)
->
get
()
->
toArray
();
collect
(
$menuList
)
->
map
(
function
(
$menu
){
$permission
=
[];
$permission
[
'name'
]
=
$menu
[
'menu_name'
];
$permission
[
'menu_id'
]
=
$menu
[
'id'
];
$permission
[
'action'
]
=
''
;
$permission
[
'permission_type'
]
=
'menu'
;
$permission
[
'sys_default'
]
=
0
;
$permission
[
'remark'
]
=
$menu
[
'menu_name'
]
.
'的相关权限'
;
$permission
[
'guard_name'
]
=
config
(
'auth.defaults.guard'
);
Permission
::
create
(
$permission
);
});
//给用户组分配权限
$allPermission
=
Permission
::
where
(
'guard_name'
,
config
(
'auth.defaults.guard'
))
->
get
();
$role
=
Role
::
all
()
->
first
();
$role
->
givePermissionTo
(
$allPermission
);
//给用户指定用户组
$admin
=
app
(
AdminUsers
::
class
)
->
where
(
'is_admin'
,
1
)
->
first
();
$admin
->
assignRole
(
$role
);
$admin
->
syncPermissions
(
$allPermission
);
//$this->command->getOutput()->info('正在初始化权限数据中.');
try
{
DB
::
beginTransaction
();
collect
(
$this
->
defaultPermissionList
)
->
map
(
function
(
$permission
){
$permission
[
'guard_name'
]
=
config
(
'auth.defaults.guard'
);
$permission
[
'created_at'
]
=
date
(
'Y-m-d H:i:s'
,
time
());
$permission
[
'updated_at'
]
=
date
(
'Y-m-d H:i:s'
,
time
());
Permission
::
create
(
$permission
);
});
// 将初始化菜单进行权限绑定
$menu
=
app
(
Menus
::
class
)
->
query
();
$menuList
=
$menu
->
where
(
'status'
,
1
)
->
get
()
->
toArray
();
collect
(
$menuList
)
->
map
(
function
(
$menu
){
$permission
=
[];
$permission
[
'name'
]
=
$menu
[
'menu_name'
];
$permission
[
'menu_id'
]
=
$menu
[
'id'
];
switch
(
$menu
[
'menu_type'
]){
case
'page'
:
$permission
[
'action'
]
=
$menu
[
'menu_name'
]
.
'view'
;
break
;
case
'button'
:
$permission
[
'action'
]
=
$menu
[
'menu_name'
];
break
;
default
:
$permission
[
'action'
]
=
''
;
}
$permission
[
'permission_type'
]
=
'menu'
;
$permission
[
'sys_default'
]
=
0
;
$permission
[
'remark'
]
=
$menu
[
'menu_name'
]
.
'的相关权限'
;
$permission
[
'guard_name'
]
=
config
(
'auth.defaults.guard'
);
Permission
::
create
(
$permission
);
});
//给用户组分配权限
$allPermission
=
Permission
::
where
(
'guard_name'
,
config
(
'auth.defaults.guard'
))
->
get
();
$role
=
Role
::
all
()
->
first
();
$role
->
givePermissionTo
(
$allPermission
);
//给用户指定用户组
$admin
=
app
(
AdminUsers
::
class
)
->
where
(
'is_admin'
,
1
)
->
first
();
$admin
->
assignRole
(
$role
);
$admin
->
syncPermissions
(
$allPermission
);
DB
::
commit
();
$this
->
command
->
getOutput
()
->
info
(
'初始化权限数据成功.'
);
}
catch
(
Exception
$e
){
$this
->
command
->
getOutput
()
->
error
(
'初始化权限失败,原因:'
.
$e
->
getMessage
());
DB
::
rollback
();
}
}
}
server/database/seeds/local/RolesSeeder.php
View file @
13789983
...
...
@@ -3,6 +3,7 @@
use
Illuminate\Database\Seeder
;
use
App\Repositories\Models\Menus
;
use
Illuminate\Support\Facades\DB
;
use
Spatie\Permission\Models\Role
;
class
RolesSeeder
extends
Seeder
...
...
@@ -21,15 +22,29 @@ class RolesSeeder extends Seeder
public
function
run
()
{
collect
(
$this
->
rolesList
)
->
map
(
function
(
$role
){
//$this->command->getOutput()->info('正在初始化角色数据中.');
$role
[
'guard_name'
]
=
config
(
'auth.defaults.guard'
);
$role
[
'created_at'
]
=
date
(
'Y-m-d H:i:s'
,
time
());
$role
[
'updated_at'
]
=
date
(
'Y-m-d H:i:s'
,
time
());
try
{
DB
::
beginTransaction
();
Role
::
create
(
$role
,
$role
[
'guard_name'
]);
collect
(
$this
->
rolesList
)
->
map
(
function
(
$role
){
});
$role
[
'guard_name'
]
=
config
(
'auth.defaults.guard'
);
$role
[
'created_at'
]
=
date
(
'Y-m-d H:i:s'
,
time
());
$role
[
'updated_at'
]
=
date
(
'Y-m-d H:i:s'
,
time
());
Role
::
create
(
$role
,
$role
[
'guard_name'
]);
});
DB
::
commit
();
$this
->
command
->
getOutput
()
->
info
(
'初始化角色数据成功.'
);
}
catch
(
Exception
$e
){
$this
->
command
->
getOutput
()
->
error
(
'初始化角色失败,原因:'
.
$e
->
getMessage
());
DB
::
rollback
();
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment