Commit 13789983 authored by hangjun83's avatar hangjun83

后端:初始化数据调整

parent aaf0a44d
...@@ -5,6 +5,7 @@ use Illuminate\Database\Seeder; ...@@ -5,6 +5,7 @@ use Illuminate\Database\Seeder;
use App\Support\Traits\Helpers; use App\Support\Traits\Helpers;
use App\Repositories\Models\AdminUsers; use App\Repositories\Models\AdminUsers;
use Illuminate\Support\Facades\DB;
class AdminUsersSeeder extends Seeder class AdminUsersSeeder extends Seeder
{ {
...@@ -27,17 +28,31 @@ class AdminUsersSeeder extends Seeder ...@@ -27,17 +28,31 @@ class AdminUsersSeeder extends Seeder
public function run() public function run()
{ {
collect($this->userList)->map(function($user){ //$this->command->getOutput()->info('正在初始化管理员数据中.');
$admin = app(AdminUsers::class); try{
$user['password'] = $admin->encryptPassword($user['password']); DB::beginTransaction();
$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]); 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();
}
} }
} }
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
use App\Repositories\Models\Menus; use App\Repositories\Models\Menus;
use Illuminate\Support\Facades\DB;
class MenusSeeder extends Seeder class MenusSeeder extends Seeder
{ {
...@@ -97,11 +98,61 @@ class MenusSeeder extends Seeder ...@@ -97,11 +98,61 @@ class MenusSeeder extends Seeder
'sort' => 1.10, 'sort' => 1.10,
'created_by' => 0, 'created_by' => 0,
'created_at' => '', 'created_at' => '',
'updated_at' => '' 'updated_at' => '',
'children' => [
[
'menu_name' => 'menu_permission_add',
'title' => '添加菜单',
'menu_path' => '#',
'parent_id' => 0,
'menu_type' => 'button',
'menu_icon' => '#',
'component' => '#',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => '',
],
[
'menu_name' => 'menu_permission_edit',
'title' => '编辑菜单',
'menu_path' => '#',
'parent_id' => 0,
'menu_type' => 'button',
'menu_icon' => '#',
'component' => '#',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => '',
],
[
'menu_name' => 'menu_permission_delete',
'title' => '删除菜单',
'menu_path' => '#',
'parent_id' => 0,
'menu_type' => 'button',
'menu_icon' => '#',
'component' => '#',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => '',
]
]
], ],
[ [
'menu_name' => 'role_permission', 'menu_name' => 'role_permission',
'title' => '用户权限管理', 'title' => '角色权限管理',
'menu_path' => '/permission', 'menu_path' => '/permission',
'parent_id' => 0, 'parent_id' => 0,
'menu_type' => 'page', 'menu_type' => 'page',
...@@ -113,7 +164,89 @@ class MenusSeeder extends Seeder ...@@ -113,7 +164,89 @@ class MenusSeeder extends Seeder
'sort' => 1.11, 'sort' => 1.11,
'created_by' => 0, 'created_by' => 0,
'created_at' => '', 'created_at' => '',
'updated_at' => '' 'updated_at' => '',
'children' => [
[
'menu_name' => 'role_permission_add',
'title' => '添加角色',
'menu_path' => '#',
'parent_id' => 0,
'menu_type' => 'button',
'menu_icon' => '#',
'component' => '#',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => '',
],
[
'menu_name' => 'role_permission_edit',
'title' => '编辑角色',
'menu_path' => '#',
'parent_id' => 0,
'menu_type' => 'button',
'menu_icon' => '#',
'component' => '#',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => '',
],
[
'menu_name' => 'role_permission_delete',
'title' => '删除角色',
'menu_path' => '#',
'parent_id' => 0,
'menu_type' => 'button',
'menu_icon' => '#',
'component' => '#',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => '',
],
[
'menu_name' => 'role_permission_editPermission',
'title' => '角色权限分配',
'menu_path' => '#',
'parent_id' => 0,
'menu_type' => 'button',
'menu_icon' => '#',
'component' => '#',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => '',
],
[
'menu_name' => 'role_permission_setDefault',
'title' => '角色默认设置',
'menu_path' => '#',
'parent_id' => 0,
'menu_type' => 'button',
'menu_icon' => '#',
'component' => '#',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => '',
]
]
], ],
[ [
'menu_name' => 'user_manage', 'menu_name' => 'user_manage',
...@@ -129,7 +262,105 @@ class MenusSeeder extends Seeder ...@@ -129,7 +262,105 @@ class MenusSeeder extends Seeder
'sort' => 1.11, 'sort' => 1.11,
'created_by' => 0, 'created_by' => 0,
'created_at' => '', 'created_at' => '',
'updated_at' => '' 'updated_at' => '',
'children' => [
[
'menu_name' => 'user_permission_search',
'title' => '搜索用户',
'menu_path' => '#',
'parent_id' => 0,
'menu_type' => 'button',
'menu_icon' => '#',
'component' => '#',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => '',
],
[
'menu_name' => 'user_permission_add',
'title' => '添加用户',
'menu_path' => '#',
'parent_id' => 0,
'menu_type' => 'button',
'menu_icon' => '#',
'component' => '#',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => '',
],
[
'menu_name' => 'user_permission_edit',
'title' => '编辑用户',
'menu_path' => '#',
'parent_id' => 0,
'menu_type' => 'button',
'menu_icon' => '#',
'component' => '#',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => '',
],
[
'menu_name' => 'user_permission_delete',
'title' => '删除用户',
'menu_path' => '#',
'parent_id' => 0,
'menu_type' => 'button',
'menu_icon' => '#',
'component' => '#',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => '',
],
[
'menu_name' => 'user_permission_enable',
'title' => '启用用户',
'menu_path' => '#',
'parent_id' => 0,
'menu_type' => 'button',
'menu_icon' => '#',
'component' => '#',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => '',
],
[
'menu_name' => 'user_permission_disable',
'title' => '禁用用户',
'menu_path' => '#',
'parent_id' => 0,
'menu_type' => 'button',
'menu_icon' => '#',
'component' => '#',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => '',
]
]
], ],
], ],
'doc_manage' => 'doc_manage' =>
...@@ -141,7 +372,7 @@ class MenusSeeder extends Seeder ...@@ -141,7 +372,7 @@ class MenusSeeder extends Seeder
'parent_id' => 0, 'parent_id' => 0,
'menu_type' => 'page', 'menu_type' => 'page',
'menu_icon' => 'ios-document', 'menu_icon' => 'ios-document',
'component' => 'doc-manage/server', 'component' => 'doc-manage/framework',
'status' => 1, 'status' => 1,
'is_show' => 1, 'is_show' => 1,
'sys_default' => 1, 'sys_default' => 1,
...@@ -156,33 +387,62 @@ class MenusSeeder extends Seeder ...@@ -156,33 +387,62 @@ class MenusSeeder extends Seeder
public function run() public function run()
{ {
foreach($this->menuList as $menu){ //$this->command->getOutput()->info('正在初始化菜单数据中.');
$menu['created_at'] = date('Y-m-d H:i:s',time()); try {
$menu['updated_at'] = date('Y-m-d H:i:s',time()); DB::beginTransaction();
$childrenItem = $menu['children']; foreach ($this->menuList as $menu) {
unset($menu['children']); $menu['created_at'] = date('Y-m-d H:i:s', time());
$menu['updated_at'] = date('Y-m-d H:i:s', time());
$id = Menus::query()->insertGetId($menu);
if(isset($childrenItem) && !empty($childrenItem)){ $childrenItem = $menu['children'];
foreach($childrenItem as $children){ unset($menu['children']);
$children['parent_id'] = $id;
$children['created_at'] = date('Y-m-d H:i:s',time()); $id = Menus::query()->insertGetId($menu);
$children['updated_at'] = date('Y-m-d H:i:s',time()); if (isset($childrenItem) && !empty($childrenItem)) {
foreach ($childrenItem as $children) {
$childrenId = Menus::query()->insertGetId($children); $children['parent_id'] = $id;
$children['created_at'] = date('Y-m-d H:i:s', time());
if(isset($this->subMenusList[$children['menu_name']]) && !empty($this->subMenusList[$children['menu_name']])){ $children['updated_at'] = date('Y-m-d H:i:s', time());
collect($this->subMenusList[$children['menu_name']])->map(function($subMenus) use ($childrenId){
$subMenus['parent_id'] = $childrenId; $childrenId = Menus::query()->insertGetId($children);
$subMenus['created_at'] = date('Y-m-d H:i:s',time());
$subMenus['updated_at'] = date('Y-m-d H:i:s',time()); if (isset($this->subMenusList[$children['menu_name']]) && !empty($this->subMenusList[$children['menu_name']])) {
collect($this->subMenusList[$children['menu_name']])->map(function ($subMenus) use ($childrenId) {
Menus::query()->insertGetId($subMenus); $subMenus['parent_id'] = $childrenId;
}); $subMenus['created_at'] = date('Y-m-d H:i:s', time());
$subMenus['updated_at'] = date('Y-m-d H:i:s', time());
if(isset($subMenus['children']) && !empty($subMenus['children'])){
$subChildrenItem = $subMenus['children'];
unset($subMenus['children']);
$subMenuId = Menus::query()->insertGetId($subMenus);
if (isset($subChildrenItem) && !empty($subChildrenItem)) {
foreach ($subChildrenItem as $subChildren) {
$subChildren['parent_id'] = $subMenuId;
$subChildren['created_at'] = date('Y-m-d H:i:s', time());
$subChildren['updated_at'] = date('Y-m-d H:i:s', time());
Menus::query()->insertGetId($subChildren);
}
}
}else{
$subMenuId = Menus::query()->insertGetId($subMenus);
}
});
}
} }
} }
} }
DB::commit();
$this->command->getOutput()->info('菜单数据初始化成功.');
}catch(Exception $e){
$this->command->getOutput()->error('初始化菜单失败,原因:'.$e->getMessage());
DB::rollback();
} }
} }
} }
<?php <?php
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Spatie\Permission\Models\Permission; use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role; use Spatie\Permission\Models\Role;
...@@ -142,39 +143,59 @@ class PermissionsSeeder extends Seeder ...@@ -142,39 +143,59 @@ class PermissionsSeeder extends Seeder
public function run() public function run()
{ {
collect($this->defaultPermissionList)->map(function($permission){
$permission['guard_name'] = config('auth.defaults.guard'); //$this->command->getOutput()->info('正在初始化权限数据中.');
$permission['created_at'] = date('Y-m-d H:i:s',time());
$permission['updated_at'] = date('Y-m-d H:i:s',time()); try{
DB::beginTransaction();
Permission::create($permission);
});
collect($this->defaultPermissionList)->map(function($permission){
// 将初始化菜单进行权限绑定 $permission['guard_name'] = config('auth.defaults.guard');
$menu = app(Menus::class)->query(); $permission['created_at'] = date('Y-m-d H:i:s',time());
$menuList = $menu->where('status',1)->get()->toArray(); $permission['updated_at'] = date('Y-m-d H:i:s',time());
collect($menuList)->map(function($menu){ Permission::create($permission);
$permission = []; });
$permission['name'] = $menu['menu_name'];
$permission['menu_id'] = $menu['id']; // 将初始化菜单进行权限绑定
$permission['action'] = ''; $menu = app(Menus::class)->query();
$permission['permission_type'] = 'menu'; $menuList = $menu->where('status',1)->get()->toArray();
$permission['sys_default'] = 0;
$permission['remark'] = $menu['menu_name'].'的相关权限'; collect($menuList)->map(function($menu){
$permission['guard_name'] = config('auth.defaults.guard'); $permission = [];
$permission['name'] = $menu['menu_name'];
Permission::create($permission); $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;
$allPermission = Permission::where('guard_name', config('auth.defaults.guard'))->get(); default : $permission['action'] = '';
$role = Role::all()->first(); }
$role->givePermissionTo($allPermission); $permission['permission_type'] = 'menu';
$permission['sys_default'] = 0;
//给用户指定用户组 $permission['remark'] = $menu['menu_name'].'的相关权限';
$admin = app(AdminUsers::class)->where('is_admin',1)->first(); $permission['guard_name'] = config('auth.defaults.guard');
$admin->assignRole($role);
$admin->syncPermissions($allPermission); 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();
}
} }
} }
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
use App\Repositories\Models\Menus; use App\Repositories\Models\Menus;
use Illuminate\Support\Facades\DB;
use Spatie\Permission\Models\Role; use Spatie\Permission\Models\Role;
class RolesSeeder extends Seeder class RolesSeeder extends Seeder
...@@ -21,15 +22,29 @@ class RolesSeeder extends Seeder ...@@ -21,15 +22,29 @@ class RolesSeeder extends Seeder
public function run() public function run()
{ {
collect($this->rolesList)->map(function($role){ //$this->command->getOutput()->info('正在初始化角色数据中.');
$role['guard_name'] = config('auth.defaults.guard'); try{
$role['created_at'] = date('Y-m-d H:i:s',time()); DB::beginTransaction();
$role['updated_at'] = date('Y-m-d H:i:s',time());
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();
}
} }
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment