作者 刘锟

import_task

<?php
namespace App\Http\Controllers\Bside\Import;
use App\Enums\Common\Code;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Bside\Import\ImportLogic;
use App\Http\Requests\Bside\Import\ImportTaskRequest;
/**
* 新闻、博客、商品导入
* Class ImportController
* @package App\Http\Controllers\Bside\Import
*/
class ImportController extends BaseController
{
/**
* 新增导入任务
* @param ImportTaskRequest $request
* @param ImportLogic $logic
* @throws \App\Exceptions\AsideGlobalException
* @throws \App\Exceptions\BsideGlobalException
* @author Akun
* @date 2023/09/20 11:36
*/
public function save(ImportTaskRequest $request,ImportLogic $logic)
{
$request->validated();
$logic->addImportTask();
$this->response('success', Code::SUCCESS);
}
}
... ...
<?php
namespace App\Http\Logic\Bside\Import;
use App\Http\Logic\Bside\BaseLogic;
use App\Models\Import\ImportTask;
class ImportLogic extends BaseLogic
{
public function __construct()
{
parent::__construct();
$this->param = $this->requestAll;
$this->model = new ImportTask();
}
/**
* 新增导入任务
* @return array
* @throws \App\Exceptions\AsideGlobalException
* @throws \App\Exceptions\BsideGlobalException
* @author Akun
* @date 2023/09/20 11:17
*/
public function addImportTask()
{
$this->param['project_id'] = $this->user['project_id'];
$this->param['user_id'] = $this->user['id'];
$rs = $this->model->add($this->param);
if($rs === false){
$this->fail('error');
}
return $this->success();
}
}
... ...
<?php
namespace App\Http\Requests\Bside\Import;
use App\Models\Import\ImportTask;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
/**
* 产品新闻博客导入任务
* @author:akun
* @time 2023/9/20 11:32
* Class NavRequest
* @package App\Http\Requests\Bside\Nav
*/
class ImportTaskRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'type' => ['required', Rule::in([ImportTask::TYPE_PROJECT, ImportTask::TYPE_NEWS, ImportTask::TYPE_BLOG])],
'file_url' => ['required'],
];
}
public function messages()
{
return [
'type.required' => '导入类型必须',
'type.in' => '导入类型错误',
'file_url.required' => '文件地址必须',
];
}
}
... ...
<?php
namespace App\Models\Import;
use App\Models\Base;
class ImportTask extends Base
{
protected $table = 'gl_import_task';
const STATUS_UN = 0;//未开始
const STATUS_ING = 1;//导入中
const STATUS_COM = 2;//导入完成
const TYPE_PROJECT = 1;//产品
const TYPE_NEWS = 2;//新闻
const TYPE_BLOG = 3;//博客
}
... ...