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,6 +28,11 @@ class AdminUsersSeeder extends Seeder
public function run()
{
//$this->command->getOutput()->info('正在初始化管理员数据中.');
try{
DB::beginTransaction();
collect($this->userList)->map(function($user){
$admin = app(AdminUsers::class);
......@@ -39,5 +45,14 @@ class AdminUsersSeeder extends Seeder
});
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());
//$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){
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());
$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){
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());
$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']);
Menus::query()->insertGetId($subMenus);
$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,6 +143,13 @@ class PermissionsSeeder extends Seeder
public function run()
{
//$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());
......@@ -158,7 +166,11 @@ class PermissionsSeeder extends Seeder
$permission = [];
$permission['name'] = $menu['menu_name'];
$permission['menu_id'] = $menu['id'];
$permission['action'] = '';
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'].'的相关权限';
......@@ -176,5 +188,14 @@ class PermissionsSeeder extends Seeder
$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,6 +22,11 @@ class RolesSeeder extends Seeder
public function run()
{
//$this->command->getOutput()->info('正在初始化角色数据中.');
try{
DB::beginTransaction();
collect($this->rolesList)->map(function($role){
$role['guard_name'] = config('auth.defaults.guard');
......@@ -31,5 +37,14 @@ class RolesSeeder extends Seeder
});
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