123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336 |
- <?php
- namespace App\Console\Commands\Base;
- use App\Repositories\Models\Base\Admin;
- use App\Repositories\Models\Base\Dict;
- use App\Repositories\Models\Base\DictDetail;
- use App\Repositories\Models\Base\Role;
- use App\Repositories\Models\Base\Setting;
- use Illuminate\Console\Command;
- use Illuminate\Support\Arr;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Support\Facades\Hash;
- /**
- * Class PresenterCommand
- * @package Prettus\Repository\Generators\Commands
- * @author Anderson Andrade <contato@andersonandra.de>
- */
- 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);
- }
- });
- }
- }
|