6
0
Fork 0
jiqu-library-server/database/seeders/AdminPermissionSeeder.php

444 lines
17 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
namespace Database\Seeders;
use Dcat\Admin\Models\Permission;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
class AdminPermissionSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//
$permissions = [
/** 示例 **/
// 'test'=> [
// 'name' => '测试权限',
// 'curd' => true, //true默认全部false为不需要, ['index']为仅需要的
// 'children' => [
// 'show' => [
// 'name' => '详情',
// ],
// ],
// ],
'management'=> [
'name' => '系统管理',
'curd' => false,
'children' => [
'administrators' => [
'name' => '管理员',
'curd' => true,
],
'roles' => [
'name' => '角色',
'curd' => true,
],
'permissions' => [
'name' => '权限',
'curd' => true,
],
'menus' => [
'name' => '菜单',
'curd' => true,
],
],
],
'api'=>[
'name'=>'后台接口',
'curd' => false,
'children' => [
'api.product_categories'=>['name'=>'商品分类'],
'api.product_group_details' =>['name'=>'商品分组'],
'api.product_skus'=>['name'=>'子商品列表'],
'api.coupons'=>['name'=>'优惠券'],
'api.coupone_send_tasks'=>['name'=>'优惠券发送任务'],
'api.orders'=>['name'=>'订单'],
'api.order_products'=>['name'=>'订单商品'],
'api.users'=>['name'=>'用户'],
],
],
'home'=>[
'name'=>'主页',
'curd' => false,
'children' =>[
'home.statistics'=>['name' =>'统计预览'],
'home.users'=>['name' =>'累计会员'],
'home.new_users'=>['name' =>'新注册'],
'home.orders'=>['name' =>'订单'],
],
],
'users'=>[
'name'=>'会员管理',
'curd'=>['index', 'show', 'create', 'store', 'destroy'],
'children'=>[
'disable' =>['name'=>'禁用'],
'enable'=>['name' =>'启用'],
'frozen'=>['name' =>'冻结资产'],
'edit_agent'=>['name' =>'修改等级'],
'reset_password'=>['name' =>'修改密码'],
'reset_account_password'=>['name' =>'修改安全密码'],
'edit_phone'=>['name' =>'修改手机号'],
'edit_bank'=>['name'=>'修改银行卡'],
'enable_bonus'=>['name' =>'开启奖金分红'],
'disable_bonus'=>['name' =>'关闭奖金分红'],
],
],
'article_categories' =>[
'name'=>'文章分类',
'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'],
],
'articles'=>[
'name'=>'文章',
'curd' => true,
],
'ad_addresses'=>[
'name'=>'广告位',
'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'],
],
'ads'=>[
'name'=>'广告内容',
'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'],
],
'coupons'=>[
'name' =>'优惠券管理',
'curd' => true,
'children'=>[
'range_list' =>['name' =>'使用范围'],
],
],
'coupon_ranges'=>[
'name' =>'优惠使用范围管理',
'curd' => ['create', 'store', 'edit', 'update', 'destroy'],
],
'shipping_templates'=>[
'name' =>'运费模板管理',
'curd' => true,
'children'=>[
'rule_list' =>['name' =>'运费规则'],
],
],
'shipping_rules'=>[
'name' =>'运费规则管理',
'curd' => ['create', 'store', 'edit', 'update', 'destroy'],
],
'product_categories'=>[
'name' =>'商品分类',
'curd'=>['index', 'create', 'store', 'edit', 'update', 'destroy'],
],
'product_spus'=>[
'name' =>'主商品',
'curd'=> true,
'children'=>[
'sku_list'=>['name'=>'子商品列表'],
'setting_specs'=>['name'=>'设置规格'],
'init_sku_by_specs'=>['name' =>'初始化SKU'],
'add_sku'=>['name' =>'添加子商品'],
],
],
'product_skus'=>[
'name' =>'子商品',
'curd' =>['index', 'edit', 'update', 'destroy'],
'children'=>[
'batch_release_up' => ['name'=>'批量上架申请'],
'batch_release_down'=>['name' =>'批量下架'],
'batch_release_cacel'=>['name' =>'批量取消申请'],
'batch_sku_sync_spu'=>['name' =>'批量同步主商品'],
'release_up'=> ['name'=>'上架申请'],
'release_down'=> ['name'=>'商品下架'],
'release_cacel'=> ['name'=>'取消申请'],
'sku_sync_spu'=>['name' =>'同步主商品'],
'sku_gift' =>['name' =>'赠品管理'],
],
],
'product_sku_verifies'=>[
'name' =>'商品审核',
'curd'=>['index', 'destroy'],
'children' => [
'verify'=>['name' =>'审核商品'],
'batch_verify'=>['name' =>'批量审核'],
],
],
'product_groups'=>[
'name' =>'属性分组',
'curd'=>['index', 'create', 'store', 'edit', 'update', 'destroy'],
],
'product_features'=>[
'name' =>'商品特点',
'curd' =>['index', 'create', 'store', 'edit', 'update', 'destroy'],
],
'product_buynotes'=>[
'name' =>'购买须知',
'curd'=>['index', 'create', 'store', 'edit', 'update', 'destroy'],
],
'product_parts'=>[
'name' =>'商品分区',
'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'],
'children'=>[
'coupons'=>['name'=>'赠券'],
],
],
'coupon_send_tasks'=>[
'name' =>'优惠券发放',
'curd' => true,
'children'=>[
'start' =>['name'=>'开始任务'],
],
],
'coupon_task_logs'=>[
'name' =>'优惠券发放日志',
'curd' => ['index'],
],
'messages'=>[
'name' =>'公告消息',
'curd' => true,
],
'share_bgs'=>[
'name'=>'分享背景',
'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'],
],
'app_versions'=>[
'name' =>'App版本管理',
'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'],
],
'orders'=>[
'name' =>'订单管理',
'curd' => ['index', 'show'],
'children'=>[
'export_shipping_orders'=>['name' =>'导出发货单'],
'tags'=>['name' =>'标签设置'],
'pay'=>['name' =>'支付订单'],
'reduce'=>['name' =>'订单改价'],
'remark'=>['name' =>'订单备注'],
'consignee'=>['name' =>'修改地址'],
'create_package'=>['name' =>'发货'],
'pendding_orders'=>['name' =>'待发货单'],
'finished_orders'=>['name' =>'已完成单'],
],
],
'order_reduce_ranges'=>[
'name' =>'订单调价权限管理',
'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'],
],
'order_refunds'=>[
'name' => '退款记录',
'curd' => ['index'],
],
'order_packages'=>[
'name' =>'发货单',
'curd' =>['index', 'edit', 'update', 'destroy'],
'children' => [
'import'=>['name' =>'导入发货单'],
'failed' => ['name' =>'作废'],
'tags'=>['name' =>'标签设置'],
],
],
'import_job_logs'=>[
'name' =>'导入记录',
'curd'=>['index'],
],
'after_sales'=>[
'name' =>'售后管理',
'curd' => ['index', 'show'],
'children' => [
'verifies'=>['name' =>'售后处理'],
'verify'=>['name' =>'客服审核'],
'shippings'=>['name' =>'售后验收'],
'shipping'=>['name' =>'确认收货'],
'finances'=>['name' =>'售后打款'],
'finance'=>['name' =>'确认打款'],
'tags'=>['name' =>'标签设置'],
],
],
'tags'=>[
'name' =>'标签管理',
'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'],
],
'settings'=>[
'name' =>'配置管理',
'curd' => ['index'],
],
'distribution_pre_incomes'=>[
'name' =>'预收益',
'curd' => ['index'],
],
'wallet_logs'=>[
'name' =>'可提账户',
'curd' =>['index'],
'children' => [
'recharge'=>['name' =>'充值'],
'deduction'=>['name' =>'扣减'],
],
],
'balance_logs'=>[
'name' =>'余额账户',
'curd' =>['index'],
'children' => [
'recharge'=>['name' =>'充值'],
'deduction'=>['name' =>'扣减'],
],
],
'points_logs'=>[
'name' =>'积分账户',
'curd' => ['index'],
],
'quota_logs'=>[
'name' =>'新配额账户',
'curd' => ['index'],
],
'wallet_to_bank_logs' => [
'name' => '提现审核',
'curd' => ['index'],
'children' => [
'verify'=>['name' =>'审核'],
],
],
'quota_v1_send_jobs'=>[
'name' => '老配额分红',
'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'],
'children' => [
'log_list'=>['name' =>'分红记录'],
],
],
'dealers' =>[
'name' =>'经销商管理',
'curd'=>['index', 'show', 'update'],
'children'=>[
'edit_lvl'=>['name' =>'修改经销商等级'],
'bonds'=>['name' =>'填写保证金'],
'edit_product'=>['name' =>'调整库存'],
],
],
'dealer_products'=>[
'name'=>'批零商品',
'curd'=> true,
'children' => [
'lvl_rules'=>['name' =>'等级规则'],
'sale_rules'=>['name' =>'销售规则'],
'manage_rules' =>['name' =>'管理规则'],
],
],
'dealer_orders'=>[
'name' =>'批零订单',
'curd' => ['index', 'show'],
'children' =>[
'paid'=>['name' =>'确认收款'],
'refuse'=>['name' =>'拒绝收款'],
'shipping'=>['name' =>'确认发货'],
'allocate'=>['name' =>'自动分配'],
'manager'=>['name' =>'系统订单'],
'remark'=>['name' =>'备注'],
'cancel'=>['name' =>'取消订单'],
],
],
'dealer_earnings'=>[
'name' =>'资金管理',
'curd' => ['index', 'show'],
'children' => [
'channel'=>['name' =>'渠道补贴'],
'purchase'=>['name' =>'进货补贴'],
'manage' =>['name' =>'管理补贴'],
'manager'=>['name' =>'管理者补贴'],
'pay'=>['name' =>'确认打款'],
],
],
'dealer_manager_sales_logs'=>[
'name' =>'管理者津贴明细',
'curd' => ['index'],
],
'dealer_manage_subsidy_logs'=>[
'name' =>'管理津贴明细',
'curd' => ['index'],
],
'dealer_purchase_logs'=>[
'name' =>'进货补贴明细',
'curd' => ['index'],
],
'dealer_wallet_to_bank_logs'=>[
'name' =>'余额提现',
'curd' => ['index', 'show'],
'children' =>[
'export'=>['name' =>'导出打款单'],
'verify'=>['name' =>'提现审核'],
],
],
];
// try {
// DB::begintransaction();
$this->createPermissionData($permissions);
// DB::commit();
// } catch (\Exception $e) {
// Log::error('权限录入:'.$e->getMessage());
// DB::rollBack();
// }
}
/**
* 插入权限
*
* @param array $permissions
* @param string $key
* @param integer $pId
*/
public function createPermissionData(array $permissions, string $key = '', int $pId = 0)
{
$curdArr = [
'index'=>[
'name' => '列表',
],
'create'=>[
'name' => '新增',
],
'store' =>[
'name' => '保存',
],
'edit' =>[
'name' => '修改',
],
'update'=>[
'name' => '更新',
],
'destroy'=>[
'name' => '删除',
],
'show'=>[
'name' => '详情',
],
];
foreach ($permissions as $slug => $permission) {
//是否已存在该权限
$slugKey = 'dcat.admin.'.($key ? $key.'.'.$slug : $slug);
$pper = Permission::updateOrCreate(['slug'=>$slugKey], ['name' => $permission['name'], 'parent_id' => $pId]);
if (!isset($permission['children'])) {
$permission['children'] = [];
}
//判断是否默认插入curd权限
if (isset($permission['curd']) && $permission['curd']) {
if (is_array($permission['curd'])) {
rsort($permission['curd']);
foreach ($permission['curd'] as $value) {
// $permission['children'][$value] = $curdArr[$value];
$permission['children'] = array_merge([
$value=>$curdArr[$value],
], $permission['children']);
}
} else {
$permission['children'] = array_merge($curdArr, $permission['children']);
}
}
if (count($permission['children']) > 0) {
$_key = $permission['curd'] ? ($key ? $key.'.'.$slug : $slug) : $key;
$this->createPermissionData($permission['children'], $_key ?? $slug, $pper->id);
}
}
}
}