Commit 13789983 authored by hangjun83's avatar hangjun83

后端:初始化数据调整

parent aaf0a44d
......@@ -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();
}
}
}
......@@ -3,6 +3,7 @@
use Illuminate\Database\Seeder;
use App\Repositories\Models\Menus;
use Illuminate\Support\Facades\DB;
class MenusSeeder extends Seeder
{
......@@ -97,11 +98,61 @@ class MenusSeeder extends Seeder
'sort' => 1.10,
'created_by' => 0,
'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',
'title' => '用户权限管理',
'title' => '角色权限管理',
'menu_path' => '/permission',
'parent_id' => 0,
'menu_type' => 'page',
......@@ -113,7 +164,89 @@ class MenusSeeder extends Seeder
'sort' => 1.11,
'created_by' => 0,
'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',
......@@ -129,7 +262,105 @@ class MenusSeeder extends Seeder
'sort' => 1.11,
'created_by' => 0,
'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' =>
......@@ -141,7 +372,7 @@ class MenusSeeder extends Seeder
'parent_id' => 0,
'menu_type' => 'page',
'menu_icon' => 'ios-document',
'component' => 'doc-manage/server',
'component' => 'doc-manage/framework',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
......@@ -156,33 +387,62 @@ class MenusSeeder extends Seeder
public function run()
{
foreach($this->menuList as $menu){
$menu['created_at'] = date('Y-m-d H:i:s',time());
$menu['updated_at'] = date('Y-m-d H:i:s',time());
$childrenItem = $menu['children'];
unset($menu['children']);
$id = Menus::query()->insertGetId($menu);
if(isset($childrenItem) && !empty($childrenItem)){
foreach($childrenItem as $children){
$children['parent_id'] = $id;
$children['created_at'] = date('Y-m-d H:i:s',time());
$children['updated_at'] = date('Y-m-d H:i:s',time());
$childrenId = Menus::query()->insertGetId($children);
if(isset($this->subMenusList[$children['menu_name']]) && !empty($this->subMenusList[$children['menu_name']])){
collect($this->subMenusList[$children['menu_name']])->map(function($subMenus) use ($childrenId){
$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());
Menus::query()->insertGetId($subMenus);
});
//$this->command->getOutput()->info('正在初始化菜单数据中.');
try {
DB::beginTransaction();
foreach ($this->menuList as $menu) {
$menu['created_at'] = date('Y-m-d H:i:s', time());
$menu['updated_at'] = date('Y-m-d H:i:s', time());
$childrenItem = $menu['children'];
unset($menu['children']);
$id = Menus::query()->insertGetId($menu);
if (isset($childrenItem) && !empty($childrenItem)) {
foreach ($childrenItem as $children) {
$children['parent_id'] = $id;
$children['created_at'] = date('Y-m-d H:i:s', time());
$children['updated_at'] = date('Y-m-d H:i:s', time());
$childrenId = Menus::query()->insertGetId($children);
if (isset($this->subMenusList[$children['menu_name']]) && !empty($this->subMenusList[$children['menu_name']])) {
collect($this->subMenusList[$children['menu_name']])->map(function ($subMenus) use ($childrenId) {
$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
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();
}
}
}
......@@ -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();
}
}
}
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