权限分配

This commit is contained in:
liu
2026-06-17 12:49:44 +08:00
parent f63a7db58f
commit a5eb91fadd
2 changed files with 34 additions and 89 deletions
+26 -24
View File
@@ -775,33 +775,35 @@ class SysRuleSeeder extends Seeder
->select(DB::raw('1 as role_id'), 'id')
);
// 创建"商户"角色分配商户门户权限
$merchantRoleExists = DB::table('sys_role')->where('name', '商户')->exists();
if (! $merchantRoleExists) {
$merchantRoleId = DB::table('sys_role')->insertGetId([
'name' => '商户',
'status' => 1,
'created_at' => now(),
'updated_at' => now(),
]);
// 商户角色分配 merchant.portal.* 及 dashboard 权限
$portalRuleIds = DB::table('sys_rule')
->where('status', 1)
->where(function ($query) {
$query->where('key', 'LIKE', 'merchant.portal%')
->orWhere('key', 'dashboard')
->orWhere('key', 'dashboard.analysis');
})
->pluck('id');
// 为商户角色分配 merchant.portal.* 及 dashboard 权限
$portalRuleIds = DB::table('sys_rule')
->where('status', 1)
->where(function ($query) {
$query->where('key', 'LIKE', 'merchant.portal.%')
->orWhere('key', 'dashboard')
->orWhere('key', 'dashboard.analysis');
})
->pluck('id');
$insertData = $portalRuleIds->map(fn ($ruleId) => [
'role_id' => $merchantRoleId,
DB::table('sys_role_rule')->insert(
$portalRuleIds->map(fn ($ruleId) => [
'role_id' => 3,
'rule_id' => $ruleId,
])->toArray();
])->toArray()
);
DB::table('sys_role_rule')->insert($insertData);
}
// 为管理员角色分配所有启用权限,排除 merchant.portal.*(商户门户权限)
$adminRuleIds = DB::table('sys_rule')
->where('status', 1)
->where('key', 'NOT LIKE', 'merchant.portal%')
->pluck('id');
DB::table('sys_role_rule')->insert(
$adminRuleIds->map(fn ($ruleId) => [
'role_id' => 2,
'rule_id' => $ruleId,
])->toArray()
);
}
/**
+8 -65
View File
@@ -18,8 +18,8 @@ class SysUserSeeder extends Seeder
DB::table('sys_user')->insert([
[
'id' => 1,
'username' => 'admin',
'nickname' => '管理员',
'username' => 'super_admin',
'nickname' => '超级管理员',
'email' => Str::random(10).'@example.com',
'password' => Hash::make('123456'),
'dept_id' => 1,
@@ -31,11 +31,11 @@ class SysUserSeeder extends Seeder
],
[
'id' => 2,
'username' => 'user',
'nickname' => '财务',
'username' => 'admin',
'nickname' => '管理员',
'email' => Str::random(10).'@example.com',
'password' => Hash::make('123456'),
'dept_id' => 2,
'dept_id' => 1,
'avatar_id' => 1,
'email_verified_at' => now(),
'remember_token' => Str::random(10),
@@ -45,9 +45,8 @@ class SysUserSeeder extends Seeder
]);
DB::table('sys_role')->insert([
['id' => 1, 'name' => '超级管理员', 'created_at' => $date, 'updated_at' => $date],
['id' => 2, 'name' => '财务', 'created_at' => $date, 'updated_at' => $date],
['id' => 3, 'name' => '电商总监', 'created_at' => $date, 'updated_at' => $date],
['id' => 4, 'name' => '市场运营', 'created_at' => $date, 'updated_at' => $date],
['id' => 2, 'name' => '管理员', 'created_at' => $date, 'updated_at' => $date],
['id' => 3, 'name' => '商户', 'created_at' => $date, 'updated_at' => $date],
]);
DB::table('sys_dept')->insert([
[
@@ -63,63 +62,7 @@ class SysUserSeeder extends Seeder
'remark' => '总公司',
'created_at' => $date,
'updated_at' => $date
],
[
'id' => 2,
'name' => '新时代软件技术(洛阳)有限公司',
'code' => 'A01-B01',
'type' => 0,
'parent_id' => 1,
'sort' => 0,
'phone' => '19999999999',
'email' => Str::random(10).'@example.com',
'address' => '河南省洛阳市龙门区某某街道99号',
'remark' => '洛阳市分公司',
'created_at' => $date,
'updated_at' => $date
],
[
'id' => 3,
'name' => '新时代智能科技(郑州)有限公司',
'code' => 'A01-B02',
'type' => 0,
'parent_id' => 1,
'sort' => 0,
'phone' => '19999999999',
'email' => Str::random(10).'@example.com',
'address' => '河南省郑州市二七区某某街道69号',
'remark' => '郑州市分公司',
'created_at' => $date,
'updated_at' => $date
],
[
'id' => 4,
'name' => '新征程科技(南阳)有限公司',
'code' => 'A01-B03',
'type' => 0,
'parent_id' => 1,
'sort' => 2,
'phone' => '19999999999',
'email' => Str::random(10).'@example.com',
'address' => '河南省南阳市卧龙区某某街道77号',
'remark' => '南阳市分公司',
'created_at' => $date,
'updated_at' => $date
],
[
'id' => 5,
'name' => '新时代投资发展有限公司',
'code' => 'B01',
'type' => 0,
'parent_id' => 0,
'sort' => 2,
'phone' => '19999999999',
'email' => Str::random(10).'@example.com',
'address' => '北京市海淀区人民路666号',
'remark' => '我们坚信,卓越的投资在于发现价值,而卓越的投资管理在于创造价值。我们立志成为科技创业者身边最懂业务、最能赋能、最长情的资本伙伴,共同将创新的火种,转化为引领行业的参天大树。',
'created_at' => $date,
'updated_at' => $date
],
]
]);
DB::table('sys_user_role')->insert([