307 lines
15 KiB
PHP
307 lines
15 KiB
PHP
<?php
|
|
|
|
use Illuminate\Database\Seeder;
|
|
use Illuminate\Support\Str;
|
|
|
|
class UserTableSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function run()
|
|
{
|
|
//清空表
|
|
\Illuminate\Support\Facades\DB::statement('SET FOREIGN_KEY_CHECKS=0;');
|
|
\Illuminate\Support\Facades\DB::table('model_has_permissions')->truncate();
|
|
\Illuminate\Support\Facades\DB::table('model_has_roles')->truncate();
|
|
\Illuminate\Support\Facades\DB::table('role_has_permissions')->truncate();
|
|
\Illuminate\Support\Facades\DB::table('users')->truncate();
|
|
\Illuminate\Support\Facades\DB::table('roles')->truncate();
|
|
\Illuminate\Support\Facades\DB::table('permissions')->truncate();
|
|
\Illuminate\Support\Facades\DB::statement('SET FOREIGN_KEY_CHECKS=1;');
|
|
|
|
//用户
|
|
$user = \App\Models\User::create([
|
|
'phone' => '18908221080',
|
|
'nickname' => '超级管理员',
|
|
'password' => '123456',
|
|
'api_token' => hash('sha256', Str::random(60)),
|
|
]);
|
|
//角色
|
|
$role = \App\Models\Role::create([
|
|
'name' => 'root',
|
|
'display_name' => '超级管理员',
|
|
]);
|
|
//权限
|
|
$permissions = [
|
|
[
|
|
'name' => 'system',
|
|
'display_name' => '系统管理',
|
|
'child' => [
|
|
[
|
|
'name' => 'system.user',
|
|
'display_name' => '用户管理',
|
|
'child' => [
|
|
['name' => 'system.user.create', 'display_name' => '添加用户'],
|
|
['name' => 'system.user.edit', 'display_name' => '编辑用户'],
|
|
['name' => 'system.user.resetPassword', 'display_name' => '重置密码'],
|
|
['name' => 'system.user.destroy', 'display_name' => '删除用户'],
|
|
['name' => 'system.user.role', 'display_name' => '分配角色'],
|
|
['name' => 'system.user.permission', 'display_name' => '分配权限'],
|
|
]
|
|
],
|
|
[
|
|
'name' => 'system.role',
|
|
'display_name' => '角色管理',
|
|
'child' => [
|
|
['name' => 'system.role.create', 'display_name' => '添加角色'],
|
|
['name' => 'system.role.edit', 'display_name' => '编辑角色'],
|
|
['name' => 'system.role.destroy', 'display_name' => '删除角色'],
|
|
['name' => 'system.role.permission', 'display_name' => '分配权限'],
|
|
]
|
|
],
|
|
[
|
|
'name' => 'system.permission',
|
|
'display_name' => '权限管理',
|
|
'child' => [
|
|
['name' => 'system.permission.create', 'display_name' => '添加权限'],
|
|
['name' => 'system.permission.edit', 'display_name' => '编辑权限'],
|
|
['name' => 'system.permission.destroy', 'display_name' => '删除权限'],
|
|
]
|
|
],
|
|
[
|
|
'name' => 'system.menu',
|
|
'display_name' => '菜单管理',
|
|
'child' => [
|
|
['name' => 'system.menu.create', 'display_name' => '添加'],
|
|
['name' => 'system.menu.edit', 'display_name' => '编辑'],
|
|
['name' => 'system.menu.destroy', 'display_name' => '删除'],
|
|
]
|
|
],
|
|
]
|
|
],
|
|
[
|
|
'name' => 'fs',
|
|
'display_name' => '服务配置',
|
|
'child' => [
|
|
[
|
|
'name' => 'fs.sip',
|
|
'display_name' => '分机管理',
|
|
'child' => [
|
|
['name' => 'fs.sip.create', 'display_name' => '添加'],
|
|
['name' => 'fs.sip.create_list', 'display_name' => '批量添加'],
|
|
['name' => 'fs.sip.edit', 'display_name' => '编辑'],
|
|
['name' => 'fs.sip.destroy', 'display_name' => '删除'],
|
|
['name' => 'fs.sip.updateXml', 'display_name' => '更新配置'],
|
|
['name' => 'fs.sip.updateGateway', 'display_name' => '切换网关'],
|
|
]
|
|
],
|
|
[
|
|
'name' => 'fs.gateway',
|
|
'display_name' => '网关管理',
|
|
'child' => [
|
|
['name' => 'fs.gateway.create', 'display_name' => '添加'],
|
|
['name' => 'fs.gateway.edit', 'display_name' => '编辑'],
|
|
['name' => 'fs.gateway.destroy', 'display_name' => '删除'],
|
|
['name' => 'fs.gateway.updateXml', 'display_name' => '更新配置'],
|
|
]
|
|
],
|
|
[
|
|
'name' => 'fs.gateway_outbound',
|
|
'display_name' => '出局号码',
|
|
'child' => [
|
|
['name' => 'fs.gateway_outbound.create', 'display_name' => '添加'],
|
|
['name' => 'fs.gateway_outbound.edit', 'display_name' => '编辑'],
|
|
['name' => 'fs.gateway_outbound.destroy', 'display_name' => '删除'],
|
|
['name' => 'fs.gateway_outbound.import', 'display_name' => '导入'],
|
|
]
|
|
],
|
|
[
|
|
'name' => 'fs.extension',
|
|
'display_name' => '拨号计划',
|
|
'child' => [
|
|
['name' => 'fs.extension.show', 'display_name' => '详情'],
|
|
['name' => 'fs.extension.create', 'display_name' => '添加'],
|
|
['name' => 'fs.extension.edit', 'display_name' => '编辑'],
|
|
['name' => 'fs.extension.destroy', 'display_name' => '删除'],
|
|
]
|
|
],
|
|
]
|
|
],
|
|
[
|
|
'name' => 'callcenter',
|
|
'display_name' => '群呼管理',
|
|
'child' => [
|
|
[
|
|
'name' => 'callcenter.queue',
|
|
'display_name' => '队列管理',
|
|
'child' => [
|
|
['name' => 'callcenter.queue.create', 'display_name' => '添加'],
|
|
['name' => 'callcenter.queue.edit', 'display_name' => '编辑'],
|
|
['name' => 'callcenter.queue.destroy', 'display_name' => '删除'],
|
|
['name' => 'callcenter.queue.updateXml', 'display_name' => '更新配置'],
|
|
['name' => 'callcenter.queue.agent', 'display_name' => '分配坐席'],
|
|
]
|
|
],
|
|
[
|
|
'name' => 'callcenter.agent',
|
|
'display_name' => '坐席管理',
|
|
'child' => [
|
|
['name' => 'callcenter.agent.create', 'display_name' => '添加'],
|
|
['name' => 'callcenter.agent.edit', 'display_name' => '编辑'],
|
|
['name' => 'callcenter.agent.destroy', 'display_name' => '删除'],
|
|
['name' => 'callcenter.agent.check', 'display_name' => '签入签出'],
|
|
]
|
|
],
|
|
[
|
|
'name' => 'callcenter.task',
|
|
'display_name' => '任务管理',
|
|
'child' => [
|
|
['name' => 'callcenter.task.create', 'display_name' => '添加'],
|
|
['name' => 'callcenter.task.show', 'display_name' => '详情'],
|
|
['name' => 'callcenter.task.edit', 'display_name' => '编辑'],
|
|
['name' => 'callcenter.task.destroy', 'display_name' => '删除'],
|
|
['name' => 'callcenter.task.importCall', 'display_name' => '导入号码'],
|
|
['name' => 'callcenter.task.setStatus', 'display_name' => '设置状态'],
|
|
]
|
|
],
|
|
|
|
]
|
|
],
|
|
[
|
|
'name' => 'crm',
|
|
'display_name' => '客户管理',
|
|
'child' => [
|
|
[
|
|
'name' => 'crm.department',
|
|
'display_name' => '部门管理',
|
|
'child' => [
|
|
['name' => 'crm.department.create', 'display_name' => '添加'],
|
|
['name' => 'crm.department.edit', 'display_name' => '编辑'],
|
|
['name' => 'crm.department.destroy', 'display_name' => '删除'],
|
|
]
|
|
],
|
|
[
|
|
'name' => 'crm.node',
|
|
'display_name' => '节点管理',
|
|
'child' => [
|
|
['name' => 'crm.node.create', 'display_name' => '添加'],
|
|
['name' => 'crm.node.edit', 'display_name' => '编辑'],
|
|
['name' => 'crm.node.destroy', 'display_name' => '删除'],
|
|
]
|
|
],
|
|
[
|
|
'name' => 'crm.project-design',
|
|
'display_name' => '客户配置',
|
|
'child' => [
|
|
['name' => 'crm.project-design.create', 'display_name' => '添加'],
|
|
['name' => 'crm.project-design.edit', 'display_name' => '编辑'],
|
|
['name' => 'crm.project-design.destroy', 'display_name' => '删除'],
|
|
]
|
|
],
|
|
[
|
|
'name' => 'crm.project',
|
|
'display_name' => '客户管理',
|
|
'route' => 'admin.project',
|
|
'child' => [
|
|
['name' => 'crm.project.create', 'display_name' => '添加'],
|
|
['name' => 'crm.project.edit', 'display_name' => '编辑'],
|
|
['name' => 'crm.project.destroy', 'display_name' => '删除'],
|
|
['name' => 'crm.project.show', 'display_name' => '详情'],
|
|
['name' => 'crm.project.node', 'display_name' => '节点变更'],
|
|
['name' => 'crm.project.remark', 'display_name' => '添加备注'],
|
|
['name' => 'crm.project.import', 'display_name' => '导入'],
|
|
['name' => 'crm.project.downloadTemplate', 'display_name' => '下载模板'],
|
|
['name' => 'crm.project.list_all', 'display_name' => '查看所有客户'],
|
|
['name' => 'crm.project.list_department', 'display_name' => '查看本部门客户'],
|
|
]
|
|
],
|
|
[
|
|
'name' => 'crm.waste',
|
|
'display_name' => '公海库',
|
|
'child' => [
|
|
['name' => 'crm.waste.retrieve', 'display_name' => '拾回'],
|
|
]
|
|
],
|
|
[
|
|
'name' => 'crm.remind',
|
|
'display_name' => '跟进提醒',
|
|
'child' => [
|
|
['name' => 'crm.remind.count', 'display_name' => '图表统计'],
|
|
]
|
|
],
|
|
]
|
|
],
|
|
[
|
|
'name' => 'data',
|
|
'display_name' => '数据监控',
|
|
'child' => [
|
|
[
|
|
'name' => 'data.cdr',
|
|
'display_name' => '通话记录',
|
|
'child' => [
|
|
['name' => 'data.cdr.play', 'display_name' => '播放'],
|
|
['name' => 'data.cdr.download', 'display_name' => '下载'],
|
|
['name' => 'data.cdr.list_all', 'display_name' => '查看所有记录'],
|
|
['name' => 'data.cdr.list_department', 'display_name' => '查看部门记录'],
|
|
]
|
|
],
|
|
[
|
|
'name' => 'data.cdr.count',
|
|
'display_name' => '呼叫统计',
|
|
'child' => [
|
|
|
|
]
|
|
],
|
|
]
|
|
],
|
|
];
|
|
|
|
foreach ($permissions as $pem1) {
|
|
//生成一级权限
|
|
$p1 = \App\Models\Permission::create([
|
|
'name' => $pem1['name'],
|
|
'display_name' => $pem1['display_name'],
|
|
'parent_id' => 0,
|
|
]);
|
|
//为角色添加权限
|
|
$role->givePermissionTo($p1);
|
|
//为用户添加权限
|
|
$user->givePermissionTo($p1);
|
|
if (isset($pem1['child'])) {
|
|
foreach ($pem1['child'] as $pem2) {
|
|
//生成二级权限
|
|
$p2 = \App\Models\Permission::create([
|
|
'name' => $pem2['name'],
|
|
'display_name' => $pem2['display_name'],
|
|
'parent_id' => $p1->id,
|
|
]);
|
|
//为角色添加权限
|
|
$role->givePermissionTo($p2);
|
|
//为用户添加权限
|
|
$user->givePermissionTo($p2);
|
|
if (isset($pem2['child'])) {
|
|
foreach ($pem2['child'] as $pem3) {
|
|
//生成三级权限
|
|
$p3 = \App\Models\Permission::create([
|
|
'name' => $pem3['name'],
|
|
'display_name' => $pem3['display_name'],
|
|
'parent_id' => $p2->id,
|
|
]);
|
|
//为角色添加权限
|
|
$role->givePermissionTo($p3);
|
|
//为用户添加权限
|
|
$user->givePermissionTo($p3);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
//为用户添加角色
|
|
$user->assignRole($role);
|
|
}
|
|
}
|