diff --git a/app/Admin/Controllers/User/IndexController.php b/app/Admin/Controllers/User/IndexController.php
index 4b5b260..e717aac 100644
--- a/app/Admin/Controllers/User/IndexController.php
+++ b/app/Admin/Controllers/User/IndexController.php
@@ -1,301 +1,299 @@
-
- * @Date : 2019/9/18 14:50
- * @return Grid
- */
- protected function grid()
- {
- $user = Auth::guard('admin')->user();
- $grid = new Grid(new User);
-
- $grid->actions(function ($actions) use ($user) {
- $actions->disableDelete();
- $actions->disableView();
-
- if ($actions->row->identity_id == 1) {
- $actions->add(new RefD3Key);
- $actions->add(new ReCode);
- $actions->add(new Callback);
- }
-
- if ($actions->row->identity_id == 1 && $user->id == 1) {
- $actions->add(new Profit);
- }
- });
-
- $grid->tools(function (Grid\Tools $tools) {
- // $tools->append(new UserImport);
- });
-
- $grid->model()->orderBy('id', 'desc');
-
- $grid->quickSearch('username')->placeholder('登录账户');
-
- $grid->filter(function ($filter) {
- $filter->column(1 / 2, function ($filter) {
- $filter->like('username', '登录账户');
- $filter->like('server_id', '渠道编号');
- $filter->like('outlet_id', '网点编号');
- $filter->like('PaOutletId', '平安网点id');
- $filter->between('created_at', '注册时间')->datetime();
- });
- $filter->column(1 / 2, function ($filter) {
- $filter->like('info.nickname', '渠道/网点');
- $filter->like('server_key', '服务秘钥');
- $filter->equal('identity.identity_id', '用户身份')->select([
- ' ' => '全部',
- '1' => '渠道商',
- '2' => '网点',
- ]);
- $filter->equal('type', '所属项目')->select([
- ' ' => '全部',
- 'pingan' => '平安券',
- 'wo' => '沃支付',
- ]);
- });
- });
-
- $grid->column('id', '#ID#');
- $grid->column('username', '登录账户');
- $grid->column('渠道编号')->display(function () {
- return $this->server_id;
- });
- $grid->column('网点编号')->display(function () {
- return $this->outlet_id ?? '---';
- });
-
- $grid->column('平安网点id')->display(function () {
- return $this->PaOutletId ?? '---';
- });
-
- $grid->column('所属项目')->display(function () {
- return $this->type_text;
- });
-
- $grid->column('回调地址')->display(function ($title, $column) {
- return '点击查看';
- })->modal(function ($model) {
- $data = [
- [
- $this->callback,
- ],
- ];
-
- return new Table(['url'], $data);
-
- });
-
- $grid->column('密钥')->display(function ($title, $column) {
- return '点击查看';
- })->modal(function ($model) {
- $data = [
- [
- '服务秘钥', $model->server_key ?? '---',
- ],
- [
- 'DES3秘钥', $model->des3key ?? '---',
- ],
- ];
-
- return new Table(['名称', '参数'], $data);
-
- });
-
- $grid->column('nickname', '渠道/网点');
- $grid->column('用户身份')->display(function () {
- if ($this->identity_id == 1) {
- return "
" . $this->identity_text . "
";
- } else {
- return $this->identity_text;
- }
-
- });
-
- $grid->column('隶属渠道')->display(function () {
- return $this->parent ? $this->parent->nickname : '---';
- });
-
- if ($user->id == 1) {
- $grid->column('分润规则')->display(function ($title, $column) {
- return '点击展开';
- })->modal(function ($model) {
- if ($model->code) {
- $codes = $model->code->map(function ($code) {
- return $code->only(['name', 'code', 'profit']);
- });
-
- return new Table(['名称', '规则项', '分润金额(元)'], $codes->toArray());
- }
-
- });
- }
-
- $grid->column('created_at', '注册时间');
- $grid->disableExport(false);
-
- $grid->export(function ($export) {
- $export->except(['密钥', '分润规则']);
- $export->column('用户身份', function ($value, $original) {
- return strip_tags($value);
- });
- $export->column('渠道编号', function ($value, $original) {
- return $value . "\t";
- });
- $export->column('网点编号', function ($value, $original) {
- return $value . "\t";
- });
- $export->filename('用户管理' . date("YmdHis"));
- });
-
- return $grid;
- }
-
- /**
- * Notes:
- * @Author:
- * @Date : 2019/9/18 14:50
- * @return Form
- */
- protected function form()
- {
- $province = Area::where('parent_id', 1)->pluck('name', 'code');
-
- $form = new Form(new User);
- $identity = Identity::find(1);
-
- $form->text('username', '登录账户')
- ->creationRules(['required', "unique:users", 'max:11'], ['max' => '小于11个字符'])
- ->updateRules(['required', "unique:users,username,{{id}}"])->required();
-
- $form->password('password', '登录密码')
- ->creationRules('required|min:6', [
- 'required' => '必填',
- 'min' => '密码不能少于6个字符',
- ]);
-
- $form->text('PaOutletId', '平安网点id');
-
- $form->select('type', '项目')
- ->options(['pingan' => '平安券和自有券', 'wo' => '沃支付'])
- ->load('parent_id', '/admin/user/parent')
- ->required();
-
- $form->select('parent_id', '隶属渠道')
- ->options(function ($option, $info) {
- $user = $this;
- if (!$option || ($user && $user->identity_id == 2)) {
- return User::with('info')->whereHas('identity', function ($q) {
- $q->where('identity_id', 1);
- })->when(isset($user->id), function ($q) use ($user) {
- $q->where('type', $user->type);
- })->orderBy('id', 'desc')->get()->pluck('nickname', 'id');
- } else {
- return [0 => '没有隶属渠道'];
- }
- })
- ->default(function ($info) {
- if ($info->model() && $info->model()->parent) {
- return $info->model()->parent_id;
- } else {
- return 0;
- }
- })
- ->help('未选择隶属渠道创建渠道账号,选择隶属渠道创建网点账号');
-
- $form->select('province_id', '行政省份')
- ->options($province)
- ->load('city_id', '/admin/ajax/areas/children')
- ->required();
-
- $form->select('city_id', '行政城市')->options(function ($option, $info) {
- if ($option) {
- return Area::whereHas('parent', function ($q) use ($info) {
- $q->where('code', $this->province_id);
- })->pluck('name', 'code');
- }
- })->load('district_id', '/admin/ajax/areas/children')->required();
-
- $form->select('district_id', '行政区域')->options(function ($option, $info) {
- if ($option) {
- return Area::whereHas('parent', function ($q) use ($info) {
- $q->where('code', $this->city_id);
- })->pluck('name', 'code');
- }
- })->required();
-
- $form->divider('用户资料');
- $form->text('info.nickname', '渠道/网点')->placeholder('请输入渠道/网点名称')->required();
-
- $form->saved(function (Form $form) {
- $user_id = $form->model()->id;
- $user = User::find($user_id);
- if ($user->identity_id == 1 && $user->code()->count() === 0) {
- $userCodes = Identity::find(1)->codes->map(function ($code) {
- return $code->only(['name', 'code', 'profit']);
- });
- $user->code()->createMany($userCodes);
- }
-
- if ($user->parent_id) {
- if ($user->server_id != $user->parent->server_id) {
- $user->server_id = $user->parent->server_id;
- $user->save();
- }
- }
-
- });
-
- return $form;
- }
-
- /**
- * 获取隶属
- * @author 玄尘 2020-03-12
- * @param Request $request [description]
- * @return [type] [description]
- */
- public function getParent(Request $request)
- {
- $type = $request->get('q');
-
- $users = User::whereHas('identity', function ($query) {
- $query->where('identity_id', 1);
- })->get();
-
- $userRet = $users->map(function ($code) {
- return [
- 'id' => $code->id,
- 'text' => $code->info->nickname,
- ];
- });
- $userRet->prepend(['id' => '', 'text' => '']);
-
- return $userRet;
- }
-
-}
+
+ * @Date : 2019/9/18 14:50
+ * @return Grid
+ */
+ protected function grid()
+ {
+ $user = Auth::guard('admin')->user();
+ $grid = new Grid(new User);
+
+ $grid->actions(function ($actions) use ($user) {
+ $actions->disableDelete();
+ $actions->disableView();
+
+ if ($actions->row->identity_id == 1) {
+ $actions->add(new RefD3Key);
+ $actions->add(new ReCode);
+ $actions->add(new Callback);
+ }
+
+ if ($actions->row->identity_id == 1 && $user->id == 1) {
+ $actions->add(new Profit);
+ }
+ });
+
+ $grid->tools(function (Grid\Tools $tools) {
+ // $tools->append(new UserImport);
+ });
+
+ $grid->model()->orderBy('id', 'desc');
+
+ $grid->quickSearch('username')->placeholder('登录账户');
+
+ $grid->filter(function ($filter) {
+ $filter->column(1 / 2, function ($filter) {
+ $filter->like('username', '登录账户');
+ $filter->like('server_id', '渠道编号');
+ $filter->like('outlet_id', '网点编号');
+ $filter->like('PaOutletId', '平安网点id');
+ $filter->between('created_at', '注册时间')->datetime();
+ });
+ $filter->column(1 / 2, function ($filter) {
+ $filter->like('info.nickname', '渠道/网点');
+ $filter->like('server_key', '服务秘钥');
+ $filter->equal('identity.identity_id', '用户身份')->select([
+ ' ' => '全部',
+ '1' => '渠道商',
+ '2' => '网点',
+ ]);
+ $filter->equal('type', '所属项目')->select([
+ ' ' => '全部',
+ 'pingan' => '平安券',
+ 'wo' => '沃支付',
+ ]);
+ });
+ });
+
+ $grid->column('id', '#ID#');
+ $grid->column('username', '登录账户');
+ $grid->column('渠道编号')->display(function () {
+ return $this->server_id;
+ });
+ $grid->column('网点编号')->display(function () {
+ return $this->outlet_id ?? '---';
+ });
+
+ $grid->column('平安网点id')->display(function () {
+ return $this->PaOutletId ?? '---';
+ });
+
+ $grid->column('所属项目')->display(function () {
+ return $this->type_text;
+ });
+
+ $grid->column('回调地址')->display(function ($title, $column) {
+ return '点击查看';
+ })->modal(function ($model) {
+ $data = [
+ [
+ $this->callback,
+ ],
+ ];
+
+ return new Table(['url'], $data);
+
+ });
+
+ $grid->column('密钥')->display(function ($title, $column) {
+ return '点击查看';
+ })->modal(function ($model) {
+ $data = [
+ [
+ '服务秘钥', $model->server_key ?? '---',
+ ],
+ [
+ 'DES3秘钥', $model->des3key ?? '---',
+ ],
+ ];
+
+ return new Table(['名称', '参数'], $data);
+
+ });
+
+ $grid->column('nickname', '渠道/网点');
+ $grid->column('用户身份')->display(function () {
+ if ($this->identity_id == 1) {
+ return "" . $this->identity_text . "
";
+ } else {
+ return $this->identity_text;
+ }
+
+ });
+
+ $grid->column('隶属渠道')->display(function () {
+ return $this->parent ? $this->parent->nickname : '---';
+ });
+
+ $grid->column('分润规则')->display(function ($title, $column) {
+ return '点击展开';
+ })->modal(function ($model) {
+ if ($model->code) {
+ $codes = $model->code->map(function ($code) {
+ return $code->only(['name', 'code', 'profit']);
+ });
+
+ return new Table(['名称', '规则项', '分润金额(元)'], $codes->toArray());
+ }
+
+ });
+
+ $grid->column('created_at', '注册时间');
+ $grid->disableExport(false);
+
+ $grid->export(function ($export) {
+ $export->except(['密钥', '分润规则']);
+ $export->column('用户身份', function ($value, $original) {
+ return strip_tags($value);
+ });
+ $export->column('渠道编号', function ($value, $original) {
+ return $value . "\t";
+ });
+ $export->column('网点编号', function ($value, $original) {
+ return $value . "\t";
+ });
+ $export->filename('用户管理' . date("YmdHis"));
+ });
+
+ return $grid;
+ }
+
+ /**
+ * Notes:
+ * @Author:
+ * @Date : 2019/9/18 14:50
+ * @return Form
+ */
+ protected function form()
+ {
+ $province = Area::where('parent_id', 1)->pluck('name', 'code');
+
+ $form = new Form(new User);
+ $identity = Identity::find(1);
+
+ $form->text('username', '登录账户')
+ ->creationRules(['required', "unique:users", 'max:11'], ['max' => '小于11个字符'])
+ ->updateRules(['required', "unique:users,username,{{id}}"])->required();
+
+ $form->password('password', '登录密码')
+ ->creationRules('required|min:6', [
+ 'required' => '必填',
+ 'min' => '密码不能少于6个字符',
+ ]);
+
+ $form->text('PaOutletId', '平安网点id');
+
+ $form->select('type', '项目')
+ ->options(['pingan' => '平安券和自有券', 'wo' => '沃支付'])
+ ->load('parent_id', '/admin/user/parent')
+ ->required();
+
+ $form->select('parent_id', '隶属渠道')
+ ->options(function ($option, $info) {
+ $user = $this;
+ if (!$option || ($user && $user->identity_id == 2)) {
+ return User::with('info')->whereHas('identity', function ($q) {
+ $q->where('identity_id', 1);
+ })->when(isset($user->id), function ($q) use ($user) {
+ $q->where('type', $user->type);
+ })->orderBy('id', 'desc')->get()->pluck('nickname', 'id');
+ } else {
+ return [0 => '没有隶属渠道'];
+ }
+ })
+ ->default(function ($info) {
+ if ($info->model() && $info->model()->parent) {
+ return $info->model()->parent_id;
+ } else {
+ return 0;
+ }
+ })
+ ->help('未选择隶属渠道创建渠道账号,选择隶属渠道创建网点账号');
+
+ $form->select('province_id', '行政省份')
+ ->options($province)
+ ->load('city_id', '/admin/ajax/areas/children')
+ ->required();
+
+ $form->select('city_id', '行政城市')->options(function ($option, $info) {
+ if ($option) {
+ return Area::whereHas('parent', function ($q) use ($info) {
+ $q->where('code', $this->province_id);
+ })->pluck('name', 'code');
+ }
+ })->load('district_id', '/admin/ajax/areas/children')->required();
+
+ $form->select('district_id', '行政区域')->options(function ($option, $info) {
+ if ($option) {
+ return Area::whereHas('parent', function ($q) use ($info) {
+ $q->where('code', $this->city_id);
+ })->pluck('name', 'code');
+ }
+ })->required();
+
+ $form->divider('用户资料');
+ $form->text('info.nickname', '渠道/网点')->placeholder('请输入渠道/网点名称')->required();
+
+ $form->saved(function (Form $form) {
+ $user_id = $form->model()->id;
+ $user = User::find($user_id);
+ if ($user->identity_id == 1 && $user->code()->count() === 0) {
+ $userCodes = Identity::find(1)->codes->map(function ($code) {
+ return $code->only(['name', 'code', 'profit']);
+ });
+ $user->code()->createMany($userCodes);
+ }
+
+ if ($user->parent_id) {
+ if ($user->server_id != $user->parent->server_id) {
+ $user->server_id = $user->parent->server_id;
+ $user->save();
+ }
+ }
+
+ });
+
+ return $form;
+ }
+
+ /**
+ * 获取隶属
+ * @author 玄尘 2020-03-12
+ * @param Request $request [description]
+ * @return [type] [description]
+ */
+ public function getParent(Request $request)
+ {
+ $type = $request->get('q');
+
+ $users = User::whereHas('identity', function ($query) {
+ $query->where('identity_id', 1);
+ })->get();
+
+ $userRet = $users->map(function ($code) {
+ return [
+ 'id' => $code->id,
+ 'text' => $code->info->nickname,
+ ];
+ });
+ $userRet->prepend(['id' => '', 'text' => '']);
+
+ return $userRet;
+ }
+
+}
diff --git a/config/admin.php b/config/admin.php
index e930396..1ac6c6a 100644
--- a/config/admin.php
+++ b/config/admin.php
@@ -58,9 +58,9 @@ return [
*/
'route' => [
- 'prefix' => env('ADMIN_ROUTE_PREFIX', 'admin'),
+ 'prefix' => env('ADMIN_ROUTE_PREFIX', 'admin'),
- 'namespace' => 'App\\Admin\\Controllers',
+ 'namespace' => 'App\\Admin\\Controllers',
'middleware' => ['web', 'admin'],
],
@@ -110,11 +110,11 @@ return [
*/
'auth' => [
- 'controller' => App\Admin\Controllers\AuthController::class,
+ 'controller' => App\Admin\Controllers\AuthController::class,
- 'guard' => 'admin',
+ 'guard' => 'admin',
- 'guards' => [
+ 'guards' => [
'admin' => [
'driver' => 'session',
'provider' => 'admin',
diff --git a/config/excel.php b/config/excel.php
new file mode 100644
index 0000000..db3fec7
--- /dev/null
+++ b/config/excel.php
@@ -0,0 +1,305 @@
+ [
+
+ /*
+ |--------------------------------------------------------------------------
+ | Chunk size
+ |--------------------------------------------------------------------------
+ |
+ | When using FromQuery, the query is automatically chunked.
+ | Here you can specify how big the chunk should be.
+ |
+ */
+ 'chunk_size' => 1000,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Pre-calculate formulas during export
+ |--------------------------------------------------------------------------
+ */
+ 'pre_calculate_formulas' => false,
+
+ /*
+ |--------------------------------------------------------------------------
+ | CSV Settings
+ |--------------------------------------------------------------------------
+ |
+ | Configure e.g. delimiter, enclosure and line ending for CSV exports.
+ |
+ */
+ 'csv' => [
+ 'delimiter' => ',',
+ 'enclosure' => '"',
+ 'line_ending' => PHP_EOL,
+ 'use_bom' => false,
+ 'include_separator_line' => false,
+ 'excel_compatibility' => false,
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Worksheet properties
+ |--------------------------------------------------------------------------
+ |
+ | Configure e.g. default title, creator, subject,...
+ |
+ */
+ 'properties' => [
+ 'creator' => '',
+ 'lastModifiedBy' => '',
+ 'title' => '',
+ 'description' => '',
+ 'subject' => '',
+ 'keywords' => '',
+ 'category' => '',
+ 'manager' => '',
+ 'company' => '',
+ ],
+ ],
+
+ 'imports' => [
+
+ /*
+ |--------------------------------------------------------------------------
+ | Read Only
+ |--------------------------------------------------------------------------
+ |
+ | When dealing with imports, you might only be interested in the
+ | data that the sheet exists. By default we ignore all styles,
+ | however if you want to do some logic based on style data
+ | you can enable it by setting read_only to false.
+ |
+ */
+ 'read_only' => true,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Heading Row Formatter
+ |--------------------------------------------------------------------------
+ |
+ | Configure the heading row formatter.
+ | Available options: none|slug|custom
+ |
+ */
+ 'heading_row' => [
+ 'formatter' => 'slug',
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | CSV Settings
+ |--------------------------------------------------------------------------
+ |
+ | Configure e.g. delimiter, enclosure and line ending for CSV imports.
+ |
+ */
+ 'csv' => [
+ 'delimiter' => ',',
+ 'enclosure' => '"',
+ 'escape_character' => '\\',
+ 'contiguous' => false,
+ 'input_encoding' => 'UTF-8',
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Worksheet properties
+ |--------------------------------------------------------------------------
+ |
+ | Configure e.g. default title, creator, subject,...
+ |
+ */
+ 'properties' => [
+ 'creator' => '',
+ 'lastModifiedBy' => '',
+ 'title' => '',
+ 'description' => '',
+ 'subject' => '',
+ 'keywords' => '',
+ 'category' => '',
+ 'manager' => '',
+ 'company' => '',
+ ],
+
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Extension detector
+ |--------------------------------------------------------------------------
+ |
+ | Configure here which writer/reader type should be used when the package
+ | needs to guess the correct type based on the extension alone.
+ |
+ */
+ 'extension_detector' => [
+ 'xlsx' => Excel::XLSX,
+ 'xlsm' => Excel::XLSX,
+ 'xltx' => Excel::XLSX,
+ 'xltm' => Excel::XLSX,
+ 'xls' => Excel::XLS,
+ 'xlt' => Excel::XLS,
+ 'ods' => Excel::ODS,
+ 'ots' => Excel::ODS,
+ 'slk' => Excel::SLK,
+ 'xml' => Excel::XML,
+ 'gnumeric' => Excel::GNUMERIC,
+ 'htm' => Excel::HTML,
+ 'html' => Excel::HTML,
+ 'csv' => Excel::CSV,
+ 'tsv' => Excel::TSV,
+
+ /*
+ |--------------------------------------------------------------------------
+ | PDF Extension
+ |--------------------------------------------------------------------------
+ |
+ | Configure here which Pdf driver should be used by default.
+ | Available options: Excel::MPDF | Excel::TCPDF | Excel::DOMPDF
+ |
+ */
+ 'pdf' => Excel::DOMPDF,
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Value Binder
+ |--------------------------------------------------------------------------
+ |
+ | PhpSpreadsheet offers a way to hook into the process of a value being
+ | written to a cell. In there some assumptions are made on how the
+ | value should be formatted. If you want to change those defaults,
+ | you can implement your own default value binder.
+ |
+ | Possible value binders:
+ |
+ | [x] Maatwebsite\Excel\DefaultValueBinder::class
+ | [x] PhpOffice\PhpSpreadsheet\Cell\StringValueBinder::class
+ | [x] PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder::class
+ |
+ */
+ 'value_binder' => [
+ 'default' => Maatwebsite\Excel\DefaultValueBinder::class,
+ ],
+
+ 'cache' => [
+ /*
+ |--------------------------------------------------------------------------
+ | Default cell caching driver
+ |--------------------------------------------------------------------------
+ |
+ | By default PhpSpreadsheet keeps all cell values in memory, however when
+ | dealing with large files, this might result into memory issues. If you
+ | want to mitigate that, you can configure a cell caching driver here.
+ | When using the illuminate driver, it will store each value in a the
+ | cache store. This can slow down the process, because it needs to
+ | store each value. You can use the "batch" store if you want to
+ | only persist to the store when the memory limit is reached.
+ |
+ | Drivers: memory|illuminate|batch
+ |
+ */
+ 'driver' => 'memory',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Batch memory caching
+ |--------------------------------------------------------------------------
+ |
+ | When dealing with the "batch" caching driver, it will only
+ | persist to the store when the memory limit is reached.
+ | Here you can tweak the memory limit to your liking.
+ |
+ */
+ 'batch' => [
+ 'memory_limit' => 60000,
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Illuminate cache
+ |--------------------------------------------------------------------------
+ |
+ | When using the "illuminate" caching driver, it will automatically use
+ | your default cache store. However if you prefer to have the cell
+ | cache on a separate store, you can configure the store name here.
+ | You can use any store defined in your cache config. When leaving
+ | at "null" it will use the default store.
+ |
+ */
+ 'illuminate' => [
+ 'store' => null,
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Transaction Handler
+ |--------------------------------------------------------------------------
+ |
+ | By default the import is wrapped in a transaction. This is useful
+ | for when an import may fail and you want to retry it. With the
+ | transactions, the previous import gets rolled-back.
+ |
+ | You can disable the transaction handler by setting this to null.
+ | Or you can choose a custom made transaction handler here.
+ |
+ | Supported handlers: null|db
+ |
+ */
+ 'transactions' => [
+ 'handler' => 'db',
+ ],
+
+ 'temporary_files' => [
+
+ /*
+ |--------------------------------------------------------------------------
+ | Local Temporary Path
+ |--------------------------------------------------------------------------
+ |
+ | When exporting and importing files, we use a temporary file, before
+ | storing reading or downloading. Here you can customize that path.
+ |
+ */
+ 'local_path' => storage_path('framework/laravel-excel'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Remote Temporary Disk
+ |--------------------------------------------------------------------------
+ |
+ | When dealing with a multi server setup with queues in which you
+ | cannot rely on having a shared local temporary path, you might
+ | want to store the temporary file on a shared disk. During the
+ | queue executing, we'll retrieve the temporary file from that
+ | location instead. When left to null, it will always use
+ | the local path. This setting only has effect when using
+ | in conjunction with queued imports and exports.
+ |
+ */
+ 'remote_disk' => null,
+ 'remote_prefix' => null,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Force Resync
+ |--------------------------------------------------------------------------
+ |
+ | When dealing with a multi server setup as above, it's possible
+ | for the clean up that occurs after entire queue has been run to only
+ | cleanup the server that the last AfterImportJob runs on. The rest of the server
+ | would still have the local temporary file stored on it. In this case your
+ | local storage limits can be exceeded and future imports won't be processed.
+ | To mitigate this you can set this config value to be true, so that after every
+ | queued chunk is processed the local temporary file is deleted on the server that
+ | processed it.
+ |
+ */
+ 'force_resync_remote' => null,
+ ],
+];