*/ class InitSettingCommand extends Command { /** * The name of command. * * @var string */ protected $signature = 'init:setting'; /** * The description of command. * * @var string */ protected $description = 'init setting'; /** * The type of class being generated. * * @var string */ protected $type = 'setting'; /** * Execute the command. * * @return void * @see fire() */ public function handle() { // $this->initSetting(); // $this->initDict(); $this->initRole(); // $this->initUser(); $this->line('配置初始化成功'); } public function initRole() { $roles[] = [ 'name' => 'admin', 'nickname' => '管理员', 'guard_name' => 'admins', 'is_system' => 1, ]; $roles[] = [ 'name' => 'shop_admin', 'nickname' => '门店管理员', 'guard_name' => 'admins', 'is_system' => 1, ]; $roles[] = [ 'name' => 'coach-vr', 'nickname' => 'VR教练', 'guard_name' => 'admins', 'is_system' => 1, ]; $roles[] = [ 'name' => 'coach-car', 'nickname' => '实车教练', 'guard_name' => 'admins', 'is_system' => 1, ]; $roles[] = [ 'name' => 'business', 'nickname' => '招生老师(全职)', 'guard_name' => 'admins', 'is_system' => 1, ]; $roles[] = [ 'name' => 'business-temp', 'nickname' => '招生老师(兼职)', 'guard_name' => 'admins', 'is_system' => 1, ]; // // $roles[] = [ // 'name' => 'yewu', // 'nickname' => '业务员', // 'guard_name' => 'admins', // 'is_system' => 1, // ]; DB::statement('SET FOREIGN_KEY_CHECKS = 0'); // 禁用外键约束 DB::table('base_roles')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS = 1'); // 启用外键约束 DB::transaction(function () use ($roles) { foreach ($roles as $role) { Role::query()->updateOrCreate(['name' => $role['name']], $role); } }); } public function initUser() { $admin = Admin::query()->create([ 'username' => 'superadmin', 'name' => '超级管理员', 'mobile' => '15225006562', 'type' => '1', 'email' => '751066209@qq.com', 'password' => Hash::make('Q1w2e3r4!'), ]); $admin->syncRoles('admin'); } /** * 初始化字典 * @return void */ public function initDict() { $dicts[] = [ 'name' => '准驾车型', 'code' => 'CAR_TYPE', 'is_system' => 1, 'options' => [ [ 'name' => 'C1', 'value' => 1, ], [ 'name' => 'C2', 'value' => 2, ], ] ]; // $dicts[] = [ // 'name' => '缴费方式', // 'code' => 'CAR_PAY_MONEY_TYPE', // 'is_system' => 1, // 'options' => [ // [ // 'name' => '全款', // 'value' => 1, // ], // [ // 'name' => '先学后付', // 'value' => 2, // ], // ] // ]; DB::transaction(function () use ($dicts) { foreach ($dicts as $data) { $dict = Dict::query()->updateOrCreate(['code' => $data['code']], Arr::only($data, ['name', 'code', 'is_system'])); foreach ($data['options'] as $option) { DictDetail::query()->updateOrCreate(['dict_id' => $dict['id'], 'name' => $option['name']], ['dict_id' => $dict['id'], 'name' => $option['name'], 'value' => $option['value']]); } } }); } /** * 初始化配置 * @return void */ public function initSetting() { $settings[] = [ 'name' => '系统上传图片允许格式', 'code' => 'system_upload_img_type', 'value' => 'png,jpg,gif,jpeg', 'is_system' => 1, ]; $settings[] = [ 'name' => '系统上传文件允许格式', 'code' => 'system_upload_file_type', 'value' => arr2str(["doc", 'docx', "xls", "pdf", 'xlsx', 'mp4', 'webvtt', 'vtt', "png", "jpg", "gif", 'jpeg'], ','), 'is_system' => 1, ]; $settings[] = [ 'name' => '锁屏时间', 'code' => 'system_auto_lock_minutes', 'value' => 30, 'is_system' => 1, ]; $settings[] = [ 'name' => '关于我们', 'code' => 'system_article_about_me', 'value' => '关于我们', 'is_system' => 1, ]; // $settings[] = [ // 'name' => '用户隐私协议', // 'code' => 'system_article_user_hidden', // 'value' => '用户隐私协议', // 'is_system' => 1, // ]; // // $settings[] = [ // 'name' => '用户协议', // 'code' => 'system_article_user', // 'value' => '用户协议', // 'is_system' => 1, // ]; $settings[] = [ 'name' => '科目二-实车教练-提成金额', 'code' => 'coach_car_2_bonus', 'value' => arr2str0([100, 50, 50, 0, 0], ','), 'is_system' => 1, 'tips' => '格式为:[第一次提成金额],[第二次提成金额],[第三次提成金额],[第四次提成金额],[第五次提成金额]', ]; $settings[] = [ 'name' => '科目三-实车教练-提成金额', 'code' => 'coach_car_3_bonus', 'value' => arr2str0([100, 50, 50, 0, 0], ','), 'is_system' => 1, 'tips' => '格式为:[第一次提成金额],[第二次提成金额],[第三次提成金额],[第四次提成金额],[第五次提成金额]', ]; $settings[] = [ 'name' => '店长-提成', 'code' => 'shop_manage_bonus', 'value' => 50, 'is_system' => 1, ]; $settings[] = [ 'name' => '招生老师【全职】-全款学员-提成', 'code' => 'salesman_all_bonus', 'value' => 100, 'is_system' => 1, ]; $settings[] = [ 'name' => '招生老师【兼职】-全款学员-提成', 'code' => 'time_salesman_all_bonus', 'value' => 100, 'is_system' => 1, ]; $settings[] = [ 'name' => '招生老师【全职】-先学后付学员-提成', 'code' => 'salesman_0_bonus', 'value' => '100,200', 'is_system' => 1, 'tips' => '格式为:[报名直接提成金额],[冻结提成金额];总提成为:两者金额之和;冻结金额解冻条件为:学费交完', ]; $settings[] = [ 'name' => '招生老师【兼职】-先学后付学员-提成', 'code' => 'time_salesman_0_bonus', 'value' => '100,200', 'is_system' => 1, 'tips' => '格式为:[报名直接提成金额],[冻结提成金额];总提成为:两者金额之和;冻结金额解冻条件为:学费交完', ]; $settings[] = [ 'name' => '学车费用-初考费', 'code' => 'car_init_money', 'value' => 410, 'is_system' => 1, ]; $settings[] = [ 'name' => '学车费用-科一补考', 'code' => 'car_lesson_1_re_money', 'value' => 25, 'is_system' => 1, ]; $settings[] = [ 'name' => '学车费用-科二补考', 'code' => 'car_lesson_2_re_money', 'value' => 100, 'is_system' => 1, ]; $settings[] = [ 'name' => '学车费用-科三补考', 'code' => 'car_lesson_3_re_money', 'value' => 75, 'is_system' => 1, ]; $settings[] = [ 'name' => '学车费用-科二模拟', 'code' => 'car_lesson_2_simulate_money', 'value' => 300, 'is_system' => 1, ]; $settings[] = [ 'name' => '学车费用-科三模拟', 'code' => 'car_lesson_3_simulate_money', 'value' => 300, 'is_system' => 1, ]; $settings[] = [ 'name' => '学车费用-科三场地费', 'code' => 'car_lesson_3_site', 'value' => 200, 'is_system' => 1, ]; DB::transaction(function () use ($settings) { foreach ($settings as $setting) { Setting::query()->updateOrCreate(['code' => $setting['code']], $setting); } }); } }